프로젝트 진행중에
Git pull로 변경사항을 먼저 가져온 후에 push 하기 위해
pull 명령어를 실행했을 때 충돌 에러가 났다.
remote 소스와 로컬 소스 사이에 충돌이 일어났을때 발생하는 오류이다.
해결 방법은
``` Please commit your changes or stash them before you merge. ``` 에 있다.
merge 전에 commit 또는 stash를 하라는 뜻이다.
Stash 명령어는
"로컬 변경 사항을 임시 저장 해두는 명령어" 이다.
- git stash 를 통해 내가 수정한 내용은 스택에 임시저장
- git pull origin <branch name(main)> 로 git 최신 소스 다운 ( origin 브랜치(remote)의 내용을 main브랜치로 가져온다)
- git stash pop 으로 변경사항 적용 및 스택 제거
와 같이 해결할 수 있다.
git stash pop 이 후에
git status 로 상태를 확인해보면,
와 같이 뜨는데, 위쪽 세 파일들은
"changes not staged for commit" -> pull 로서 변경된 내용이 가져와진 파일들에 대한 내용이다.
현재 로컬 작업 폴더에 pull로서 가져왔으므로 파트너의 소스코드 변경 내용이 내 로컬에서 병합 되었고,
커밋을 하여 변경 내용을 반영해주어야 한다 .
'Programming > Git' 카테고리의 다른 글
Git flow 전략 도입기 (0) | 2024.05.23 |
---|---|
Git 협업하기(push, pull, revert, fetch) (0) | 2023.01.11 |
Git Branch 다루기 (생성, merge, conflict, remote repository) (0) | 2023.01.11 |
Git commit 다루기(히스토리, 수정, 생성, reset) (0) | 2023.01.11 |
Github 사용법(local 레포지토리 github에 올리기, remote, fork) (0) | 2023.01.11 |