[Github] Pull Request & Fork

2024. 4. 11. 16:53
728x90

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하면 싱크가 맞춰진다.

728x90

'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

BELATED ARTICLES

more