본문 바로가기
DevOps/Git

git fork 해서 공동작업 하기

by 오이가지아빠 2021. 3. 30.

#1. git fork

프로젝트의 Master 브랜치는 보통 Push권한을 주지 않기 때문에 프로젝트에 참여하기 위해서는 "Fork" 를 이용하여 사용자의 네임스페이스 저장소에 복사한 후, 본인의 브랜치에서 작업하여 원본 프로젝트에 PR 을 하는 것으로 Master 브랜치에 반영하게 된다.

 

전체적인 플로우는 아래와 같다.

 

  1. 프로젝트를 Fork 한다.
  2. Fork 한 개인 저장소를 로컬에 Clone 한다.
  3. 코드를 수정한 후 커밋한다.
  4. 자신의 git 저장소에 Push 한다.
  5. Pull Request를 생성한다.(Fork한 개인 저장소에서 원본 프로젝트의 Master 브랜치로 Merge 요청)
  6. 프로젝트 소유자(혹은 그에 준하는 관리자) 는 PR을 승인 하거나, 거절하거나, 추가 수정사항을 요청할 수 있다.
  7. 프로젝트 소유자가 Merge할 마음이 들었다면 Pull Request를 Merge 하고 닫는다.

프로젝트 페이지 우측 상단에서 Fork를 할 수 있고, fork한 인원도 확인 할 수 있다.
Fork버튼을 누르면 나오는 화면

프로젝트 페이지에서 Fork를 하면 개인 소유의 저장소로 프로젝트가 Copy된다.

[저장소 포크] 를 누르고 잠시 후 해당 프로젝트로 이동이 되면서 아래와 같이 원본프로젝트를 Fork한 개인 저장소가 생성된다.

이제 본인 로컬에 해당 저장소를 clone하고, 수정할 차례이다.

 

#2. fork 한 프로젝트 수정하기

로컬 IDE에서 개인저장소의 브랜치를 clone 하여 수정을 시작한다.

원본프로젝트가 아닌 fork한 개인저장소에서 clone한다.

수정이 완료되면 commit & push로 개인 브랜치에 수정사항을 반영한다.

개인 저장소로 이동하여 Push된 내역을 확인하고 원본저장소에 PR을 날린다.

PR 은 정상적으로 오픈되었고, Merge를 위해서는 최소 1명의 리뷰어가 승인해야 한다는 메시지가 나온다.

이제 리뷰어가 리뷰를 마치고, 프로젝트 관리자가 해당 commit 내용을 Merge하면 모든 반영절차가 완료된다.

 

반응형

'DevOps > Git' 카테고리의 다른 글

Gitea 설치 - 사내용 git remote 서버 구축(Windows)  (2) 2023.02.25
[git] SVN을 Git으로 Migration 하기  (0) 2021.09.17
git 풀 리퀘스트 하기  (0) 2021.03.11
git commit 하기  (0) 2021.03.11
git clone 하기  (0) 2021.03.11

댓글