Featured image of post [Git] 13. git merge — 병합과 충돌 해결

[Git] 13. git merge — 병합과 충돌 해결

git merge가 두 브랜치의 히스토리를 하나로 합치는 기본 사용법, 병합 충돌이 발생하는 조건과 <<<<<<< 마커를 읽고 해결하는 절차, 병합 커밋의 구조를 정리한 Git 챕터다.

Featured image of post [Git] 14. Fast-forward vs 3-way merge

[Git] 14. Fast-forward vs 3-way merge

브랜치 하나가 다른 브랜치의 직계 후손일 때 일어나는 fast-forward 병합과, 두 브랜치가 각자 갈라져 커밋했을 때 필요한 3-way merge의 차이, --no-ff로 fast-forward를 강제로 막는 이유를 정리한 Git 챕터다.

Featured image of post [Git] 15. git rebase — 히스토리 재배치

[Git] 15. git rebase — 히스토리 재배치

git rebase가 커밋을 다른 브랜치 끝에 재적용해 직선 히스토리를 만드는 원리, 병합과 결과가 다른 이유, 리베이스 중 발생하는 충돌 해결 절차와 --onto의 기본 개념을 정리한 Git 챕터다.

Featured image of post [Git] 16. merge vs rebase 선택 기준

[Git] 16. merge vs rebase 선택 기준

13-15장에서 다룬 merge와 rebase를 실무에서 언제 선택할지, 공유 브랜치와 개인 브랜치를 나누는 기준, 두 방식을 함께 쓰는 팀 워크플로 패턴을 정리한 Git 3부 마무리 챕터다.

Featured image of post [Git] 17. git remote — 원격 저장소 등록

[Git] 17. git remote — 원격 저장소 등록

git remote로 원격 저장소를 등록·조회·삭제하는 법, origin이라는 이름이 관례일 뿐인 이유, HTTPS와 SSH 두 프로토콜의 차이와 여러 원격을 함께 쓰는 fork 시나리오를 정리한 Git 4부 첫 챕터다.

Featured image of post [Git] 18. git clone

[Git] 18. git clone

git clone이 원격 저장소의 전체 히스토리를 로컬에 복제하는 과정, 클론 직후 자동으로 설정되는 origin과 추적 브랜치, --depth를 이용한 shallow clone의 트레이드오프를 정리한 Git 챕터다.

Featured image of post [Git] 19. git fetch vs git pull

[Git] 19. git fetch vs git pull

git fetch가 원격 데이터만 받아와 안전하게 검토할 여지를 남기는 것과 달리 git pull이 fetch 직후 자동으로 merge(또는 rebase)까지 실행한다는 차이, pull.rebase 설정으로 기본 동작을 바꾸는 법을 정리한 Git 챕터다.

Featured image of post [Git] 20. git push와 upstream 추적

[Git] 20. git push와 upstream 추적

git push로 로컬 커밋을 원격에 반영하는 법, -u 옵션으로 로컬·원격 브랜치의 upstream 추적 관계를 설정하는 이유, push가 거부되는 경우와 --force-with-lease의 안전성을 정리한 Git 챕터다.

Featured image of post [Git] 21. Fork와 Pull Request 워크플로(GitHub Flow)

[Git] 21. Fork와 Pull Request 워크플로(GitHub Flow)

Fork로 저장소를 복제해 기여 권한 없이도 변경을 제안하는 구조, Pull Request가 코드 리뷰와 병합을 잇는 방식, GitHub Flow의 단순한 규칙(main은 항상 배포 가능)을 정리한 Git 4부 마무리 챕터다.

Featured image of post [Git] 22. git tag — 릴리스 태깅

[Git] 22. git tag — 릴리스 태깅

git tag로 특정 커밋에 릴리스 버전 같은 영구적인 이름을 붙이는 법, 가벼운 태그와 주석 달린(annotated) 태그의 차이, 태그를 원격에 push하는 별도 절차를 정리한 Git 4부 마무리 챕터다.