변경 사항 다루기

Absorb

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

Absorb는 그 정직한 일을 대신 해 줘요.

스테이징된 각 헝크를 그것을 만든 커밋으로 보내는 Absorb

작동 방식

  1. 수정한 내용을 스테이징하세요.
  2. 도구 → 스테이징된 변경 흡수… (또는 ⌘K).
  3. Gitcito가 스테이징된 각 헝크가 건드리는 줄을 blame해서 아직 푸시하지 않은 내 커밋들 중 어느 것이 그 줄을 만들었는지 찾아내고, 아무 일도 하기 전에 계획을 먼저 보여 줘요.

계획에는 대상 커밋마다 그리로 향하는 헝크가 함께 나오고, 아직 어디에도 속하지 않음 그룹도 하나 있어요. 갓 만든 파일에는 흡수되어 들어갈 히스토리가 없으니, 평소처럼 직접 커밋할 수 있게 스테이징된 채로 남아요.

버튼 무슨 일이 일어나나
fixup 만들기 대상마다 fixup! 커밋 하나씩. 리베이스는 하지 않아요.
fixup 만들고 리베이스 위와 같고, 이어서 autosquash 리베이스가 접어 넣어요.

지키는 규칙들

  • 후보는 푸시하지 않은 커밋뿐이에요. 이미 공개된 것은 우리가 다시 쓸 물건이 아니니까요. 전부 푸시된 상태라면 absorb는 그렇다고 말하고 아무것도 하지 않아요.
  • 작업 트리는 절대 건드리지 않아요. 인덱스와, absorb가 직접 만든 커밋만 건드려요.
  • 실패해도 어질러 놓지 않아요. 어느 단계에서든 실패하면 HEAD와 인덱스는 원래 있던 그대로 되돌아가요.
  • 머지나 리베이스 도중에는 실행을 거부해요 — 그 인덱스는 git의 것이니까요.

함께 보기: 대화형 리베이스 · 스테이징

GitHub에서 이 번역 개선하기