Absorb
리뷰 코멘트 세 개를 세 파일에 걸쳐 고쳤어요. 정직한 방법은 각각 알맞은 부모를
겨냥한 fixup! 커밋 세 개예요. 하지만 사람들이 실제로 하는 건 "review fixes"라는
이름의 커밋 하나죠.
Absorb는 그 정직한 일을 대신 해 줘요.

작동 방식
- 수정한 내용을 스테이징하세요.
- 도구 → 스테이징된 변경 흡수… (또는 ⌘K).
- Gitcito가 스테이징된 각 헝크가 건드리는 줄을 blame해서 아직 푸시하지 않은 내 커밋들 중 어느 것이 그 줄을 만들었는지 찾아내고, 아무 일도 하기 전에 계획을 먼저 보여 줘요.
계획에는 대상 커밋마다 그리로 향하는 헝크가 함께 나오고, 아직 어디에도 속하지 않음 그룹도 하나 있어요. 갓 만든 파일에는 흡수되어 들어갈 히스토리가 없으니, 평소처럼 직접 커밋할 수 있게 스테이징된 채로 남아요.
| 버튼 | 무슨 일이 일어나나 |
|---|---|
| fixup 만들기 | 대상마다 fixup! 커밋 하나씩. 리베이스는 하지 않아요. |
| fixup 만들고 리베이스 | 위와 같고, 이어서 autosquash 리베이스가 접어 넣어요. |
지키는 규칙들
- 후보는 푸시하지 않은 커밋뿐이에요. 이미 공개된 것은 우리가 다시 쓸 물건이 아니니까요. 전부 푸시된 상태라면 absorb는 그렇다고 말하고 아무것도 하지 않아요.
- 작업 트리는 절대 건드리지 않아요. 인덱스와, absorb가 직접 만든 커밋만 건드려요.
- 실패해도 어질러 놓지 않아요. 어느 단계에서든 실패하면 HEAD와 인덱스는 원래 있던 그대로 되돌아가요.
- 머지나 리베이스 도중에는 실행을 거부해요 — 그 인덱스는 git의 것이니까요.