본문 바로가기
Project

VSCode Extension으로 Pull Request 쉽게 하기

by ocxanc 2021. 12. 28.

Branch에서 작업을 완료하고 pull request를 할 때, VSCode extension으로 쉽게 conflict를 해결할 수 있다. 

 

1. Github 상에서 PR 만들기

Compare & PR 버튼을 통해서 PR을 만들어준다. 이때 자동으로 PR이 되는 경우도 있지만, 보통 충돌이 난다.

Pull request

내가 브랜치에서 작업한 것이 무엇인지 간단히 써두었다. 나는 혼자 작업하는 거라 짧게 썼지만, 팀 프로젝트면 자세히 쓰고 리뷰를 모두 통과해야 merge할 수 있다. 또 아래에는 충돌이 난 파일 리스트가 있는데, 이들을 모두 수정해줘야 merge가 가능하다.

 

2. Conflict를 보여주는 커맨드

git checkout main
git merge --no-ff <branch-name>
git push origin main

 

3. Resolve conflicts

위 커맨드를 실행하면 VScode에서 충돌이 난 모든 부분에 아래와 같은 옵션을 준다. 둘 중에 하나 또는 둘 다 accept할 수 있다. 클릭 한 번으로 실행이 되니 편하다.

Conflict

모든 충돌은 extension의 source control 상에서 확인할 수 있다.

Source control

주의할 점은 VSCode는 텍스트 파일 (코드, 데이터 등) 에 대해서 위와 같이 클릭 한번으로 고를 수 있는 창을 보여주는 것이므로 VSCode 상에서 열리지 않는 데이터 형식이면 (이미지, 캐시 등) 직접 커맨드로 처리해야 된다. 레포지토리 안에 매번 실험할 때마다 달라지는 이미지가 있어서 PR 때마다 충돌을 유발하는데, 굳이 해결할 필요가 없는 충돌이라 처리하지 않고 바로 add해준다.

 

4. Commit & Merge

이렇게 해결한 충돌을 커밋해준다.

git add .
git commit -m <message>

마지막으로 아래 커맨드로 merge를 완료한다!

git push origin main

 

5. Delete branch

Merge가 잘 됐으면 알아서 PR이 닫히고 아래와 같이 branch를 삭제하는 버튼이 생긴다. 눌러주면 된다.

Delete branch

 

댓글