1일 1 커밋을 시행하던 도중, 그저께 깜빡하고 master에 커밋을 하지 못했다. rebase의 날짜 조작 기능으로 잔디를 심어보았다.
$git log
Copy
다음과 같이 커밋 기록이 뜬다
commit aada91152d63a98e34c5c2570d5e2d0b54d21ed1 (HEAD -> master, origin/master, origin/HEAD)
Author: devhealer email@email
Date: Tue Jul 28 20:00:01 2022 +0900
백준 url
commit bd2c974a17a0b3c6cd4418815ee5eca68dec7e69
Author: devhealer email@email
Date: Fri Jul 22 22:42:37 2022 +0900
delete v1
commit f0a6170cb014efa957e8681004b5838ba47359e4
Author: devhealer email@email
Date: Fri Jul 22 22:11:42 2022 +0900
Copy
- commit 옆에 긴 문자열이 커밋 해쉬이다.
- q를 눌러 상태를 종료한다.
- 수정하고 싶은 날짜 이전의 커밋을 골라 해당 커밋 해쉬값을 복사한다.
나는 7월 28일의 커밋 기록을 26일로 바꾸고 싶다. 그러므로 그 이전인 7월 22일 커밋한 'delete v1'에 해당하는 커밋 해쉬를 복사했다.
그리고 다음과 같은 명령어를 친다.
$git rebase -i {복사한 커밋 해쉬}
Copy
- 그 후 i를 누르면 insert모드가 된다. 가장 윗 줄의 pick을 edit으로 바꾼다.
esc -> :wq를 눌러 수정한 값을 저장 후 종료한다.
$git commit --amend --no-edit --date="{조작하고 싶은 날짜}"
Copy
예시)
$git commit --amend --no-edit --date="{Jul 26 22:00:01 2022 +0900}"
Copy
나는 7월 26일에 잔디를 못심었으므로 26일 10시 1분으로 날짜를 지정했다.
- 날짜 수정 후 rebase를 진행한다.
$git rebase --continue
Copy
- 수정한 rebase 내용을 master에 강제 푸쉬(-f 옵션 사용).
$git push -f origin master
Copy
이제 모든 과정이 끝났다. 잔디를 확인하면 7월 26일 잔디가 심어진 것을 확인할 수 있다.