PR(Pull Request)
내가 수정한 코드가 있으니 내 branch를 가져가 검토 후 병합해주라고 요청 해주는 것이라고 보면 된다.
PR을 통해 코드 충돌을 최소화할 수 있고 push 권한이 없는 오픈 소스 프로젝트에 기여할 때 많이 사용한다.
절차
1. Fork (포크로 쿡 찔러 가져오듯 다른 사람의 저장소에 있는 레포지토리를 내 원격 저장소, 깃허브로 가져오는 것이다.)
2. clone, remote설정
3. branch 생성
4. 수정 작업 후 add, commit, push
5. Pull Request 생성
6. 코드리뷰, Merge Pull Reqest
7. Merge 이후 branch 삭제 및 동기화
1. Fork
타겟 프로젝트의 저장소를 자신의 저장소로 Fork한다.
Fork가 완료되면 자신의 계정에 새로운 저장소가 생긴다.
2. Clone, Remote 설정
fork로 생성한 본인 계정의 저장소(저장소 내의 <>Code 버튼>의 url을 복사한다.
# 자신의 컴퓨터에서 작업을 하기 위하여 Fork한 저장소를 로켈에 clone 한다.
$ git clone https://github.com/wayhome25/blog.github.io.git
# 로컬 저장소에 원격 저장소를 추가한다. 원본 프로젝트 저장소를 원격 저장소로 추가
$ git remote add real-blog(별명) https://github.com/원본계정/blog.github.io.git
# 원격 저장소 설정 현황 확인방법
$ git remote -v
3. Branch 생성
자신의 로컬 컴퓨터에서 코드를 추가하는 작업은 branch를 만들어 진행한다.
개발을 하다 보면 코드를 여러 개로 복사해야 하는 일이 자주 생긴다.
코드를 통째로 복사하고 나서 원래 코드와는 상관없이 독립적으로 개발을 진행할 수 있는데, 이렇게 독립적으로 개발하는 것이 브랜치다. - pro git book
# develop 이라는 이름의 branch를 생성한다.
$ git checkout -b develop
Switched to a new branch 'develop'
# 이제 2개의 브랜치가 존재한다.
$ git branch
* develop
master
4. 수정 작업 후 add, commit, push
작업이 완료되면 add, commit, push를 통해 깃 저장소에 반영한다.
** push 진행 시, branch 이름을 명시 **
# develop 브랜치의 수정 내역을 origin 으로 푸시한다.
$ git push origin develop
5. Pull Request 생성
push 완료 후, 저장소에 Compare & Pull Request(위 작업을 수행하면 생긴다)버튼이 활성화 되어있다.
해당 버튼을 클릭하여 메시지를 작성하고, PR을 생성한다.
6. 코드리뷰, Merge Pull Request
PR을 받은 원본 저장소 관리자는 코드 변경내역을 확인하고 Merge 여부를 결정한다.
7. Merge 이후 동기화 및 Branch 삭제
원본 저장소에 Merge가 완료되면 로컬 코드와 원본 저장소의 코드를 동기화 한다.
작업하던 로컬의 Branch를 삭제한다.
# 코드 동기화
$ git pull real-blog(remote 별명)
# 브랜치 삭제
$ git branch -d develop(브랜치 별명)
* 나중에 추가로 작업할 일이 있으면 git pull real-blog(remote 별명) 명령을 통해 원본 저장소와 동기화를 진행하고 3~7을 반복한다. *
git push 에러 (0) | 2023.06.25 |
---|---|
linear git history, cherry-pick (0) | 2023.06.23 |
merge, rebase, squash merge (0) | 2023.06.23 |
Branch 종류 5가지 (0) | 2023.06.23 |