본문 바로가기

프로그래밍 공부내용/Git & Tools

깃 pr merge 이후

맨날 헷갈려서 직접 적는다..

 

 

1.

본론이다. merge 이후에 어떻게 해야하는가.

 

https://github.com/woowacourse/woowacourse-docs/blob/master/maincourse/review-step3.md

 

 

2.

저번에 한번 머지 후 rebase 하지 않고 작업해버려서 고생을 한 이후로는

 

test branch를 만들어서 rebase가 잘 돼서 pr conflict가 없는지 확인하고 브랜치를 하나 더 따는 습관이 생겼다.

그런데 test branch가 pr conflict 가 안됐을때도 문제가 생겼다.

 

이놈을 지우는 법을 모르겠던것;;

 

로컬 삭제는 쉽다.

git branch -d 브랜치명

 

삭제된 브랜치 사항을 바로 원격에 반영할 수도 있다. (거슬리니까 삭제해주는게 좋음)

git push -d origin 1번에서 삭제한 브랜치명

 

+나한테는 없었지만 gui를 쓰다보면 안맞는 경우가 있단다.

git fetch --all --prune

이걸로 해결 가능하다고 한다.

 

+ 모든 브랜치 확인하기

git branch -al

 

 

 

 

3. 해결 안될 떄

 

순서대로 하면 됨

 

- git checkout {브랜치명} 명령을 실행해 계정 브랜치로 이동한다.

reset을 시행해서 upstream의 branch를 가져다 옮길 local의 {브랜치명}으로 이동한다.(head를 이동한다)

 

- git reset --hard upstream/{upstream내의 branch중 복사하고 싶은 branch}

현재 head를 강제로 upstream에서 복사하고 싶은 branch와 똑같이 만든다.(=똑같은 상태로 reset시킨다)

 

- git checkout 기능_브랜치(예: git checkout step2)

새로 작업을 시작할 브랜치를 로컬에 생성한다.

 

- git merge 본인_아이디(예: git merge javajigi)

reset한 녀석과 작업할 branch를 merge하면 새로운 branch

 

 

 

+의문점 : 이 방식으로 해결했을때 reset hard해준 branch는 conflict가 있음.. 왜지?

그냥 간단하게 reset hard해준 녀석을 git branch -D를 써서 삭제해주면 되지만.. 찝찝하다.

(git branch -d는 그냥 로컬에서 브랜치 삭제 ,-D는 강제삭제)

(가끔 브랜치 삭제시 정상적으로 머지가 되어있지 않거나 충돌이 해결되지 않은 브랜치의 경우 아래와 같은 메시지와 함께 삭제가 불가능 할때가 있는데 병합 상태와 관계없이 강제로 삭제하려면 가이드처럼 -D 옵션을 사용 하시면 됩니다.)

+이렇게 하고 나면 vscode상에서 해결 됐는데도 conflict 있는것처럼 겁나 빨갛게 들어온다.(실시간으로 conflict check해제하는 기능이 없나보다.. 버그거나)

나갔다가 들어오니까 하얗게 돌아왔다.

빨간건 너무 심신에 안정을 못주게 생겨서 신경쓰인다.. 

 

참고:

https://www.atlassian.com/ko/git/tutorials/using-branches/git-merge

 

Git 병합 | Atlassian Git Tutorial

Git 브랜칭 소개. git 브랜치를 사용하여 브랜치를 생성하고, 나열하고, 이름을 변경하고, 삭제합니다. git 체크아웃: 브랜치를 탐색하려는 개발 줄 선택

www.atlassian.com

 

https://github.com/woowacourse/woowacourse-docs/blob/master/maincourse/review-step3.md

 

GitHub - woowacourse/woowacourse-docs: 우아한테크코스 문서를 관리하는 저장소

우아한테크코스 문서를 관리하는 저장소. Contribute to woowacourse/woowacourse-docs development by creating an account on GitHub.

github.com

 

 

'프로그래밍 공부내용 > Git & Tools' 카테고리의 다른 글

기깔나게 협업하기  (0) 2022.10.25
pull을 통해서 페어가 작업한 내용 가져오기  (0) 2022.05.04
clone 에 관하여  (0) 2022.04.25
1. Git 기본 개념  (0) 2021.11.15