1인 이상의 팀

프로젝트 저장소 로컬 사본에 이미 설정된 원격 설정이 있는지 살펴보자.

snippet.shell
git remote --verbose

모든 로컬 브랜치를 다른 이들과 공유하고 싶다면 다음 명령어를 사용한다.

snippet.shell
git push --all origin

공교롭게도 또 히스토리 재작성하기

작업 진행 상황을 중앙 서버에서 공개하고 있다면 작업을 리베이스할 때 주의해야 한다. 커밋이 리베이스되면 수정된 커밋 객체의 메타데이터에 새로운 확인자가 할당된다. 예컨데 브랜치를 최신 상태로 업데이트하면 로컬 커밋은 새 부모와 새 ID를 갖게 되는 것이다. 브랜치 히스토리를 정리하려고 두 개의 커밋을 하나로 합쳤다면 내용이 바뀌지 않았다 해도 합쳐진 커밋 객체에 새 ID가 할당된다. 이런 이중 타임라인이 생기면 Git이 착각해 충돌이 일어날 수 있다. 이와 같은 충돌을 피하려면 티켓 브랜치 같이 한시적인 브랜치에만 인터랙티브 리베이싱을 사용하는 것이 좋다.

훌륭한 커밋 객체는 다음과 같은 특성이 있다.

내가 들어본 최상의 커밋 메시지 작성 규칙은 “미래의 내가 과거의 나에게 게을렀다고 화내지 못할 정도”로 작성하는 것이다. 커밋 메시지에는 다음과 같은 사항을 포함해야 한다.


관련 문서