7. 정리
- 원격은 다른 저장소를 가리키는 별명이고,
git remote -v·add·rename·remove·set-url 로 관리합니다.
- 원격 추적 브랜치(
origin/main)는 내가 아니라 fetch·push 가 갱신하는 스냅샷입니다.
fetch 는 받기만, pull 은 받고 병합까지 합니다. pull.ff only 로 뜻밖의 병합 커밋을 막습니다.
- push 거부는 원격에 내가 모르는 커밋이 있다는 신호이며,
fetch 후 merge·rebase 로 대응하고 --force 대신 --force-with-lease 를 씁니다.
- bare 저장소는 작업 트리 없이 push·fetch 를 주고받는 중계 지점이며, 사내 서버 역할을 합니다.
- 네트워크가 없는 폐쇄망에서는
git bundle 로 저장소 전체·증분을, git archive 로 소스 스냅샷만 옮깁니다.
- 다음은 rebase 와 cherry-pick 으로 히스토리를 정리하는 방법입니다.