[Git] git pull 시 remote 내용과 충돌 나는 경우
2023. 1. 11. 22:39ㆍDevelopers 공간 [Shorts]/Software Basic
728x90
반응형
A. 수단(Linux)
- OS/Platform/Tool : Linux, Kubernetes(k8s), Docker, AWS
- Package Manager : node.js, yarn, brew,
- Compiler/Transpillar : React, Nvcc, gcc/g++, Babel, Flutter
- Module Bundler : React, Webpack, Parcel
B. 언어
- C/C++, python, Javacsript, Typescript, Go-Lang, CUDA, Dart, HTML/CSS
C. 라이브러리 및 프레임워크 및 SDK
- OpenCV, OpenCL, FastAPI, PyTorch, Tensorflow, Nsight
1. What? (현상)
git pull
error : The following untracked working tree files would be overwritten by merge
2. Why? (원인)
- push하려고 하는 remote repository의 내용 중 같은 파일이, 가장 최근에 pull했을 때의 내용 이후로 바뀌어있는 경우 발생합니다.
- remote repository의 내용과 현재 push하려는 local repository의 head의 내용이 conflict 나기 때문입니다.
3. How? (해결책)
- 강제로 remote의 정보로 업데이트 하는 방법이 있습니다.
- remote로부터 최신정보가 업데이트 되었는지를 확인한 후
- origin으로 설정된 remote의 master branch를 강제로 가져와 head로 설정합니다.
- git pull을 진행합니다.
git fetch --all
git reset --hard origin/master
git pull
- merge하는 방법이 있습니다
- 현재 내가 작업했던 내용을 저장해둡니다. (패치 형태로)
- git pull을 진행합니다.
- 저장해둔 작업내용을 다시 불러와 merge합니다.
(the lesser than[<], equals[=], greater than[>] 형태로 merge conflict 될 수 있습니다.)
<<<<<<< HEAD
=======
>>>>>>> FEATURE
git stash
git pull
git stash pop
** git stash는 현재 branch에 대한 commit을 merge할 때 임시 저장하기도 하지만, git checkout 으로 branch 를 변경할 때도 임시저장하기 위해 사용합니다
728x90
반응형
'Developers 공간 [Shorts] > Software Basic' 카테고리의 다른 글
[ShellScript] 기초 템플릿 (0) | 2023.02.28 |
---|---|
[Terminology] WebApp, HybridApp, Responsive App, Platform, Framework... (0) | 2023.02.26 |
[Makefile] 기초 템플릿 (0) | 2023.02.16 |
[Git] src refspec BRANCH does not match any 에러 (0) | 2023.02.15 |
[Bash] apt-get 사용시 GPG error(NO_PUBKEY) 일어날 때 (0) | 2023.02.11 |