컴공생의 다이어리

[Git] 깃 히스토리(커밋(Commit)의 날짜와 시간) 변경 : rebase 사용 본문

Development/Git

[Git] 깃 히스토리(커밋(Commit)의 날짜와 시간) 변경 : rebase 사용

컴공 K 2022. 3. 26. 00:01

Git 히스토리(커밋(Commit)의 날짜와 시간) 변경 : rebase 사용

깃에서 커밋의 날짜와 시간을 rebase를 사용해 변경하는 방법에 대해 정리하고자 한다.

 

fiter-branch를 사용해서 커밋을 변경하고 싶다면 아래 게시물에 정리되어 있으니 이를 참고하면 좋을 것 같다.

 

[Git] 깃 히스토리(커밋(Commit)의 날짜와 시간) 변경 : filter-branch 사용

깃 히스토리(커밋(Commit)의 날짜와 시간) 변경 : filter-branch 사용 깃 히스토리를 변경하기 위해서 필터링 기능을 이용하는 방법이 있다. 다만 모든 커밋 내역을 살펴보며 필터링을 수행한다는 점

computer-science-student.tistory.com

 

 

 

아래의 로그에서 빨간색으로 표시한 커밋의 날짜와 시간을 변경해보려고 한다.

 

 

변경하려고 하는 커밋의 이전 커밋 id를 넣어 rebase 명령어를 아래와 같이 입력해준다.

git rebase -i {변경하려고 하는 커밋의 이전 커밋 id}

# 이 게시글 기준으로는 
git rebase -i 2da50562a0db6c66f43a63edb8f2aea

 

 

아래와 같이 나오면 제일 위의 커밋의 pick 부분을 e 혹은 edit으로 변경한 뒤 ESC키를 누르고 저장 후 종료(:wq)한다.

왼쪽 : 제일 처음 화면, 오른쪽 : pick 부분을 e로 수정

 

 

변경할 날짜와 시간을 아래 명령어처럼 입력해준다.

GIT_COMMITTER_DATE="{날짜}" git commit --amend --no-edit --date "{날짜}"

# 이 게시글을 작성하며 사용한 명령어
GIT_COMMITTER_DATE="Mar 5 10:00 2022 +0900" git commit --amend --no-edit --date "Mar 5 10:00 2022 +0900"

 

 

마지막으로 아래 명령어를 입력해주고 난 뒤, git log 명령어로 log를 확인하면 성공적으로 날짜와 시간이 변경된 것을 확인할 수 있다.

git rebase --continue

 

 

혹시 깃허브와 같은 원격저장소에 push하려면 아래 명령어를 입력해주면 된다.

git push origin main

# or

git push -f origin main

 

 

 

 

 

 

 

https://velog.io/@astra/git-rebase-%EC%BB%A4%EB%B0%8B-%EC%88%98%EC%A0%95%EB%B3%91%ED%95%A9%EC%82%AD%EC%A0%9C-%EC%82%AC%EC%9A%A9%EB%B2%95

 

git rebase -i로 커밋 시간 수정, 날짜 바꾸기 사용법

1Day, 1Commit

velog.io

 

728x90
Comments