/
https://42jerrykim.github.io/ _index.md
git commit이 스테이징 영역을 저장소에 스냅샷으로 기록하는 방식, 좋은 커밋 메시지의 제목/본문 관례, --amend로 마지막 커밋을 고치는 법과 그 위험을 정리한 Git 챕터다.
git log의 기본 출력을 읽는 법, --oneline·--graph·--stat 같은 자주 쓰는 조합, 작성자·날짜·경로로 히스토리를 필터링하는 방법을 정리한 Git 챕터다.
.gitignore 패턴 문법(와일드카드, 디렉터리 전용 표기, 부정 패턴), 이미 추적 중인 파일에는 무시 규칙이 적용되지 않는 이유, 전역 gitignore와 저장소별 규칙의 관계를 정리한 Git 챕터다.
Git 브랜치가 커밋을 가리키는 가벼운 포인터에 불과하다는 실체, git branch로 브랜치를 만들고 목록을 보고 삭제하는 법, 브랜치가 저비용인 이유를 정리한 Git 3부 첫 챕터다.
git switch로 브랜치를 전환하는 법과, 오래된 git checkout이 브랜치 전환·파일 복원·커밋 체크아웃을 한 명령에 묶어 생긴 혼란, detached HEAD 상태가 위험하지 않은 이유를 정리한 Git 챕터다.
git merge가 두 브랜치의 히스토리를 하나로 합치는 기본 사용법, 병합 충돌이 발생하는 조건과 <<<<<<< 마커를 읽고 해결하는 절차, 병합 커밋의 구조를 정리한 Git 챕터다.
브랜치 하나가 다른 브랜치의 직계 후손일 때 일어나는 fast-forward 병합과, 두 브랜치가 각자 갈라져 커밋했을 때 필요한 3-way merge의 차이, --no-ff로 fast-forward를 강제로 막는 이유를 정리한 Git 챕터다.
git rebase가 커밋을 다른 브랜치 끝에 재적용해 직선 히스토리를 만드는 원리, 병합과 결과가 다른 이유, 리베이스 중 발생하는 충돌 해결 절차와 --onto의 기본 개념을 정리한 Git 챕터다.
13-15장에서 다룬 merge와 rebase를 실무에서 언제 선택할지, 공유 브랜치와 개인 브랜치를 나누는 기준, 두 방식을 함께 쓰는 팀 워크플로 패턴을 정리한 Git 3부 마무리 챕터다.
git remote로 원격 저장소를 등록·조회·삭제하는 법, origin이라는 이름이 관례일 뿐인 이유, HTTPS와 SSH 두 프로토콜의 차이와 여러 원격을 함께 쓰는 fork 시나리오를 정리한 Git 4부 첫 챕터다.