대화형 리베이스로 기록 편집
대화형 리베이스는 선택한 커밋 위에 있는 커밋을 다시 작성합니다. 즉, 각 커밋을 유지, 수정, 편집, 스쿼시, 수정 또는 삭제하고 git rebase -i과 같은 새로운 순서로 드래그합니다. 단일 변경의 경우 커밋 메뉴의 Edit History가 한 단계로 수행됩니다.
GitTree 무료로 작동: 로그인하면 모든 로컬 Git 기능이 제공됩니다.
시작하기 전에
- 다시 작성할 커밋은 현재 브랜치에 있으며 병합 커밋은 없습니다.
- 푸시하지 않은 커밋을 선호합니다. 다시 작성된 커밋은 새 ID를 얻습니다.
어디서 찾을 수 있나요?
- 변경할 커밋 바로 아래에 있는 커밋(Edit History › Interactive Rebase of the Commits Above…)을 마우스 오른쪽 버튼으로 클릭합니다.
- 동일한 Edit History 메뉴(Edit Commit Message…, Drop Commit…, Move Commit Up 및 Move Commit Down)에서 한 번에 편집할 수 있습니다.
- 여러 커밋을 선택한 다음 Squash Commits…을(를) 마우스 오른쪽 버튼으로 클릭하세요.
| 액션 | macOS | Windows 및 Linux |
|---|---|---|
| Undo 전체 리베이스 | ⌘Z | Ctrl+Z |
단계
편집기 열기
변경할 커밋 아래에 있는 커밋을 마우스 오른쪽 버튼으로 클릭하고 Edit History › Interactive Rebase of the Commits Above…를 선택합니다. 가장 오래된 커밋이 재생된 순서대로 맨 위에 표시됩니다.

각 단계에는 작업이 있습니다. 여기서 하나의 커밋은 위의 커밋으로 압축되고 다른 커밋은 다시 작성됩니다.데모 저장소와의 GitTree 인터페이스입니다. 각 커밋에 대한 작업 선택
각 단계에서 Action를 설정합니다. Pick는 이를 유지하고, Reword는 메시지를 변경하고, Edit는 수정할 수 있도록 거기서 중지하고, Squash 및 Fixup 위의 커밋에 접어 넣고, Drop는 생략합니다.
필요한 경우 재정렬
핸들을 이용해 단계를 끌거나 초점을 맞추고 Alt+↑ 또는 Alt+↓를 누릅니다. 문자도 작동합니다. p, r, e, s, f 및 d가 동작을 설정합니다.
리베이스 시작
Start Rebase를 누르세요. 일부 커밋이 이미 원격에 있는 경우 먼저 다시 작성했는지 확인하세요. GitTree님은 Rebase finished. Undo can put the branch back.님을 말합니다.
예상되는 결과
브랜치는 새 ID를 사용하여 다시 작성된 커밋을 보유합니다. 이전 분기는 refs/ogt/trash 아래에 유지됩니다.
각 작업의 역할
| 액션 | 결과 |
|---|---|
| Pick | 커밋은 그대로 유지됩니다. |
| Reword | 동일한 변경 사항, 편집기에 새 메시지를 입력합니다. |
| Edit | 이 커밋 후에 리베이스가 중지되므로 이를 수정할 수 있으며 배너에서 계속할 수 있습니다. |
| Squash | 위의 커밋에 접혔습니다. 메시지가 결합됩니다. |
| Fixup | 위의 커밋에 접혔습니다. 자체 메시지는 삭제됩니다. Fixup, use its message은(는) 이 사람의 메시지를 대신 보관합니다. |
| Drop | 지점에서 제외되었습니다. |
뭔가 잘못되면
"이러한 커밋에는 병합이 포함되어 있으므로 여기에만 표시될 수 있고 다시 작성할 수는 없습니다."
GitTree의 대화형 리베이스는 선형 기록만 다시 작성합니다. 병합 위의 커밋에서 시작합니다.
"단계... 아무것도 없게 됩니다. 유지된 커밋 아래로 이동합니다."
스쿼시 또는 수정을 접으려면 그 위에 커밋이 필요합니다. 이동하거나 첫 번째 단계를 선택으로 변경하세요.
질문
여러 커밋을 하나로 어떻게 바꾸나요?
그래프에서 선택하고 Squash Commits…을 선택합니다. Squash 대화상자에 결과, 메시지 및 공동 작성자가 먼저 표시됩니다. 또는 편집기에서 첫 번째 커밋 이후의 모든 커밋을 Squash 또는 Fixup로 설정하세요.