Git에서 특정 커밋 수정
이 기사는 Git에서 특정 커밋을 수정하는 방법을 보여줍니다. 커밋에 파일의 이름을 바꾸거나 스쿼시, 편집 또는 추가해야 할 수 있습니다.
가장 좋은 방법은 대화식 모드에서 git rebase
명령을 사용하는 것입니다. 어떻게 하시겠습니까?
Git에서 특정 커밋 수정
커밋을 수정하려면 대화형 모드에서 git rebase
를 실행해야 합니다. 예를 들어 시연해 보겠습니다.
아래 명령을 실행하여 대화식 모드에서 git rebase
를 실행합니다.
$ git rebase -i HEAD~10
보시다시피 커밋을 수정하는 데 사용할 수 있는 몇 가지 명령이 있습니다.
옵션을 빠르게 살펴보겠습니다.
pick
- 커밋 기록을 재정렬하는 데 사용합니다.reword
- 커밋 메시지를 변경하고 싶을 때 사용합니다. 커밋에 의해 도입된 변경 사항에는 영향을 미치지 않습니다.편집
- 커밋을 수정하거나 수정할 때 사용합니다. 커밋을 더 작은 커밋으로 분할하거나 커밋으로 인해 발생한 오류를 제거할 수 있습니다.squash
- 두 커밋을 하나로 결합하는 데 사용하고 새 커밋에 새 메시지를 줄 수 있는 기회를 제공합니다.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 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