이전 커밋으로 돌아가야 했었다..
그때 내가 했던 이상한? 방법에 대해 기록하고자 한다.
최종 git push 이후에 이상한 commit을 몇개 해버려서 이전 commit으로 되돌아가야 하는 상황이었다.
1. 일단 git log/reflog로 돌아가야하는 commit의 id를 찾았다.
2. 해당 commit으로 이동
$git reset --hard <commit id>
3. 여기서 끝나면 좋은데
분명 commit엔 아무것도 안잡히는데 pull이 4개씩이나 쌓여있었다...
그렇다고 pull을 땡겨버리니 다시 원상복귀...
4. 뒤져보니 원격 origin/master에 실수로 넣은 commit이 그대로 있었다...!
git이 로컬에 있는 branch만 잘 바꾼다고 되는게 아니라
commit-push로 원격origin/master를 변경하고
그 변경된 원격origin/master로 부터 pull을 땡기는 것이라는 걸 이제야 알았다.
5. 로컬의 완성?된 branch를 강제로 원격에 push
$git push origin master
라고 했을때 다음과 같은 에러가 날 수 도 있다.
$git push -f origin master // 그럴때는 -f로 강제 push해준다.
6. 잘? 마무리됐다.
사실 master말고 branch에는 제대로 commit되어 있어서 merge를 했으면 됬을것도 같은데..
이런저런 공부했다치고
merge는 다음에 필요할때 공부해야지
'GIT' 카테고리의 다른 글
[git]add, commit, push (0) | 2021.06.18 |
---|---|
[git]이전 커밋으로 돌아가야 할때2 (git branch checkout) (0) | 2021.06.18 |
[git]리비전 조회 (1) | 2021.06.18 |
[git] branch 관련 명령어 (0) | 2021.06.18 |
[git] cmd 사용방법 (0) | 2021.06.17 |