Git 커밋은 저장소의 한 시점 상태와 부모 관계, 작성 정보, 메시지를 기록하는 객체이다. 브랜치는 보통 최신 커밋을 가리키는 참조로 이동한다.
Git 작업 흐름 |
|---|
Git · Git 스테이징 영역 · Git 커밋 · Git 브랜치 · Git 병합 |
Git 리베이스 · Git stash · Git 태그 · Git revert · Git bisect |
원리
일반적인 git commit은 인덱스 내용을 바탕으로 새 커밋을 만든다. 부모 연결을 따라 변경의 계보를 추적할 수 있으며 병합 커밋은 부모가 여러 개일 수 있다.
예시
하나의 오류 수정과 관련 테스트를 함께 커밋하면 그 변경을 검토하거나 되돌릴 단위가 분명해진다. 메시지에는 바꾼 이유를 기록할 수 있다.
주의할 점
커밋했다고 원격 저장소로 전송되지는 않는다. amend처럼 이미 만든 기록을 다시 구성하는 작업은 커밋 식별자를 바꾸므로 공유된 이력인지 확인해야 한다.