TIL : 23-07-06
깃허브 잔디 조작하기
📌 이슈
07-05 깃허브 잔디가 심어지지 않았다. 원래라면 잔디가 안 심어지면 그냥 넘어가지만, 100일 챌리지가 걸려있었기 때문에 잔디가 꼭 필요했다. 또한 아예 심지 않았던 것도 아니었다. 07-05 TIL을 커밋 했지만, pull을 하지 않았기 때문에 제대로 커밋이 올라가지 않은 이슈가 발생했던 거였기 때문이었다.
여기서 문제 상황을 다시 한 번 이야기하자면, 내가 마지막으로 실행한 커밋을 취소
하고 pull
을 해버려서 아예 커밋 기록이 사라져버린 것이다. 그래서 깃허브 잔디 조작이 필요했다.
📌 문제
문제 1. 깃허브 잔디 구멍
https://cindycho.tistory.com/71
https://velog.io/@gnwjd309/GitHub-commit-history
위 블로그를 참고하여 깃허브 잔디를 조작을 하였다.
[깃허브 잔디 조작 순서]
git log
커밋 시간을 변경하기 위해서는 해쉬 값이 필요하기 때문에 해쉬 값을 복사함.
이때 시간을 변경하고자 하는 커밋의 이전 커밋
의 해쉬 값을 복사
git rebase -i {Hash value}
pick
을 edit
로 수정함.
git commit --amend --no-edit --date="원하는 날짜"
날짜 형식은 June 04 10:41:00 2000 +0000
와 같이 입력함.
git rebase --continue
git push -f origin main
문제 2. 날짜 입력 실수
위 순서대로 진행하면, 원래라면 제대로 잔디심기 조작이 되어야 했음. 하지만 무지성으로 따라하다보니 날짜형식을 월과 일만 신경 쓰고 년을 신경 못 씀.
July 05 10:41:00 2000 +0000
이렇게 입력함.
따라서 위의 방법을 다시 시도하려고 하자 아래와 같은 이유로 안 됨.
📌 해결
1. 깃 reset
- 최근 커밋 해쉬값 복사
내가 한 커밋 이전 커밋을 우선 확인했다. 그리고 해쉬값을 복사하였다. 2. 해당 커밋 기점으로 reset을 해주었다.
git reset {기점 커밋의 해쉬값}
- reset을 한 이후, push를 해준다.
git push -f
- pull 한 이후, rebase를 진행한다.
git pull
git rebase --abort
2. 깃허브 잔디 조작
위 과정을 다시 시도함.
📝 배운점
깃허브 잔디 심기 조작 방법
깃허브 잔디 심기 조작하는 법을 처음으로 시도하게 되었다. 익히 들어 왔지만, 내가 하게 될 줄을 몰랐다. 하지만 이번과 같은 억울한 상황을 제외하고는 사용하는 걸 지양 해야겠다. 또한 잔디 심기는 일종의 개발자가 되기 위한 노력의 흔적인데, 조작까지 하면서 하는 것은 의미가 없다고 본다. 따라서 다음에는 제대로 커밋이 되었는 확인까지 하는 습관을 들여서 이런 불상사를 막을 것이다.
GitLens
들어보았지만 그동안 사용을 하지는 않았다. 하지만 직접 사용해보니 branch 및 커밋 상태를 시각적으로 확인할 수 있다는 점
이 확실히 좋았다.