아래는 git pull 을 하면 가끔 발생하는 에러들입니다.
자주 까먹어서 헤메는 내용이라 정리해둡니다.
error: Your local changes to the following files would be overwritten by merge:
[파일들...]
Please, commit your changes or stash them before you can merge.
error: The following untracked working tree files would be overwritten by merge:
[파일들...]
Please move or remove them before you can merge.
error: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.
첫번째 에러는 "Please, commit your changes or stash them before you can merge."
commit 하거나 stash 하라고 하는데요.
저의 경우 git pull 은 보통 원격저장소의 내용으로 덮어 씌우는 경우가 많아서
git stash
git pull
하여 해결합니다.
두번째 에러는 "Please move or remove them before you can merge."
문제가 되는 파일들을 이동하거나 지우라고 하는데요.
git stash 하여도 해결되지 않습니다.
추적하고 있지 않은(untracked) 파일이라 그런것 같습니다.
몇가지 방법이 있습니다.
1. untracked 파일들이라서 그런것 같으니 add 후 stash 합니다.
git add -A
git stash
2. untracked 까지 stash 해주는 옵션을 사용합니다.
이 경우 git stash pop 하면 untracked 였던 파일은 untracked 로 복원됩니다.
git stash --all
3. 워킹 디렉토리 안의 추적하고 있지 않은 모든 파일을 지웁니다.
복원이 안되므로 위 두가지 방법중 하나를 사용하는것이 좋을것 같습니다.
git clean [옵션]
저는 덮어 씌우는 목적이고 외우기 쉬워서
git add -A
git stash
git pull
세번째 에러는 "You have not concluded your merge (MERGE_HEAD exists)"
바로 직전 pull 시 머지를 시도했지만 conflict 가 발생하여 충돌 상태일 경우 발생합니다.
머지를 취소하고 다시 pull 을 받음
1. 머지를 취소
git merge --abort
2. 충돌 해결 후 다시 pull 받음
3. 변경 내역을 커밋하고 다시 pull
의 방법으로 해결합니다.
참고 : http://vezi95.blogspot.com/2016/05/git-pull.html
https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Stashing%EA%B3%BC-Cleaning
'협업 > git' 카테고리의 다른 글
git 주요 명령어 정리 (0) | 2020.05.11 |
---|---|
reset 한 것 취소하는 방법 (0) | 2020.05.11 |
커밋 메시지를 요청하는 git merge (0) | 2020.05.11 |
git remote branch 가져오기 (0) | 2020.05.10 |
master에서 작업한 경우 해결방안 (0) | 2020.05.07 |