파일을 빼먹었어요... git commit amend

Tuna·2021년 4월 3일
0

git

목록 보기
6/6
post-thumbnail

수정 작업도 다했고,
수정한 파일도 스테이징에 올리고,
커밋 메세지도 정성스럽게 작성해서 커밋을 만들었다.

...그런데 작업한 파일을 하나 빼먹었다면?😱
amend 옵션을 사용하자.

$ git commit --amend

커밋 메세지 수정

일단 기본적으로 amend 옵션은 마지막 커밋의 메세지를 다시 수정할 수 있다.
명령어를 실행하면 마지막 커밋이 불러와지는데 메세지를 고치고 다시 저장하면 커밋을 수정할 수 있다.

파일 재수정

amend 옵션의 강력함은 메세지보다 파일을 다시 수정할 수 있는 점이라고 할 수 있다.
커밋에 들어갈 파일을 하나 빼먹었다거나, 내용 수정이 필요할 때 amend 옵션을 쓰면 추가 커밋을 만들지 않고 지금 커밋을 다시 수정할 수 있다.

간단히 방법을 알아보자.

1. 내용 수정

다시 수정하고 싶은 파일을 수정한다.
이미 커밋에 들어간 파일이라도 상관없다.
파일을 빼먹은 경우면 수정할 것은 없겠다.

2. staging에 추가

수정한 파일을 staging area에 추가한다.

$ git add <filename>

커밋에 추가하거나 수정할 파일들을 전부 스테이징에 올리자.

3. amend 실행

add한 이후 amend 옵션을 사용한다.

$ git commit --amend

마지막 커밋이 다시 편집창으로 열린다.
지금 상태가 2번에서 추가한 내용들이 반영된 상태다.
메세지도 수정할려면 수정하고 저장한다.
여기까지 진행하면 커밋을 고칠 수 있다.

그리고 만약 amend할 파일이 git이 추적중인 파일이라면 staging 추가 없이 바로 amend할 때 포함시킬 수 있다.
파일이 여러개면 공백으로 구분하면 된다.

$ git commit --amend <file1> <file2>

하지만 새로 만든 파일처럼 git에서 추적하지 않는 파일이라면 바로는 안되는 것 같다.
이 경우에는 add부터 하고 amend를 하자.

🚆 이미 떠난 기차는 잡을 수 없다.

amend는 아직 push를 하지 않았을 때만 사용할 수 있다.
원격 저장소에 반영이 끝났다면 amend해서는 안된다.
이미 늦었으니 새 커밋이나 만들자.

항상 원격에 반영하기 전에 커밋 내용을 한번만 훑어보도록 하자.


amend는 커밋하고 난 뒤, 같은 커밋을 다시 수정하고 싶을 때 유용한 commit 명령어 옵션이다.
커밋 만들 때 실수한 부분을 발견한다면 amend를 사용해서 다시 고치도록 하자.
그리고 amendrebase명령과 함께 사용해 과거 커밋내용을 고칠 수도 있다.

profile
🐟🐟🐟

0개의 댓글