과거 커밋 바꾸기(git amend, rebase)

이태혁·2020년 12월 8일
0

1. 제일 최근 커밋 바꾸기

먼저 바꿀 파일이 있다면 모두 add한다.
git commit --amend
을 터미널에 입력하면 vim창이 뜨면서 커밋 내용이 뜨는데 거기에서 커밋 로그를 수정해서
ESC(입력모드에서 나오기)를 누르고 -> :wq(저장후 종료)를 입력하면 커밋이 바뀌어 있다.

2. 그 이외에 과거 커밋 바꾸기

2-1 터미널에서 바꾸기

git rebase --interactive <바꾸고 싶은 커밋의 직전 커밋ID>

commit 7fb9deb(HEAD -> master)
commit 9b6b873
commit 95b2f13
commit cc28abb
//위로 갈수록 최신

예를들어 여기서 95b2f13의 내용을 바꾸고 싶다면 하나이전인 cc28abb를 입력해야한다.
git rebase --interactive cc28abb로 바로 커밋 ID로 쳐도 되고
git rebase --interactive HEAD~3로 입력해도 된다.

그러면 아래와 같은 vim 창이 열리는데 여기에서 바꿀 커밋의 pick부분을 edit으로 바꾸고 저장한다.
그러면 일종의 수정모드로 돌입하는데 여기에서 수정하고 싶은 파일들을 다 수정하고 add한 뒤
git rebase --continue를 입력하면 commit창이 다시 뜨고
커밋 메세지를 바꾼뒤 :wq로 저장하면 완료 된다.

2-2 IDE(IntelliJ 계열)에서 바꾸기

메뉴바에서 View - Tool windows - Git 여기로 들어가거나
단축키 Command + 9를 누른다


바꾸고 싶은 커밋을 우클릭해서 Interactively Rebase from Here을 클릭한다.
(여기에서는 위에처럼 하나전 커밋을 고를 필요가 없다.)


원하는 커밋을 더블클릭해서 메세지를 수정하고 command+ enter로 나온뒤
Start Rebasing을 누르면 끝이다.

이렇게 되면 메세지만 수정되고 파일은 수정이 찾아본 뒤 추가해야겠다.

profile
back-end, cloud, docker, web의 관심이 있는 예비개발자입니다.

0개의 댓글