하면안되는 것이지만 잔디를 옮겨심는 법에 대해 언뜻 지나가며 봤었다가 생각이나서 마침 커밋을 했다가 undo하는 바람에 어제의 잔디기록이 날라가서 억울한 마음에 커밋 날짜를 수정해보았다 ^^
가장 최신의 커밋을 수정하기 위해서 rebase를 한다.
i 를 누른 후 pick 글자를 edit으로 수정이 가능하다. 수정 후엔 esc를 눌러서 수정 중지했다.
vim을 나오기 위해서는 :wq! 를 치면 나와진다.
git commit --amend --no-edit --date="원하는 날짜" 를 입력한다.
git rebase --continue를 하기 전에는 두 개의 커밋 기록으로 분리되어 보인다.
git rebase --continue를 하면 커밋기록이 바뀐 것을 볼 수 있다. 하지만 이것은 AuthorDate를 수정한 것이다.
변경한 커밋을 git push origin +브렌치명 을 통해서 push 하여 origin이 따라붙게 한다.
하지 못했던 CommitDate 수정
로그를 찍어보면 CommitDate는 수정이 안된 것을 볼 수 있다. 물론 잔디는 제대로 심어진다!
이 방식은 env-filter를 통해서 수정하게 되는 것이라서 내가 생각한 것 이외의 커밋들도 수정이 되는 경우가 생길 것 같아서 쓰지 않았다.
하지 못했던 CommitDate 수정하기
GIT_COMMITTER_DATE="Fri Apr 14 11:47:32 2023 +0900" git commit --amend --date "Fri Apr 14 11:47:32 2023 +0900"
를 입력해서 commit_date 도 수정한다. GIT_COMMITTER_DATE를 cmd는 명령이 안돼서 bash를 켜서 진행했다.
git log --pretty=fuller를 입력하면 AuthorDate와 CommitDate 둘 다 보입니다! 위의 사진처럼 변경을 완료했습니다!
최종 정리
- git log
- git rebase -i HEAD~1
- pick -> edit 으로 수정
- :wq!
- git commit --amend --no-edit --date="Tue 18 Jul 2023 01:02:42 KST"
- git rebase --continue
- GIT_COMMITTER_DATE="Tue Jul 18 01:02:42 2023 +0900" git commit --amend --date "Tue Jul 18 01:02:42 2023 +0900"
- :wq!
- git log --pretty=fuller
참고
https://beomseok95.tistory.com/231
'DevOps > - Github' 카테고리의 다른 글
git stash를 애용하자 (0) | 2023.09.04 |
---|---|
여러 깃허브 계정을 하나의 컴퓨터에서 사용하기 (0) | 2023.08.20 |
Git 커멘드 정리 (0) | 2023.08.10 |
Github Issue, milestone 알아보기 (0) | 2022.05.12 |
댓글