본문 바로가기

I_TStory/GIT

[Github 사용법 A to Z] 4_GIT으로 협업하기 (vscode로 병합충돌 해결 후 push 해보기)

저번 챕터에서 어떤 방식으로 main 브랜치까지 협업하는지 확인해보았는데요

이번챕터에서는 중간에 development 브랜치가 없다고 가정하고

개인브랜치 => main 브랜치로 머지를 진행해보겠습니다.

 

저번에 실습하던 git_study 폴더를 vscode에서 다시 열어주세요

지금 상태는 원격레포지토리의 코드와 동일한 상태입니다.

 

자 여기서 브랜치를 하나 만들어볼게요

 

📌 git checkout 브랜치이름

브랜치를 이동하는 명령어입니다.

기존에 생성해두었던 브랜치를 이동하려면 git checkout을 사용하면 되지만

우리는 새로 생성할 것이기 때문에 브랜치 생성과 이동을 같이 하는 명령어인

git checkout -b 브랜치이름 명령어를 사용하겠습니다.

git checkout -b fix/readme

 

 

브랜치이름은 리드미를 수정했다는 의미로 fix/readme로 해줬습니다.

 

그러면 이렇게 새로운 브랜치인 fix/readme로 switch 됐다고 나옵니다.

 

자 이제 리드미 파일 내용을 수정해볼게요.

이렇게 1번 내용을 변경해준다음 저장합니다.

 

수정된 리드미 파일을 add, commit

 

git push origin fix/readme 로 브랜치에 코드를 올려줍니다.

깃허브 원격저장소를 확인해보면 이렇게 fix/readme 브랜치가 생겼습니다. 해당 브랜치를 클릭해봅시다.

 

그러면 이렇게 수정된 코드가 올려져있는 것을 볼 수가 있지요.

아직 main 브랜치에는 수정된 코드가 반영되어있지않습니다. 초록색 pull request 버튼 누릅니다.

 

눌러서 confirm 해주면 main 브랜치에도 수정된 코드가 반영됩니다.

 

 


 

이제 vscode에서 병합충돌을 해결해보겠습니다.

다시 vscode로 돌아와서

git checkout -b fix/readme_edit 명령어로 새로운 브랜치 다시 만들어줍니다.

리드미 수정 후 git pull origin main

 

워닝발생

이런 오류 뜨면 git config pull.rebase false 명령어 칩니다.

 

이게 매번 pull 할 때마다 뜨는 워닝은 아니고

git config pull.rebase false 한 번 해주고 나면 안 뜨더라고요 

 

암튼 git pull origin main 하고 리드미 파일을 보면

충돌 확인이 되죠? 초록색 current change가 지금 로컬에서 수정한 코드

파란색 Incoming Change원격저장소에 있는 메인 브랜치 코드인데요

저희는 지금 코드를 메인에 올리고 싶으니까 Accept current Change를 눌러줍니다.

(직접 지워도 되는데 클릭이 더 빠릅니다.)

누르면 이렇게 되죠. 

main 브랜치와 충돌나는 부분을 해결했으니 저장 후  fix/readme_edit 브랜치로 올리겠습니다.

git add README.txt

git commit -m "물음표 추가했어요"

git push origin fix/readme_edit

깃허브로 가서 Merge pull request 누릅니다

Confirm merge는 제가 하겠습니다.

 

병합충돌 해결 후 main 에 머지까지 해봤습니다.