맨날 헷갈려서 직접 적는다..
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
https://github.com/woowacourse/woowacourse-docs/blob/master/maincourse/review-step3.md
'프로그래밍 공부내용 > Git & Tools' 카테고리의 다른 글
기깔나게 협업하기 (0) | 2022.10.25 |
---|---|
pull을 통해서 페어가 작업한 내용 가져오기 (0) | 2022.05.04 |
clone 에 관하여 (0) | 2022.04.25 |
1. Git 기본 개념 (0) | 2021.11.15 |