[Github] Pull Request & Fork
1. Pull Request
- main Branch의 이력 관리를 위해서는 어떤 두 Branch를 merge 하기 전, 어떤 변경사항이 생길지를 확인하는 과정을 거치고, 권한을 가진 사람이 확인할 수 있도록 구성해야 한다. ==> Pull Request 활용
- main 브랜치가 있고, 별도의 브랜치에서 commit & push를 한다.
- 바로 Compare & pull request를 할 수 있는 UI가 나타나면 클릭
- 혹은 pull requests 탭에서 New pull request 버튼으로 PR 생성 가능.
- base 브랜치와 compare 브랜치가 있어 compare 브랜치의 커밋들을 base 브랜치에 머지할 것이라는 것을 표현할 수 있다.
- 어떤 브랜치에 어떤 브랜치를 pull request를 할지 결정하고 create pull request!
- 왜 진행하는지를 작성 가능
- 그 외 담당자 설정도 가능
- Pull Request 리뷰도 가능 (어떤 Commit들이 포함되어 있는지, 어떤 파일들이 추가/변경 되었는지, Viewed 확인 표시 가능, 댓글 달기도 가능)
- Add a comment에서 PR에 대한 댓글을 달아 의견 교환의 장소로 활용 가능.
- files changed에서도 viewed 체크박스, 댓글 추가 버튼 등으로 다양하게 코드 리뷰를 할 수 있다.
- 이후 Confirm Merge 하면 Three-way Merge가 된다.
- 다 사용한 Branch는 삭제하는게 관리에 용이하다.
2. Fork
ex) 오픈 소스 프로젝트 참여시 모두를 Collaborator로 넣기보다는 원본의 복사본에서 원하는 변경사항을 마음껏 만들어보고, 이후 변경사항만 merge 하도록 요청을 보낼 수 있게 한다... -> 원본을 복사한다 = FORK!
- a 계정 : 원본 저장소 (a)
- b 계정으로 a를 Fork(b). -> Fork된 저장소는 b가 주인인 Repository(b)가 된다. (clone, pull, push 가능)
1) Upstream
: Fork한 원본 저장소(a)를 Fork한 복제본 저장소(b)의 Upstream이라고 부른다. (a는 b의 upstream)
cf) 원격 저장소와 로컬 저장소에도 적용되는 개념 : 원격 저장소는 로컬 저장소의 upstream임 (명령어를 보면 origin 저장소의 main을 이 브랜치의 upstream으로 설정한다는 뜻)
git remote add origin <github url>
git push --set-upstream origin main
- Sync fork : 원본 저장소(a)에 새로운 Commit을 추가하면, Fork한 저장소에서도 해당 내용을 확인하고 반영할 수 있다.
- Pull Request 보내기 : 승인은 원본 저장소의 권한 사용자만 할 수 있다. PR이 승인되면 해당 commit이 반영되고, 다시 fork한 저장소에서 sync fork하면 싱크가 맞춰진다.
'Programming > etc' 카테고리의 다른 글
auth DB에 seq 대신 uid를 넣은 이유 (0) | 2024.05.09 |
---|---|
해도 해도 부족한 명령어 공부 (터미널에서 db 연결하기) (2) | 2024.05.03 |
Process & Streams (0) | 2024.04.11 |
면접 DB, 네트워크 (0) | 2024.03.30 |
면접 자바 질문 (0) | 2024.03.30 |