콘텐츠로 건너뛰기
GitTree
역사와 회복

대화형 리베이스로 기록 편집

대화형 리베이스는 선택한 커밋 위에 있는 커밋을 다시 작성합니다. 즉, 각 커밋을 유지, 수정, 편집, 스쿼시, 수정 또는 삭제하고 git rebase -i과 같은 새로운 순서로 드래그합니다. 단일 변경의 경우 커밋 메뉴의 Edit History가 한 단계로 수행됩니다.

무료업데이트됨

GitTree 무료로 작동: 로그인하면 모든 로컬 Git 기능이 제공됩니다.

이 페이지에서
  1. 시작하기 전에
  2. 어디서 찾을 수 있나요?
  3. 단계
  4. 예상되는 결과
  5. 각 작업의 역할
  6. 뭔가 잘못되면
  7. 질문
  8. 관련된

시작하기 전에

  • 다시 작성할 커밋은 현재 브랜치에 있으며 병합 커밋은 없습니다.
  • 푸시하지 않은 커밋을 선호합니다. 다시 작성된 커밋은 새 ID를 얻습니다.

어디서 찾을 수 있나요?

  • 변경할 커밋 바로 아래에 있는 커밋(Edit History › Interactive Rebase of the Commits Above…)을 마우스 오른쪽 버튼으로 클릭합니다.
  • 동일한 Edit History 메뉴(Edit Commit Message…, Drop Commit…, Move Commit Up 및 Move Commit Down)에서 한 번에 편집할 수 있습니다.
  • 여러 커밋을 선택한 다음 Squash Commits…을(를) 마우스 오른쪽 버튼으로 클릭하세요.
액션macOSWindows 및 Linux
Undo 전체 리베이스⌘ZCtrl+Z

단계

  1. 편집기 열기

    변경할 커밋 아래에 있는 커밋을 마우스 오른쪽 버튼으로 클릭하고 Edit History › Interactive Rebase of the Commits Above…를 선택합니다. 가장 오래된 커밋이 재생된 순서대로 맨 위에 표시됩니다.

    애니메이션: 대화형 리베이스 편집기가 열리고 커밋 하나는 Squash로 설정되고 다른 커밋은 Reword로 설정됩니다.
    각 단계에는 작업이 있습니다. 여기서 하나의 커밋은 위의 커밋으로 압축되고 다른 커밋은 다시 작성됩니다.데모 저장소와의 GitTree 인터페이스입니다.
  2. 각 커밋에 대한 작업 선택

    각 단계에서 Action를 설정합니다. Pick는 이를 유지하고, Reword는 메시지를 변경하고, Edit는 수정할 수 있도록 거기서 중지하고, Squash 및 Fixup 위의 커밋에 접어 넣고, Drop는 생략합니다.

  3. 필요한 경우 재정렬

    핸들을 이용해 단계를 끌거나 초점을 맞추고 Alt+↑ 또는 Alt+↓를 누릅니다. 문자도 작동합니다. p, r, e, s, f 및 d가 동작을 설정합니다.

  4. 리베이스 시작

    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로 설정하세요.