우선 지금 나의 상황 : 커밋하고 푸시까지 했지만 커밋 메세지를 수정하고 싶은 상태 (issue 관리 등등의 이유로,,)
근데 다른사람과 같이 프로젝트를 진행할때는 rebase를 정말정말 조심해야한다.
하지만 나는 혼자 하구 있으니까 그냥 할거야. 뚱땅뚱땅🔨
# 커밋이 온라인으로 푸시되지 않은 상태
- 가장 최근의 커밋 메세지를 변경해야 하는 경우
git commit --amend
- 그 이전의 커밋을 수정하고 싶다면 git log를 통해 고유번호를 확인하고 수정하는 방법이 있는데 이건 나중에 정리
# 커밋을 이미 푸시한 경우
- 가장 최근에 푸시된 커밋의 메시지 변경
git push --force-with-lease origin main
- 더 아래의 커밋 메세지를 변경하고 싶은 경우
git rebase -i HEAD~3 # 3개 보다 더 아래에 있다면 그 숫자
이렇게 명령어를 작성하면 커밋한 내용 파일이 열릴것이다.
이때 바꾸고 싶은 커밋을 pick -> reword 로 변경하고 저장하고 닫는다.
그러면 바꾸고자 하는 커밋의 메세지 파일이 열릴것이고
변경하려고 하는 내용으로 변경하고 저장하고 닫기.
git push --force origin main
그 후 --force를 옵션으로 push하면 오류가 발생할 수도 있다.
사용하는 git에서 force를 허용하지 않을 수 있는데
gitlab의 경우 Setting>Repository>Protected branches에서
Allowed to force push를 허락으로 변경해주면 된다.
그 이후에 remote에 local과 동일하게 변경해서 적용하려면
git rebase --con
해서 main|rebase 상태에서 main 브랜치로 돌아와서 병합할거 하고 다시 add>commit>push 하고나면 완료!
참조
Git rebase를 사용해서 커밋 정리하기 (tistory.com)
'프로그래밍 > Git' 카테고리의 다른 글
[Git] README 작성하는 방법(이모지, 기술스택) (0) | 2022.10.08 |
---|---|
[Git] 이전 커밋 user.email 바꾸기 - 잃어버린 내 잔디 심기 (1) | 2022.07.11 |
[Git] CLI (Git Bash) 를 통해 Git 사용하기2 - Git 기초 (0) | 2022.07.11 |
[Git] CLI (Git Bash) 를 통해 Git 사용하기1 - CLI 기초 (0) | 2022.07.10 |
[ Git ] Conflict상황 시 해결 방법(visual studio merge tool 사용 방법) (0) | 2020.10.11 |