반응형
이번 포스팅에서는 [실전 활용 및 고급 기술] 파트의 세부 주제인 최근 커밋 덮어쓰기 및 편집 (Amend)에 대하여 상세히 알아보겠습니다.

1. 방금 한 실수 만회하기 (--amend)
커밋을 남기고 엔터를 치는 순간 오타를 발견하거나 변경 파일 하나를 누락한 사실을 깨달을 때가 있습니다. 이럴 때 불필요한 '수정 커밋'을 추가로 남기지 않고 직전의 커밋 자체를 뜯어고쳐 덮어쓰는 옵션이 --amend 입니다.
# 누락했던 파일을 뒤늦게 준비 영역에 추가
$ git add missed_file.css
# 직전 커밋에 해당 파일을 슬쩍 포함시키고, 메시지 편집창 열기
$ git commit --amend
# 에디터 화면 생략하고 바로 메시지만 수정하여 덮어쓰기
$ git commit --amend -m "결제 오류 수정 및 스타일 파일 포함"
2. 한계점 및 권장 사항
이 명령어는 가장 마지막 최신 커밋에 대해서만 적용이 가능합니다. 만약 2~3단계 전의 과거 커밋을 수정하거나 하나로 뭉치고 싶다면 git rebase -i HEAD~3과 같은 대화형 리베이스(Interactive Rebase) 기술을 사용해야 합니다.
주의: 이 역시도 커밋의 근본적인 ID를 재생성하는 파괴적인 명령입니다. 따라서 로컬 작업 중일 때는 마음껏 사용해도 좋지만, 원격 저장소에 이미 Push 한 커밋에 대해 Amend를 수행한 후 다시 Push 하려 하면 거부됩니다. (이때 강제 푸시를 강행하면 팀원의 히스토리가 꼬일 수 있으니 지양해야 합니다.)
지금까지 최근 커밋 덮어쓰기 및 편집 (Amend)의 개념과 구체적인 활용 방안에 대해 살펴보았습니다. 이어지는 다음 포스팅에서 관련 심화 주제를 지속적으로 다루어보겠습니다.
반응형
'CI.CD > GIT' 카테고리의 다른 글
| [GIT] 소프트웨어 릴리스 버전 마킹 (Tag) (0) | 2026.07.14 |
|---|---|
| [GIT] 사라진 커밋 구출 작전 (Reflog) (0) | 2026.07.14 |
| [GIT] 특정 커밋만 선별하여 가져오기 (Cherry-pick) (0) | 2026.07.14 |
| [GIT] 과거 시점으로 되돌리기 (Reset & Revert) (0) | 2026.07.14 |
| [GIT] 미완성 작업 임시 저장하기 (Stash) (0) | 2026.07.14 |