DevOps/- Github

커밋 날짜 수정해보기

Yoojacha 2023. 3. 16. 12:32

하면안되는 것이지만 잔디를 옮겨심는 법에 대해 언뜻 지나가며 봤었다가 생각이나서 마침 커밋을 했다가 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 수정하기

cmd대신 bash 사용

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

 

git rebase -i 알아보기

git rebase -i 알아보기 git 을 사용하다 보면 , 이미 커밋한 히스토리를 변경하거나 또는 삭제하거나, 내용을 추가해야하는 상황이 자주 발생합니다. 이때 사용할수 있는 명령이 바로 $git rebase -i 입

beomseok95.tistory.com

https://seons-dev.tistory.com/entry/GitHub-%EC%9E%94%EB%94%94%EB%B0%AD-%EB%82%A0%EC%A7%9C-%EB%B3%80%EA%B2%BD

 

GitHub - git commit log 잔디밭 날짜 변경 하는 방법 자세하게 설명!

GitHub 커밋 날짜 수정 GitHub에 Commit해야할 날짜를 지나쳐 잔디를 채우지 못했을때, 날짜를 조작하여 빈 잔디를 심을수 있는 방법에 대해 초보자도 쉽게 할 수 있을 만큼 자세하게 알아보도록 하겠

seons-dev.tistory.com