Coding/git

[사내 스터디 기록] <팀 개발을 위한 Git, GitHub 시작하기> - Ch 4. 둘 이상의 원격 저장소로 협업하기

서머스 2023. 9. 10. 10:49

1. 포크 : 원격 저장소를 복사해서 새로운 원격 저장소 만들기

다른 사람이 내 원격 저장소에 푸시를 하려면 원격 저장소의 소유자가 이 사람을 협력자로 등록해야 한다.

[Settings] - [Collaborators] 페이지에서 [Add people] 버튼을 클릭한다.

 

풀 리퀘스트

포크(fork)를 통해 원격 저장소를 생성하고 이곳에 커밋을 올린 후 원본 저장소의 소유자에게 병합 요청을 한다.

그러면 원본 저장소의 소유자는 개발자의 병합 요청을 검토해서 원본 저장소에 반영하게 된다.

브랜치가 원본 저장소 내에서 평행세계를 만드는 것이라면, 포크는 평행우주를 만드는 것이라고 볼 수 있다.

 

5명 정도의 적은 수의 개발자가 협업을 한다면 모두 협력자로 등록하고 브랜치를 나누어서 작업하는 것이 효율적이지만, 50명 이상의 개발자가 한 곳에서 작업해야 한다면 포크를 하는 것이 낫다.

 

 

남의 저장소를 내 계정에 통째로 포크하기

나의 iTshirt 원본 저장소로 들어가서 sangguthings 계정에서 포크한다.

create a new fork 화면으로 이동해서 [Copy the main branch only]의 체크를 해제하고, 페이지 하단의 [Create fork] 버튼을 클릭합니다.

 

포크한 원격 저장소 주소를 붙여넣는다.

 

도구-옵션

인증 - 추가 하여 상구 계정을 추가한다.

 

 

itshirt_Fork 에 like.md 파일을 추가한다.

 

 

sangguthings 계정으로 md 파일 스테이지에 올린다.

 

2. 원본 저장소에 풀 리퀘스트 보내고 병합하기

포크한 원격 저장소에서 원본 저장소로 풀 리퀘스트 보내기

아까 추가한 like.md 파일을 소현의 원본 저장소에 알려주고 병합 요청을 보낸다.

[Contribute] 버튼을 클릭하면 나타나는 팝업 메뉴에서 [Open pull request] 버튼을 클릭한다.

 

 

base repository에 원본 저장소가, head repository에 내가 포크한 저장소가 나온다.

head의 변경 사항을 base에 합치려고 한다.

풀 리퀘스트에 대한 설명을 입력한다.

 

 

성공적으로 풀 리퀘스트가 만들어졌다. 이제 소현의 승인과 병합을 기다리면 된다.

 

 

 

풀 리퀘스트를 승인하고 병합하기

소현 계정으로 들어가 상구가 보낸 풀 리퀘스트 요청이 들어왔는지 확인해본다.

 

 

  • Comment : 댓글만 단다.
  • Approve : 댓글을 달고 코드를 바로 병합한다.
  • Request Changes : 수정을 요청한다.

Approve를 한다.

 

Merge pull request를 클릭해 병합을 완료한다.

 

 

confirm merge 한다.

 

 

원본 repository에 병합된 코드가 추가되었다.