이롭게 현명하게

[Git] 코드 Merge 요청하기/Pull request 본문

Git

[Git] 코드 Merge 요청하기/Pull request

dev_y.h 2022. 12. 28. 18:15
728x90
반응형


 

목차

Pull request 과정

브랜치 관리하는 팁

 

 


 


[ Pull request 과정 ]

개발자 C가 Fork 한 저장소에서 기능 개발을 마쳤다

이제 이 코드를 개발자 A와 B의 원본 저장소에 Merge 하기를 원합니다.

하지만 개발자 C는 개발자 A와B의 저장소에 업로드할 권한이 없다.

이때 필요한 것이 pull request이다.

pull request란 개발자C의 커밋과 개발자 A커밋을 Merge 하는 것을 허락해달라고 요청하는 명령어입니다.

 

1. 머지하고 싶은 두 브랜치를 선택

2. 어떤 변경을 했는지 제목과 내용 작성

3. 단일 저장소에서 보낼 수도 있고, fork 한 저장소에서도 보낼 수 있다.

 

 

< Pull requset를 사용하는 과정 >

1. 코드를 같이 작성하는 팀원이 있다면, 최대한 직접 머지는 피하고 모든 머지는 pull request를 통해서 한다.

2. 동료가 내 pull request를 보고 코드를 리뷰할 수 있다.

3. 동료의 PR( : Pull Request)에 수정이 필요하면 댓글을 달아 change request를 보낼 수 있다.

4. 오픈소스에 PR을 보낼 때는 '기여 안내문서 (contribution guideline)'을 반드시 참고해야 한다.

 

 


[브랜치 관리하는 팁]

1. feat/기능이름 으로 한 사람이 개발하는 기능 브랜치를만든다. (또는 fix/버그이름 , hotfix/급한버그)

2. 작업이 끝나면 dev(또는 master) 브랜치로 PR을 보낸다.

3. dev 브랜치에서 큰 작업이 모두 Merge되면 release ( 또는 latest) 브랜치로 머지시킨 후 실서버에 배포한다.

4. 직접 커밋을 feat(또는 fix, hotfix) 브랜치에만 한다.

5. dev나 master, release 브랜치에는 직접 커밋하지 말고 merge만한다.

이렇게 브랜치명을 지정하면 이 브랜치가 어떤 기능인지 하는것인지 한눈에 알 수 있다.

 


[ Pull request 실행하기]

1. fork한 저장소의 코드를 수정해 줍니다.

README.md를 수정

 

2. 소스트리에서 커밋하지 않은 변경사항을 커밋해준다.

현재 저장소는 본인의 저장소이기 때문에 push권한이 있어 push가 가능하다.

커밋 메시지를 입력 후 master에 바뀐 내용 즉시푸시 체크를 하고 커밋 버튼을 클릭한다.

정상적으로 push가 진행되었다.

깃허브 페이지에 접속하여 README.md를 확인하면 정상적으로 업로드 된 것을 볼 수 있다.

 

3. 깃허브 페이지에서 Pull request 메뉴에서 New pull request를 클릭한다.

 

4. compare 브랜치와 base브랜치를 명시해준다.

 

5. 새로운 커밋을 명시해준다.

 

6. Create pull request를 클릭한다.

 

7. 대상에게 편지를 작성한 후 Create pull request를 클릭한다.

이떄 Able to merge라고 나타나는데 이것은 base 브랜치와 compare 브랜치가 충돌(conflict)나지 않는다는것을 알려준다.

 

 

8. 원본이 있는 저장소에서 Pull request에 1이 떠있는것을 확인 할 수 있다.

코드를 수정한 사람이 원본 저장소의 개발자에게 master 브랜치에 Merge를 해달라고 내용을 전달한것을  볼 수 있다.

 

 

9. fork한 본인의 저장소에서 files change를 클릭

Review change를 클릭하면 3가지의 선택지가 나온다.

comment : 댓글달기

Approve : 이 pull request가 merge해도 좋겠다는 승인을 하는 것

Request changes : 개선점에 대한 댓글

또 다른 방법으로 코드에 직접 댓글을 작성할 수 있다.

 

 

10. master브랜치. 즉, 원본 저장소의 주인이 승인 후 Merge가 가능하다.

 


잘못된 정보는 댓글에 남겨주시면 감사하겠습니다!😊

댓글과 좋아요는 큰 힘이 됩니다!

728x90
반응형
Comments