DevOps/Git
[Git] 오래된 commit 내역 수정,변경
sihyeong
2022. 10. 24. 23:29
git rebase -i 이전해시
- 가장 최근의 commit 내용,메시지 만을 수정할 수 있는 git commit --amend와는 다르게
- 오래된 commit을 수정할 수 있다.
주의사항
- 최소한 수정하고자 하는 커밋 내용 바로 뒤를 커밋해시로 전달해야 한다.
- 만약 10 9 8 7 6 5 4 3 2 1이 커밋되어 있다 치자 3을 수정하고 싶으면
- git rebase -i 2를 해야한다.
명령어 | 명령어 | 설명 |
p | pick | 커밋 그대로 두기 |
r | reword | 커밋 메시지 변경 |
e | edit | 수정을 위해 정지 |
d | drop | 커밋 삭제 |
s | squash | 이전 커밋에 합치기 |
- git rebase -i 이전해시 입력하면 저렇게 뜬다.
- 기본은 pick이고 원하는 변경의 명령어를 아래와 같이 직접 입력한 뒤 저장하면 된다.
squash (s)
- 만약 합치는 s(squash)를 수행할 경우는
- 8 9 10 에서 9와 10을 합치려면 10에 s를 입력해 주면 됨
- 그러면 제목 2개를 vi에서 보여주는데 필요없는 1개는 지우고 나머지 하나는 적당히 제목 작성하면 됨
edit (e)
- e로 변경 수정할라하면 해당 지점으로 head가 이동함
- 거기서 git reset HEAD^으로 수정할 내용들을 불러서 적당히 작업하고
- 작업이 끝나면 git rebase --continue 하면 끝