본문으로 건너뛰기

TIL : 23-07-06

깃허브 잔디 조작하기

📌 이슈​

image

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 이렇게 입력함.

따라서 위의 방법을 다시 시도하려고 하자 아래와 같은 이유로 안 됨.

image

📌 해결​

1. 깃 reset​

image
  1. 최근 커밋 해쉬값 복사

내가 한 커밋 이전 커밋을 우선 확인했다. 그리고 해쉬값을 복사하였다. 2. 해당 커밋 기점으로 reset을 해주었다.

git reset {기점 커밋의 해쉬값}
  1. reset을 한 이후, push를 해준다.
git push -f
  1. pull 한 이후, rebase를 진행한다.
git pull
git rebase --abort

2. 깃허브 잔디 조작​

imageimage

위 과정을 다시 시도함.


📝 배운점​

깃허브 잔디 심기 조작 방법​

깃허브 잔디 심기 조작하는 법을 처음으로 시도하게 되었다. 익히 들어 왔지만, 내가 하게 될 줄을 몰랐다. 하지만 이번과 같은 억울한 상황을 제외하고는 사용하는 걸 지양 해야겠다. 또한 잔디 심기는 일종의 개발자가 되기 위한 노력의 흔적인데, 조작까지 하면서 하는 것은 의미가 없다고 본다. 따라서 다음에는 제대로 커밋이 되었는 확인까지 하는 습관을 들여서 이런 불상사를 막을 것이다.

GitLens​

image

들어보았지만 그동안 사용을 하지는 않았다. 하지만 직접 사용해보니 branch 및 커밋 상태를 시각적으로 확인할 수 있다는 점이 확실히 좋았다.