!! 주의
공신되지 않은 공부용으로 작성한 기록입니다.
내용은 계속 추가, 수정될 수 있습니다.
내 작업 브랜치가 merged되었다.
master에서 pull을 받았다.
git pull origin master
엔터!
오류가 났다.
https://github.com/wecode-bootcamp-korea/25-2nd-MEGAFOX-frontend URL에서 * branch master -> FETCH_HEAD
업데이트 중 dd8da07..122fa77
error: 병합 때문에 추적하지 않는 다음 작업 폴더의 파일을 덮어씁니다:
src/components/Header/Nav/NavData.js
병합하기 전에 이 파일을 옮기거나 제거하십시오.
새로 pull을 받은 팀원들은 문제가 없다.
- 그럼, 내 local에서 충돌이 난 것.
- 메세지에서 시키는대로 파일을 옮기거나 제거하면 master브랜치가 오염된다. (나 혼자쓰는 저장소가 아니다!)
가장 유사하고 많이 추천하는 해결책은 아래의 명령어 였다.
git fetch --all
git reset --hard origin/master
git fetch --all
원격 저장소의 최신 이력을 확인, 이때 가져온 최신 커밋 이력은 이름없는 브랜치로 로컬에 다운로드함.(가져옴)
fetch는 아무것도 merge 또는 rebase하지 않음.
git reset --hard origin/master
origin/master branch 와 일치 시킴
- reset: master브랜치를 가져온 항목으로 재설정
- --hard: 작업 트리의 모든 파일을 origin/master의 파일과 일치하도록 함.
먼저 깃을 처음 다루는 사람들이 하는 가장 큰 착각 중 하나가 단순히 pull 을 받으면 원격 저장소와 내 컴퓨터의 소스코드가 일치된다고 생각하는 것입니다.
하지만 pull을 받는다고 하여 원격저장소의 브랜치와 로컬브랜치의 소스코드가 같아지지는 않습니다.
왜냐하면 pull은 fetch + merge이며, 기존 로컬에 있는 코드와 원격에서 받은 코드가 merge 되며 합쳐지기 때문입니다.
출처 : spoit 티스토리 블로그 (링크)
💡방법 찾기💡
[참고 site]
:: https://backlog.com/git-tutorial/kr/stepup/stepup3_2.html
[꿀팁 site]
:: https://m.cafe.daum.net/bboybeatbox/JFCZ/39
:: https://spoit.tistory.com/26 ([git] 원격 저장소와 local저장소의 소스코드를 일치시키는 방법)
:: https://flame-pg.tistory.com/29 ("git pull"이 로컬 파일을 덮어 쓰도록하려면 어떻게해야합니까?)
:: https://stackoverflow.com/questions/1125968/git-how-do-i-force-git-pull-to-overwrite-local-files (stackoverflow)
버리기 아까워서 기록하는 우당탕탕 명령어들.
megafox git:(master) ✗ git pull origin master
https://github.com/wecode-bootcamp-korea/25-2nd-MEGAFOX-frontend URL에서
* branch master -> FETCH_HEAD
업데이트 중 dd8da07..122fa77
error: 병합 때문에 추적하지 않는 다음 작업 폴더의 파일을 덮어씁니다:
src/components/Header/Nav/NavData.js
병합하기 전에 이 파일을 옮기거나 제거하십시오.
중지함
➜ megafox git:(master) ✗ git fetch --all
origin을(를) 가져오는 중
➜ megafox git:(master) ✗ git reset --hard origin/master
HEAD의 현재 위치는 122fa77입니다 Modify: git에서 대소문자 변경을 인식하지 못하는 이슈 수정
➜ megafox git:(master)
'D.evelop > Git' 카테고리의 다른 글
[GitHub] 프로필 꾸미기 Profile customizing (0) | 2021.11.01 |
---|---|
[Git] rebase 시 주의할 점 error: 이전 커밋 없이 'squash' 수행할 수 없습니다 (0) | 2021.10.26 |
[Git/Github/vscode]파일명 수정 후 push시 반영 안되는 현상 (2) | 2021.10.23 |
[GitHub]자주 쓰는 git 명령어 정리 (0) | 2021.09.22 |
[Git]깃 설치 오류 homebrew-core is a shallow clone (0) | 2021.09.09 |
댓글