협업할 때 또는 공동으로 사용하는 repository에 git push
를 해야하는 경우, git pull
을 무조건 해줘야 한다.
깜빡해버린 경우가 생기거나, fork
한 repository가 fetch upstream
이 안된 상태에서 pull
을 하고 commit
을 해버렸을 때 어떻게 해결해야 하는지 알아보자.
[git pull을 해도 error가 뜨는 모습.png]
🙌 참고로 여기서 사용하고 있는 명령어는 불러올 필요 없는 commit들을 제외하고 필요한 부분 즉, 업데이트 해야 할 부분만 깔끔하게 불러와주는 명령어이다.
git pull --ff-only origin master
git log
를 찍어보면 여태 쌓인 커밋들을 한눈에 볼 수 있다.
가장 최근에 쌓인 커밋은 1ab8180이다.
1ab8180 (HEAD -> main) docs: [BOJ] 10871 X보다 작은 수
이 commit
은 제대로 pull
하기 전에 한 것이므로, 이 바로 전 상태로 되돌려준 후, 거기서 다시 pull
을 해주면 꼬인 것이 모두 해결이 된다 !!
직전 commit
을 지워주는 명령어는 아래와 같다.
git reset HEAD^
pull
이 아주 잘 되는 것을 볼 수 있다 ^<^.
어쩌다보니! 원치 않은 폴더까지 git add .
로 stage
를 해버렸다.
이런 경우, 여기에 나와있는 그대로 아래 명령어를 통해 unstage를 해주면 된다.
git restore --staged <파일명>
해결했다. 뿌듯하다. 도움주신 모든 분들 감사해요 ;^)