컴공생의 다이어리

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

Development/Git

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

컴공 K 2021. 8. 26. 00:01

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

깃 히스토리를 변경하기 위해서 필터링 기능을 이용하는 방법이 있다. 다만 모든 커밋 내역을 살펴보며 필터링을 수행한다는 점에서, 프로젝트의 규모가 클수록 오랜 시간이 걸릴 수 있다.

 

우선 git log를 bash창에 입력해 변경할 커밋의 해시값을 찾는다.

git log

 

그리고 아래와 같이 필터링을 사용해서 날짜를 수정해주면 된다. 

git filter-branch -f --env-filter \
    'if [ $GIT_COMMIT = {Commit 해시 값} ]
     then
         export GIT_AUTHOR_DATE={변경할 날짜와 시간}
         export GIT_COMMITTER_DATE={변경할 날짜와 시간}
     fi'

# example
git filter-branch -f --env-filter \
    'if [ $GIT_COMMIT = e15454545commit0log0 ]
     then
         export GIT_AUTHOR_DATE="Aug 26 10:00 2021 +0900"
         export GIT_COMMITTER_DATE="Aug 26 10:00 2021 +0900"
     fi'

 

마지막으로 원격 저장소에 push해준다.

git push -f origin main

 

 

 

 

https://ndb796.tistory.com/271

 

이미 작성된 Git Commit의 날짜와 시간을 변경해보자!

기본적으로 깃(Git)은 특정한 프로젝트의 소스코드가 언제 변경되었는지 등을 감지하여 이력을 알려준다는 특징이 있습니다. 우리가 소스코드를 변경해서 커밋(Commit)을 진행하면 그 커밋이 진행

ndb796.tistory.com

 

728x90
Comments