본문 바로가기

QA 업무

[CI/CD] [git&github] 5.2.4. 패치 : 원격 저장소를 일단 가져만 오기

5장. 깃허브로 협업하기 part1. 명령어 없이 깃 배우기

5.2.4. 패치 : 원격 저장소를 일단 가져만 오기
패치 fetch : 언격 저장소를 일단 가져만 오기

fetch != patch

원격 저장소의 변경사항을 로컬로 가져오고 싶을 때 패치를 사용하면 됨

 

커밋 개수 4개가 됨
orign/main 브랜치를 병합하면 아래와 같아짐!
원격 저장소의 변경 사항을 로컬 저장소에 병합함

5. 풀 : 원격 저장소를 가져와서 합치기

패치 : 원격 저장소를 일단 가져오는 방법

풀(pull) : 원격 저장소를 가져와서 합치는 방법

즉, 풀은 패치와 병합을 동시에 하는 방법

 

깃허브에서는 파일을 직접 수정하여 새로운 커밋을 만들 수 있음!

c.txt 파일을 새로 생성하며, 커밋 메세지도 작성해(책 218페이지 참고)
새로 생성됨이 확인됨

 

원격 저장소와 상호 작용하는 방식에는 크게 네 가지 존재함. 클론, 푸시, 패치, 풀이 있음

 

5.3 풀 리퀘스트: 깃허브로 협업하기

내가 소유한 원격 저장소에 푸시했는데 내가 소유하지 않은 원격 저장소에도 푸시할 수 있는지?

=> 일반적으로 그렇지 않음. 

 

Collaborator로 추가하여 푸시 권한 주기

원격 저장소 소유자가 나를 Collaborator로 추가한 경우에는 원격 저장소에 푸시 가능함

 

Settings - Collaborates 클릭 뒤 add people

하지만, 대부분 푸시할 권한이 없는 상태에서 풀 리퀘스트(pull request)로 협업함

 

포크란?

원격 저장소를 여러분의 계정으로 복제하는 방법

Fork 클릭 후 아래와 같이 내 이름 입력 후 commit changes 클릭

필자의 저장소를 내 계정으로 복제했기 때문에 복제된 저장소에서 푸시할 수 있음

 

풀 리퀘스트의두번째 단계인 포크한 저장소를 클록하기

포크한 저장소를 클론하기
풀 리퀘스트의 세 번째 단계는 브랜치 생성 후 생성한 브랜치에서 작업하기, 상단의 브랜치 클릭

 

로컬의 해당 파일 경로 : C:\Users\tmax\Documents\test-repo

 

새로 생성하고 작업한 브랜치를 푸시함

마지막 단계, 풀 리퀘스트 보내기

shinalee/collaboration 저장소의 add_username 브랜치를 kangtaegong/collaboration 저장소의 main 브랜치에 반영하고 싶다는 의미, 그 아래는 커밋 메세지 확인 가능함

 

풀 리퀘스트는 코드 논의의 장이 되기도 함

저장소의 소유자가 나의 풀 리퀘스트를 병합하면 풀 리퀘스트의 상태가 open 에서 merged 로 변경됨

 

*정리

풀 리쉐크스 보내는 과정

1. 기여하려는 저장소를 본인 계정으로 포크하기

포크란? 내 계정으로 원격 저장소를 복제

2. 포크한 본인 계정의 저장소를 클론하기

3. 브랜치 생성 후 생성한 브랜치에서 작업하기

4. 작업한 브랜치 푸시하기 (깃허브에 풀 리퀘스트 버튼이 생성됨)

5. 풀 리퀘스트 보내기