왜 필요한가

여행 일정 웹사이트에서 친구들이 날짜별 방문지를 정합니다. 개발자는 오프라인에서도 실험을 나누고 싶습니다. 로컬 이력과 Git 호환 호스팅이 우선이며, 기존 SVN 도구 유지가 우선이라면 Subversion이 맞습니다.

어떻게 해결하는가

로컬 브랜치에 새 방문지를 커밋해도 원격에는 아직 없습니다. 연결 후 브랜치를 push하고 동료가 fetch합니다. 양쪽 이력을 확인하며 push가 거절되면 이력을 조정합니다.

여행 방문지가 로컬 이력에서 공유 브랜치로 이동

여행 일정 사이트 · 흐름 예시

여기에 기록, 준비되면 공유

01 / 개발자 컴퓨터

편집: 박물관 방문 추가

git commit ↓ 로컬 기록

main · 기존 일정

museum-stop
새 커밋: 박물관 방문

로컬 커밋은 오프라인에서도 가능
02 / git push →연결 + 권한

공유 저장소

push 전: 새 방문지 없음

push 성공 후
museum-stop

03 / git fetch ↓
동료가 브랜치를 받음

commit ≠ push. push가 거절되면 이력을 조정합니다. 호스팅과 검토는 별도 선택입니다.

무엇이라 부르는가

Git은 분산 버전 관리 시스템입니다. commit은 로컬에 기록하고 push는 다른 저장소와 공유합니다. GitHub 같은 호스팅은 Git에 협업 기능을 더합니다. 충돌 해결에는 판단이 필요합니다.

출처