Jiwon-Hwang / All-About-Programming

Curiosity Collection (Grammar, Configuration, CS..)
0 stars 0 forks source link

이전에 commit한 message 수정하기 #3

Open Jiwon-Hwang opened 4 years ago

Jiwon-Hwang commented 4 years ago

https://velog.io/@mayinjanuary/git-%EC%BB%A4%EB%B0%8B-%EB%A9%94%EC%84%B8%EC%A7%80-%EC%88%98%EC%A0%95%ED%95%98%EA%B8%B0-changing-commit-message

1. git rebase -i HEAD~3 (수정을 시작할 커밋의 이전 커밋)

이 명령어를 실행하면 "수정을 시작할 커밋의 이전 커밋" ~ "현재 커밋(HEAD)" 범위에 있는 모든 커밋들의 리스트가 출력된다. 예를 들어 git rebase -i HEAD~3 를 실행하면 HEAD ~ 2, HEAD ~ 1, HEAD 커밋들이 출력된다. image image

2. 수정하고 싶은 commit message 좌측의 pickreword로 바꾸기

image reword로 수정하고 esc + :wq(write and quit)하고 나오면 이렇게 commit message 수정 창이 이어서 뜬다. 이 때 수정해주고 다시 :wq

3. git push origin +master

remote 저장소와 local 저장소의 내용이 다르므로, 강제로 remote로 push해준다.

이렇게 하면 끝!

※주의※ 수정할 시작할 커밋의 이전 커밋 ~ 현재 커밋(HEAD) 범위의 모든 커밋 리스트들을 다 출력한 것이므로, 강제로 push하게 되면 수정하지 않은 커밋 메세지들까지 싹 다 그대로 push 된다. (시간만 update될 뿐 영향은 x)

따라서 웬만하면 사용하지말자... 모든 커밋 기록들 싹 다 건드리므로 conflict날 확률 큼(remote와 local)

Jiwon-Hwang commented 4 years ago

git push origin +master로 강제로 push하게 되면, 여전히 local과 remote repo의 커밋 이력 내용이 다르기 때문에(일회성, 임시방편), 웬만하면 이용하지 말자...

다르면 pull 받아오던지, 아니면 계속 임시방편으로 강제 push 해야함