GitHub - git commit log 잔디밭 날짜 변경 하는 방법 자세하게 설명!
GitHub 커밋 날짜 수정
GitHub에 Commit
해야할 날짜를 지나쳐 잔디를 채우지 못했을때, 날짜를 조작하여 빈 잔디를 심을수 있는 방법에 대해 초보자도 쉽게 할 수 있을 만큼 자세하게 알아보도록 하겠습니다.
새로운 Repository
Solution
Repository 생성
GitHub
의 우측 상단에 +
버튼을 클릭하고 new repository
를 눌러 새로운 Repository
를 생성해 줍니다.
Repository
를 생성할 때 사용자가 원하는 Repository name
을 입력 후, Add a README file
을 체크해 주고 Create repository
버튼을 클릭해 생성해줍니다.
생성된 Repository
의 Code
부분을 클릭해 주소를 복사해줍니다.
터미널 실행
이제 Command ⌘
+ space-bar
를 눌러 터미널을 열어줍니다.
Git Clone
그리고 터미널에 아래 코드의 양식에 맞게 작성 후, 붙여 넣어 줍니다.
git clone [복사한 repository 주소] #[ ] 제거 후 repository 주소 입력
저의 경우는 이런 식으로 되겠네요.
git clone https://github.com/Seogun95/commitTest.git
Repo 폴더 이동
레포를 성공적으로 클론 했으니 이제 cd
명령어를 통해 해당 repository
폴더로 이동해줍니다. cd 입력 후 터미널로 폴더를 드래그 앤 드롭 해도 됩니다.
cd [repository이름] #[ ] 제거 후 repository 이름 입력
Git log hash값 복사
그리고 git log
를 입력하고 아래 commit
뒤에 있는 hash
값을 복사해줍니다.
여기까지의 진행 상황은 아래 이미지와 같습니다.
날짜 선택
이제 원하는 날짜 시간을 명령어를 입력하여 원하는 날짜에 잔디밭을 심을 수 있습니다. 명령어는 다음과 같습니다.
git filter-branch --env-filter \
'if [ $GIT_COMMIT = 복사한HASH값 ]
then
export GIT_AUTHOR_DATE="Mon Aug 2 13:00:00 2022 +0900"
export GIT_COMMITTER_DATE="Mon Aug 2 13:00:00 2022 +0900"
fi'
복사한HASH값
에 위에 복사했던 Hash
값을 붙여 넣어주고, export
부분에 원하는 날짜를 영문으로 넣어주시면 됩니다.
저의 경우 월요일 / 8월 / 2일 / 13시 / 2022년 으로 시간을 돌려줬습니다.
날짜 입력
원하는 날짜를 입력할때, 영문 요일/월 을 약자로 변경하여 넣어줘야 합니다. https://www.aresearchguide.com/monthdayabb.html 를 참고하여 날짜를 기입할 수 있습니다.
원하는 날짜로 변경이 되었다면 아래처럼 was rewitten
이라는 문구가 나타나게 됩니다.
commit message
was rewitten
이란 문구가 나타난 후, 아래 명령어를 입력해줍니다.
git pull --allow-unrelated-histories origin main
그러면 다음과 같은 명령어 창이 나오게 되는데, commit message
에 임의로 #
을 입력 후, 원하는 텍스트를 추가해 줍니다.
파일 내용 변경 방법
파일 내용을 변경 하기 위해서는 esc
를 누르고 i
를 누르면 편집이 가능해집니다.
편집 후에는 다시 esc
를 누르고 :wq!
를 눌러 빠져나올 수 있습니다.
텍스트를 적어줬다면 ESC
➜ :wq
➜ Enter
를 눌러 명령 창에서 빠져나와줍니다.
Push
이제 main
에 push
만 해주면 끝이 납니다.
명령어는 아래 코드를 복사해서 입력해주기만 하면 됩니다.
git push origin main
GitHub 확인
이제 GitHub
페이지로 돌아가서 입력한 날짜에 정확히 commit
이 됐는지 확인하면 끝입니다.
이미 Push된 커밋 날짜 변경 (추천)
Solution
이미 push
된 Repositroy
의 커밋 날짜를 변경하는 방법은 다음과 같습니다.
터미널 실행
Repo 폴더 이동
cd
명령어를 통해 해당repository
폴더로 이동해줍니다. cd
입력 후 터미널로 폴더를 드래그 앤 드롭
해도 됩니다.
cd [repository이름] #[ ] 제거 후 repository 이름 입력
git log
변경할 레파지토리 폴더로 이동했으면 아래 코드를 입력해줍니다.
git log
커밋 날짜를 변경하기 위해 위 이미지 처럼 commit
의 해쉬 값을 복사해줍니다.
시간을 변경하려고 하는 커밋의 이전 커밋의 해쉬 값을 복사해야 합니다. 즉, 반드시 커밋이 두 개 이상 되어있어야 합니다.
git rebase -i
해쉬 값을 복사해서 따로 적어줬다면 아래 코드를 터미널에 입력합니다. git rebase -i 복사한 Hash 값
git rebase -i
이제 아래 이미지 처럼 최상단의 pick
부분을 edit
으로 변경해줘야 합니다.
파일 내용 변경 방법
파일 내용을 변경 하기 위해서는 esc
를 누르고 i
를 누르면 편집이 가능해집니다.
편집 후에는 다시 esc
를 누르고 :wq!
를 눌러 빠져나올 수 있습니다.
git commit
이제 커밋을 해주면 됩니다. 원하는 날짜 시간을 명령어를 입력하여 원하는 날짜에 잔디밭을 심을 수 있습니다. 명령어는 다음과 같습니다.
git commit --amend --no-edit --date="원하는 날짜"
원하는 날짜를 영문으로 넣어주시면 됩니다.
저의 경우 월요일 / 8월 / 2일 / 13시 / 2022년 으로 시간을 돌려줬는데,Mon Aug 2 13:00:00 2022 +0900
이런식으로 되겠네요!
날짜 입력
원하는 날짜를 입력할때, 영문 요일/월 을 약자로 변경하여 넣어줘야 합니다. https://www.aresearchguide.com/monthdayabb.html 를 참고하여 날짜를 기입할 수 있습니다.
rebase와 push
원하는 날짜 입력 후 rebase
를 진행합니다.
git rebase --continue
그리고 깃을 Push
해주면 끝이납니다.
git push -f origin main
오늘은 이렇게 GitHub
에 Commit
해야할 날짜를 지나쳐 잔디를 채우지 못했을때, 날짜를 조작하여 빈 잔디를 심을수 있는 방법에 대해 알아보았습니다.
읽어주셔서 감사합니다🤟