[Git] branch 복구
어느때와 같이 캡스톤 디자인 개발을 진행하던 중 이상한 점을 발견하였다.
바로,, 매일 commit을 했음에도 불구하고 잔디 심기가 안되어 있는 것이었다.
저번주 내내 commit을 했지만 단 하나도 올라가 있지 않았다.
✏️ 잔디 심기 누락
이것 저것 찾아보다 보니 다양한 원인이 있을 수 있음을 발견했다.
1) Gihub 이메일 계정과 로컬의 이메일 정보가 같아야함
2) branch는 main혹은 gh-pages 둘 중 하나여야 함
3) forked repo에서 작업한다면, merge가 되지 않을 경우 반영되지 않음
나는 이중에서 2,3번의 오류에 해당했다.
학교에서 준 git을 fork하여 쓰다보니 merge가 되지 않은 다른 branch들에게는 적용되지 않은 것이였다.
https://coffeebaralog.tistory.com/5
[GIT] GitHub 잔디 누락 현상 및 해결 방법
문제 GitHub에 2023년 1월 2일 ~ 2023년 1월 5일까지 push 했음에도 잔디가 누락되는 현상 발생했습니다. 소중한 잔디를 다시 잃을 수 없기에 해결방법과 복구한 방법을 정리했습니다. 원인 저는 GitHub
coffeebaralog.tistory.com
https://kdjun97.github.io/git-github/plant-grass/
[Git/Github] 깃허브 잔디 누락 현상
Commit Log를 이용하여 깃허브에 누락된 잔디를 되살려보자
kdjun97.github.io
그리고 문제를 해결하기 위해 위의 사이트를 참고하였다.
하지만 현재, 잔디 누락을 해결하고자 했지만 branch가 날아가는 문제가 발생해서 우선 branch 되살리기를 말하고자 한다.
잔디 누락은 이후에 다시 설명하고자 한다.
✏️ 모든 branch날아감
git을 이것저것 건들여보며 edit로 변경 후 push하는 순간의 문제가 발생했다
github.com에 들어가보니 해당 날짜로만 commit이 되고 그 이후의 모든 branch와 commit이 사라진 것이였다.
git은 항상 pull, push, commit, merge, 충돌 문제만 접했었는데 이건 아예 날아간거라 너무 당황했다
본인의 git branch뿐만 아니라 같은 팀원의 branch도 날아간 것이라 어떻게 살려야하나 고민을 많이 했다.
그래서 다시는 이런일이 발생하지 않도록 기원하며 해결 방법을 말하고자 한다.
github.com을 통해 확인했을 때는 모두 날아간 것 처럼 보이지만 기록을 알 수 있다는 점에서 안심했다.
✓ 모든 branch 확인
git branch -a
✓ 원격 저장소의 branch 가져옴
git fetch --all
✓ 원격 저장소의 branch local에서 확인
git branch -r
✓ 원격 저장소의 branch local로 checkout
git checkout -b develop origin/develop
git log -1 --oneline
✓ 강제 push
git reset --hard <git-hash>
git push origin develop --force
그리고 github을 나갔다가 들어가니 모든 branch가 돌아왔다.
모두 하나씩 이 과정을 반복해야할 줄 알았는데 develop만 진행했더니 원상복구 되었다.
develp으로 feature을 생성해서 develop만 가져왔기 때문에 되는건가 생각이 들었다.