1일 1커밋을 위해 알고리즘 문제를 풀던 오늘.. 12시 전에 커밋하는 것을 깜빡해버려 잔디가 비게 되었다ㅠㅠ
이런 바보멍텅구리
그래서 커밋 시간을 변경해 잔디를 채우려고 한다!!
먼저 변경할 레파지토리 폴더로 이동하고, log 명령어를 입력한다.
git log
그러면 아래와 같이 내가 해당 레파지토리에서 커밋한 기록들을 확인할 수 있다.
커밋 시간을 변경하기 위해서는 해쉬 값이 필요하기 때문에 해쉬 값을 복사한다.
이때!! 시간을 변경하고자 하는 커밋의 이전 커밋
의 해쉬 값을 복사해야 한다.
이제 앞에서 복사한 해쉬 값으로 명령어를 입력한다.
git rebase -i {Hash value}
명령어를 입력하면 아래와 같이 파일이 열린다!
가장 위를 보면 pick 99d0c74 solve 2606
라고 입력되어 있는데,
여기서 pick
을 edit
로 변경한다.
파일에 내용을 insert 하기 위해서는 esc
를 누른 뒤, i
를 입력한다.
(이때, i는 insert mode로 바꾸겠다는 뜻!)
변경사항을 저장한 뒤 편집기에서 나가기 위해서는 esc
를 누른 뒤, :wq!
를 입력한다.
이제 커밋을 변경할 준비가 되었다!
다음 명령어를 입력해 커밋 시간을 바꿔보자.
git commit --amend --no-edit --date="원하는 날짜"
날짜 형식은 June 04 10:41:00 2000 +0000
와 같이 입력한다. 제 생일입니다.
요일은 입력 안 해도 알아서 맞춰준다.
앞의 과정들을 완료했다면 다음 명령어 입력하기!
git rebase --continue
입력하면 rebase 완료!
이제 마지막 과정이다.
변경한 내용을 origin/main에 강제로 푸시해야 한다.
git push -f origin main
-f
없이 그냥 푸시하면 에러 발생하므로 주의!!
요로코롬 잔디 매꾸기 성공!!!
커밋할 때 시간을 한국 UTC로 +0900 해야 하나요?? 아니면 그냥 해도 되나요?