github 충돌 일지 (2) - conflict 해결하기

dana·2021년 12월 21일
2

Debugging

목록 보기
4/10
post-thumbnail

프로젝트 레파지토리에 License 파일을 넣고 싶어 Pull 받은 뒤, 파일을 생성해 pull request를 진행하였다.

문제 상황

이전에 pull request를 넣은게 아직 머지가 되지 않고 있는데, 이 때 작성한 파일까지 전부 올라가버리는 문제가 발생

문제 원인

git add *

아직 main에 merge하지 않는 파일들이 존재하기 때문에 모든 파일을 올리면 당연히 Pull request 대기중인 파일도 올라가게 됨.

해결방법
git add 업로드할파일명 으로 파일을 add 해준다.

브런치 중복 사용

풀리퀘스트를 넣은 브런치로 파일을 add - commit - push 해주었더니 기존 커밋과 함께 입력되어버림

해결방법 : 방금 한 커밋 없애기
브런치를 바꿔서 파일을 올리기 위해 방금 입력한 커밋을 삭제해주었다.

git reset HEAD^ : 가장 최근 커밋 삭제하기

참고 블로그

삭제한 후에, 정리된 커밋으로 다시 push해주었다.

그냥 푸쉬하면 이미 풀리퀘 상태로 대기중이라 rejected가 발생해서 git push origin branch명 -f로 강제 Push를 해주었다.

원상복귀 완료,,

그 다음 License 파일만 따로 업로드하기 위해 새로운 브런치를 생성했다.

잘못된 부분을 수정해 add commit push를 완료했는데..
readme파일에서 conflict가 발생했다.

웹에서 conflict 해결

conflict가 발생하면 깃에서 수정할 수 있도록 해주는데, 이 때 내가 보낸 브랜치의 파일과 기존 파일의 conflict가 발생한 부분을 표시해준다. 이부분을 웹에서 수정하기 위해 resolve conflict를 눌러 겹치는 부분을 삭제했는데

conflict 갯수가 줄어들지 않아 당황했다.
그래서 pull을 받아서 수정하다가 vsc터미널에서도 오류 발생..

❤️‍🔥 깃 에디터에서 숫자가 줄어들지 않아 버튼이 비활성화 되어있는 경우,

여기를 클릭해 새로고침 되도록 하면 conflict 숫자가 줄어들게 된다..
저처럼 괜히 다운받지 마세요...

vsc conflict


vsc에서 confilct를 수정하기 위해 일단 github에서 수정하는 것처럼 겹치는 코드를 삭제한다.
삭제 한 뒤, git merge --abort를 하라고 해서 했는데 머지 해드가 없다고 뜸


풀 받아도 다음과 같이 뜨길래 수정한 Readme를 add, commit 해서 소스트리에 올려주었다.

그랬더니 이제 제대로 동작한다...ㅎㅎㅎ...


해도해도 어려운 깃,, 그래도 지금 겪게되어 다행인거(?) 같다. 나중에 같은 상황이 벌어지지 않으면 좋겠지만 다음에 발생하면 이렇게 해결해야지. 일단 파일을 전체 add하는습관을 고치고, 브랜치도 신경써서 사용해야겠다. 오늘의 반성타임 끝~

  • 20211222
    어제 readme가 vsc에서 다시 rebase를 하면서 충돌이 났다. 꼬인걸 풀기 위해 git rebase --continue -> conflict난 부분 수정 -> git add * 를 반복해주었다. 처음에는 똑같은 conflict인 줄 알았는데 조금씩 다른 걸보니 여러군데 얽혀있던 readme가 풀리고 있는게 보였다. 세번 쯤 반복하니 conflict가 없다고 나와 다행히 푸쉬를 할 수 있었다.
profile
PRE-FE에서 PRO-FE로🚀🪐!

0개의 댓글