상황:
master브런치가 아니라 base브런치를 만들고 거기서 작업 브런치를 만들었다.
master에 병합할 것은 아니라 base브런치를 병합 목적지?로 하고 PR을 냈는데 작업 브런치에서 삭제한 파일이 conflict를 일으킨다며 "Can’t automatically merge"메시지가 나왔다.
해결:
이미 없어진 파일에 뭘 더 하라는 거지 싶지만 아래처럼 하면 해결할 수 있다.
1. 일단 base브런치를 pull 한다.
$ git pull origin base_branch_name
2. 그러면 에디터(나 같은 경우에는 PyCharm)에 ResolveConfilcts메뉴가 활성화되니 눌러서 merge를 진행한다.
여기서 병합 했으니까 다시 파일을 삭제하면 병합했다는 정보가 commit&push되지 않았기 때문에 다시 pull 할 때 아래와 같은 에러가 난다.
error: 병합 작업을 다 마치지 않았습니다 (MERGE_HEAD 파일이 있습니다).
힌트: 병합하기 전에 변경 사항을 커밋하십시오.
fatal: 병합을 마치지 못했기 때문에 끝납니다.
3. 그러니 병합을 마친 파일을 삭제하고 싶어도 일단 add&commit 한다.
4. 삭제하고 다시 add&commit 한다.
5. commit을 전부 push한다.
'command line 노트' 카테고리의 다른 글
이미 push 한 commit 을 되돌리기 (0) | 2020.07.23 |
---|---|
갑자기 터미널에서 git 권한이 없다며 push에 실패할 때 (0) | 2020.05.06 |
iterms2에서 push 완료 상태를 확인하고 새 branch 만들고 변경하기 (0) | 2020.04.05 |
iterms2에서 repository clone해서 commit, push까지 연습하기 (1) | 2020.04.05 |
pip으로 install했던 것들 리스트 출력해서 새 맥북 setup하기 (0) | 2020.04.01 |