본문 바로가기
Git & Github

[github / pull request] 협업 전략 다지기 PR 사용법 정리!

by 로토마 2021. 8. 16.

pull request

github의 가장 큰 장점!! 바로, 협업 프로젝트에서 빛이 난다는 것!!

여러가지 빛 중에서도 많이 사용되는 pull request 법에 대해 알아보도록 합시당!

 

단계는 크게 6가지로 나눌 수 있다.

fork in my repo -> local setting 하기 -> branch 생성-> add/commit/push -> pull request -> merge 

 

1) Fork

fork 란 다른 계정의 Github repository에서 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때,

해당 repository를 내 Github repository로 그대로 복제하는 기능이다.

여기서 fork되어 복제되어 생성된 내 repository는 원본 repository랑 연결되어 있다.

즉, 새로운 commit 사항이 생기면 forked된 repository로 반영할 수 있다는 것을 의미한당~~

 

fork하는 방법은 간단하다.

fork 버튼

- fork 버튼 누르기 

끝...!

 

이제 내 계정에 들어가서 확인해보면 이렇게 fork 된 것을 볼 수 있다.

fork 후 내 repo

 

 

2) local setting 하기

노트북의 local 파일과 fork 한 repo 와 원본 repo를 각각 연결해주는 과정이다!

개발 전의 setting 과정~~

 

우선 setting 전 url을 확인해야 한다!

확인해야할 url은 총 두 개! 

- fork 된 내 repository에서의 url

- 원본 repository의 url

url (fork된 내 repository)
url (원본 repository)

url 은 repository의 code를 누르면 확인할 수 있다.

HTTPS 의 url을 위에서 체크한 부분을 클릭해 복사해서 사용하면 된다.

 

- repository와 연결할 local 폴더 생성

- 터미널(git bash) 실행

- 명령어 입력

   git clone url(포크된 my repo)

-> 여기서!! 클론되어 생성된 폴더 안에 들어가서 remote 작업을 해야한다!!

   git remote add 원본별명 url(원본)

   code . (vscode 열기 위한 명령어)

이렇게 하면 setting 도 완료!!

 

3) branch 생성

branch는 코드를 복사하고 나서 원본 코드와는 상관없이 독립적인 개발을 돕는 나뭇가지 친구다><

협업에서는 특히나 conflict가 많이 발생하기 때문에 독립적으로 개발을 진행하고 merge하는 것이 좋다!!

 

생성방법은 간단하다.

- ctrl + ~ 키를 눌러 vscode에서 터미널을 열어준다. 

- 명령어 입력

   git checkout -b 브랜치명

   git branch (확인용 명령어)

 

이렇게 해주면 branch도 이쁘게 잘 생긴다~!

 

4) add / commit / push

이것에 대한 세부적인 내용은 지난 github 총정리 글에서  참고하면 진쨔ㅑ 대박 엄청 좋을듯 ㅎㅎㅎ

간략히 설명하자면 코드를 수정하고 push하는 과정이다. 

- 코드를 작성/ 수정

- 명령어 입력 

    git add -A

    git commit -m "메시지"

    git push origin 브랜치명

 

이렇게 해서 코드 개발 내용도 잘 반영하자~~

 

5) pull request

드뎌 하이라이트~~ github 내 repository에 들어가 pull request를 진행해 보장~~

repository에 들어가면 Compate&pull request 버튼이 아래 사진 처럼 생긴것을 볼 수 있다. 

꾹 눌러줍시당~!

Compare & pull request 버튼

누르면 create pull request 페이지로 이렇게 이동한다.

create pull request 버튼

이제 추가적인 message를 작성하고 아래의 create pull request 버튼을 눌러 PR을 생성한다.

 

6) Merge

이제 마지막 단계! merge를 통해 동기화 시켜보자!

이 단계에서는 작성한 코드의 변경내용을 확인하고 Merge 여부를 결정하게 된다.

만약 conflict가 발생했다면 조정해주고, 아래 코멘트도 달 수 있어서 코드리뷰도 할 수 있다.

Merge 버튼

반영해도 괜찮다고 결정되면 아래의 버튼을 눌러 merge를 진행해주면 끝~~!

merge가 되면 아래 사진처럼 반영되었다고 뜬다.

merge 완료 

아 잠깐!! 여기서 끝이 아니뢉니돵~~~

이제 local 코드와 원본 저장소의 코드를 동기화 해야겠죠?

다시 터미널창으로 넘어가서 명령어를 작성해 주장!

 git pull 원본별명 

 

그리고 fetch upstream -> fetch and merge 버튼을 눌러 동기화 시키자!! 

 

fetch upstream -> fetch and merge 버튼

 

 

 

이러면 진짜 pull request 완벽 타파!! 끄읕~

앞으로 좀 더 익숙해지려면 많이 사용해봐야겠다!!

뭔가 시각적으로 경로가 바뀌어서 합쳐지는게 재밌었다!! ㅎㅎ

앞으로의 협업 프로젝트도 기대해 주세용~~~