Git에서 특정 커밋 수정

John Wachira 2024년2월15일
Git에서 특정 커밋 수정

이 기사는 Git에서 특정 커밋을 수정하는 방법을 보여줍니다. 커밋에 파일의 이름을 바꾸거나 스쿼시, 편집 또는 추가해야 할 수 있습니다.

가장 좋은 방법은 대화식 모드에서 git rebase 명령을 사용하는 것입니다. 어떻게 하시겠습니까?

Git에서 특정 커밋 수정

커밋을 수정하려면 대화형 모드에서 git rebase를 실행해야 합니다. 예를 들어 시연해 보겠습니다.

git log –oneline

아래 명령을 실행하여 대화식 모드에서 git rebase를 실행합니다.

$ git rebase -i HEAD~10

git rebase

보시다시피 커밋을 수정하는 데 사용할 수 있는 몇 가지 명령이 있습니다.

옵션을 빠르게 살펴보겠습니다.

  1. pick - 커밋 기록을 재정렬하는 데 사용합니다.
  2. reword - 커밋 메시지를 변경하고 싶을 때 사용합니다. 커밋에 의해 도입된 변경 사항에는 영향을 미치지 않습니다.
  3. 편집 - 커밋을 수정하거나 수정할 때 사용합니다. 커밋을 더 작은 커밋으로 분할하거나 커밋으로 인해 발생한 오류를 제거할 수 있습니다.
  4. squash - 두 커밋을 하나로 결합하는 데 사용하고 새 커밋에 새 메시지를 줄 수 있는 기회를 제공합니다.
  5. fixup - 병합된 커밋에 대한 메시지를 버리고 그 위에 있는 메시지를 사용한다는 점을 제외하면 squash와 동일합니다.

커밋을 수정하려면 pick을 위의 옵션 중 하나로 대체합니다. 커밋 중 하나의 이름을 변경해 보겠습니다.

8c1cefc My Commit Message 커밋을 reword하고 세 가지 코드 수정 사항을 스쿼시합니다.

커밋 수정

편집 후 텍스트 편집기를 종료하여 리베이스를 완료할 수 있습니다. Git은 커밋에 새 메시지를 제공할 수 있도록 텍스트 편집기를 다시 엽니다.

Git은 스쿼시 커밋에 커밋 메시지를 제공할 수 있도록 편집기를 한 번 더 엽니다.

이 시점에서 병합 충돌이 발생할 수 있습니다. 충돌을 수동으로 해결하고 변경 사항을 커밋해야 합니다.

변경 사항을 커밋하기 위해 아래와 같이 --amend 플래그와 함께 git commit을 실행합니다.

$ git commit --amend --all --no-edit

마지막 단계는 아래 명령으로 리베이스를 마무리하는 것입니다.

$ git rebase --continue

이렇게 하면 리베이스가 완료되고 선택한 커밋이 수정됩니다.

간단히 말해서 대화식 모드에서 rebase를 실행하여 Git에서 커밋을 수정할 수 있습니다. 커밋을 수정하기 위해 대화식 모드에서 사용할 수 있는 몇 가지 명령이 있습니다.

변경 사항을 커밋할 때 --amend 플래그를 사용하십시오.

작가: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

관련 문장 - Git Commit