본문 바로가기
programming

깃 날짜 변경 [잔디 옮겨심기]

by s2econd.blue 2022. 12. 1.

1일1커밋을 실수로 빼먹은 날이 있다면 앞으로의 커밋들에 의욕이 떨어진다.

이 때, 이후에 심은 잔디를 옮겨심는 것으로 하루의 실수를 무마해보자.

 


1. git log로 현재까지 커밋한 해쉬들을 확인한다.

 

2. 옮겨심고자 하는 커밋의 이전 해쉬를 복사한다.
    난 미네랄 2의 커밋 날짜를 변경하고 싶기 때문에 죽음의 비에 해당하는 해쉬를 복사하였다.

 

3. git rebase -i 명령어 뒤에 복사한 해쉬를 붙여 넣어준다.

 

4. 우리가 수정하고자 했던 커밋이 보인다.
    pick을 edit으로 변경해준다.

 

5. 다음 명령으로 저장한다.

:wq

 

6. 다음 명령어를 입력하면 원하는 날짜로 해당 커밋의 날짜를 변경할 수 있다. 

git commit --amend --no-edit --date="원하는 날짜"

 

날짜 형식은 다음과 같다. 따로 요일은 입력하지 않아도 된다.

Wed Nov 23 15:10:17 2022 +0900

or

Nov 23 15:10:17 2022 +0900

 

7. git rebase --continue

앞의 과정들을 완료했다면 다음 명령어 입력하기!

git rebase --continue

입력하면 rebase 완료된다.

 

8. git push

이제 마지막 과정이다.
변경한 내용을 origin/main에 강제로 푸시해야 한다.

git push -f origin main

 

이렇게 따라하면 잔디를 채워넣을 수 있다.

 

※ 다만 git log를 통해 커밋 기록을 확인하면 정상적으로 이동한 것처럼 보이지만 git hub에서는 옮기기 전의 커밋 또한 그대로 남아있는 경우가 있었다.

이때는 기존의 remote 레포지토리를 지우고 새로 만든 다음 local 저장소를 새로 만든 remote 레포지토리에 연결 후 push하게 되면 정상적으로 출력된다. 

 

댓글