미국산 귤

[Github] 포크? 머지? 너무 어렵다.. 깃허브 협업 정리 본문

메모

[Github] 포크? 머지? 너무 어렵다.. 깃허브 협업 정리

migyul 2024. 11. 14. 22:54

너무 어려워서 직접 정리해보는 깃허브 협업 방법 정리..!!

 

 

 

1. 안전한 작업을 위해 원본 저장소를 포크해야 한다.

포크는 쉽게 말해 복사이다. 저장소를 통째로 복사하는 것이다.

원본 저장소(레포지토리)에 들어가 우측에 있는 Fork 클릭

 

 

 

2. 포크할 위치로 Owner(자기 프로필 혹은 조직) 선택 후 Create Fork 클릭

 

 

 

3. 우측 메뉴 열어서 Your repositories 클릭

 

 

 

 

4. 포크가 정상적으로 됐다면, 이곳에 원본 저장소와 똑같은 레포가 하나 생겼을 것이다.

 

 

 

이제 본격적으로 코드 관리하기!

협업에 앞서 공통적인 틀을 메인 브랜치에 올려두고 각자 포크 후, 클론 받아서 그곳에 코드 작업을 하라는 경우가 많을 것이다.

 

 

5. 클론은 그냥 원래 하던대로 똑같이 해주면 된다. 다만 레포 URL을 포크한 나의 저장소 URL을 붙여야 한다.

git clone <포크된 저장소의 URL>

 

 

 

이제 원본 저장소와 포크된 저장소를 연동해야 한다.

원본 저장소는 upstream, 내 저장소는 origin으로 설정해야 한다.

 

 

 

6. 먼저 원본 저장소upstream에 추가한다.

git remote add upstream <원본 저장소 URL>

 

 

 

7. 사실 이대로 잘 따라했다면 origin은 잘 설정되어 있을 것이기 때문에 따로 추가하지 않아도 된다.

아래 명령어로 upstream과 origin 경로를 확인한다.

git remote -v

 

제대로 설정되었다면 위 명령어를 입력했을 때

origin 2줄은 자신의 닉네임/포크한 레포지토리 이름

upstream 2줄은 원본 저장소/포크한 레포지토리 이름

이렇게 나올 것이다.

 

 

 

이렇게까지 했으면 일단 포크와 기본적인 설정은 무사히 완료했다.

 

 

 

8. 이제 원하는 코드를 작성하고, 코드를 올리고 싶다면 일단 항상 하던대로 애/커/푸를 한다.

여기서 푸쉬되는 위치는

원본 저장소가 아니라, 내가 포크한 저장소에 푸쉬되는 것이다.

git add .
git commit -m "커밋 내용"
git push origin <브랜치명>

 

 

 

푸쉬까지 하고 나서 자신의 레포에 돌아와보면, 푸쉬했던 브랜치에 작성한 코드가 올라와 있을 것이다.

이걸 이제 원본 저장소로 보내는 일을 해야하는데, 바로 pr(pull request)이다.

 

 

 

9. 상단 메뉴에서 Pull requests를 클릭한다. 그리고 우측에 New pull request를 클릭한다.

 

 

 

10. 그러면 이렇게 최근 커밋한 내용이 나온다.

여기서 커밋 내용을 오른쪽 브랜치가 보내고, 왼쪽 브랜치가 받는다.

따라서 왼쪽 브랜치가 main으로 설정되어 있으면 main 브랜치에 바로 머지되므로 주의해야 한다.

Create pull request 클릭

 

 

11. 그럼 요런 화면이 나온다. 아래에 Merge pull request 클릭

 

 

 

12. 머지 완료!

 

 

 

끝입니당. 처음엔 엄청 헷갈리고 복잡한 거 같은데 하다보면 또 금새 적응해요

파이팅