백엔드, 기타/Git

[Github] 깃허브 커밋 날짜 바꾸기. 깜빡하고 잔디를 못 심은 날. git rebase

데브힐러 2022. 7. 28. 10:58
반응형

1일 1 커밋을 시행하던 도중, 그저께 깜빡하고 master에 커밋을 하지 못했다. rebase의 날짜 조작 기능으로 잔디를 심어보았다.

1. 깃 로그 열기

$git log

다음과 같이 커밋 기록이 뜬다

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

  • commit 옆에 긴 문자열이 커밋 해쉬이다.
  • q를 눌러 상태를 종료한다.


2. git rebase -i {커밋 해쉬}

  • 수정하고 싶은 날짜 이전의 커밋을 골라 해당 커밋 해쉬값을 복사한다.


    나는 7월 28일의 커밋 기록을 26일로 바꾸고 싶다. 그러므로 그 이전인 7월 22일 커밋한 'delete v1'에 해당하는 커밋 해쉬를 복사했다.


    그리고 다음과 같은 명령어를 친다.


$git rebase -i {복사한 커밋 해쉬}

  • 그 후 i를 누르면 insert모드가 된다. 가장 윗 줄의 pick을 edit으로 바꾼다.
    esc -> :wq를 눌러 수정한 값을 저장 후 종료한다.


3\ . git commit amend하기

$git commit --amend --no-edit --date="{조작하고 싶은 날짜}"

예시)

$git commit --amend --no-edit --date="{Jul 26 22:00:01 2022 +0900}"

나는 7월 26일에 잔디를 못심었으므로 26일 10시 1분으로 날짜를 지정했다.


4. git rebase --continue

  • 날짜 수정 후 rebase를 진행한다.
$git rebase --continue



5. git push -f origin master

  • 수정한 rebase 내용을 master에 강제 푸쉬(-f 옵션 사용).
$git push -f origin master

이제 모든 과정이 끝났다. 잔디를 확인하면 7월 26일 잔디가 심어진 것을 확인할 수 있다.
반응형

'백엔드, 기타 > Git' 카테고리의 다른 글

git command 정리  (1) 2022.07.19
[Git] config user.name과 user.email 삭제 하기/ 등록하기  (0) 2020.08.27