Git

[Git] - amend commit이란?

nam_ji 2025. 3. 6. 13:48

Git amend commit 개념 및 사용법

amend commit

  • 프로젝트 진행하면서 커밋 후 작은 수정 사항이 생겼을 때 똑같은 내용을 커밋 하기에는 쓸데 없는 로그가 많이 남는 것을 느낄 수 있습니다.
  • 그래서 나온 게 amend commit입니다.
  • amend를 이용하여 commit 마무리 하기 전의 시간으로 거슬러 올라가 수정하는 것과 같습니다.
  • 여기서 중요한 건 commit한 상태만 적용 된다는 것입니다.
  • 보통 IDE 도구들에 깃 커밋을 위한 공간에 Amend를 체크할 수 있도록 되어 있기 때문에 이걸 사용해서 amend commit을 해도 됩니다.
  • 아래는 명령어로 amend commit을 사용하는 방법을 알아보겠습니다.

git에서 사용하기

  • amend는 마지막 커밋에 추가할 사항이 있는 경우 (메시지, 코드, 파일 등) 마지막 커밋에 덮어씌우는 옵션입니다.
  • 만약 last commit이라는 마지막 커밋을 하고 그 뒤에 파일을 업로드 하고 싶다면, git에 원하는 파일을 추가하고 -> --amend 옵션을 넣어 커밋하면 됩니다.
    • git add .
    • git commit --amend -m "amend last commit"
  • 이렇게 되면 git log에 아래와 같이 나타날 것입니다.
    •  터미널에 git log 입력 시
      commit [새로운 커밋 해시]
      Author [커밋한 사용자의 이름과 이메일]
      Date [커밋 날짜와 시간]
               amend last commit

주의 사항

  • 여기서 중요한 점은 --amend 옵션을 사용하면 새로운 커밋 해시가 생성되며, 이는 기존 커밋을 대체한다는 것을 의미합니다.
  • 즉, 이전 커밋이 마치 존재하지 않았던 것처럼 보이게 한다는 것입니다. 만약 이 커밋이 리모트 저장소에 이미 푸시되었다면, 수정된 커밋을 다시 푸시할 때 --force 옵션을 사용하여 강제로 푸시해야 할 수도 있습니다.
  • 그렇기 때문에 협업하는 환경에서는 주의해서 사용해야 합니다.