들어가기
협업 프로젝트를 하며, 졸업작품을 하며, 개인 repository를 관리하며..
Git을 사용했고 하고 있지만! 정확한 이해보다 하면서 찾아보고 느낌?상으로 했던 경험이 많은 것 같다.
목차
1. Forking Workflow 란?
2. How it works
3. Other situations
2. Forking Workflow를 사용하는 이유? 장점?
1. Forking Workflow 란?
- 개인 원격 저장소(중앙 Repository Fork한 것), 개인 로컬 저장소 2개의 Git 저장소를 가지고 프로젝트 진행
- 프로젝트 진행자 모두가 중앙 Repository에 Push 하지 않고, 개인의 원격 저장소에 Push 후, Pull Request 를 통해 중앙 Repository에 Merge하는 작업이다.
2. How it works
2-1. 중앙 Repository를 만든다. ( Organizations 으로 만들었다. )
2-2. 중앙 Repository를 Fork 한다.
2-3. Fork한 개인의 Repository 에서 local 저장소로 clone한다.
{ } 한 곳에 개인 repo의 url을 넣으면 된다! (물론 중괄호는 쓰면 안된다!)
2-4. Add remote (중앙, 개인 Repository를 연결한다)
※ 보통, 중앙Repository는 upstream, 개인 Repository는 origin이라고 명명한다.
2-5. 로컬 저장소에서 작업한다.
- 기능별 branch를 파는 경우도 있고, master에 작업하는 경우도 있고.. 정답은 없겠지만, branch를 파서 작업하는 걸 추천한다..!
2-6. 작업한 내용들을 Commit 해준다.
$ git add .
> 변경된 모든 파일을 추적(stage)한다. 추적되는 파일은 commit에 포함된다.
$ git commit -m "message"
> 커밋을 추가한다.
2-7. 개인의 Repository에 Push한다.
$ git push origin [master or 본인이 작업하는 branch]
2-8. 중앙 Repository에 Pull Request 한다.
2-9. 프로젝트 관리자가 오류가 있는지 보고 Merge를 한다.
3. Other situations
3-1. 중앙 Repo에 있는 Merge된 코드를 받고 싶다면??
$ git pull [upstream] [master]
> [upstream] 본인이 명명한 중앙 Repo의 이름 넣기
> [master] pull 받고 싶은 branch 이름 적기
4. Forking Workflow를 사용하는 이유? 장점?
1) 장점
- 모든 사람이 중앙 Repository로 푸시 할 필요 X
- 개발자는 자신의 Repository로 푸시하며 프로젝트 관리자만 공식 Repository로 Push 할 수 있다.
- 이를 통해 관리자는 쓰기 권한을 부여하지 않고도 개발자의 커밋을 수락할 수 있다.
2) 이유
- 하나의 Repository에 권한을 주고 자신의 branch를 파서 작업한 후 Master에 Merge 하는 작업을 했었다.
- 새로운 방식으로 진행해보고 싶었다.
- 작업을 진행하고 있는 도중, (개발에 참여하고 있지 않은) 개발자가 프로젝트에 투입이 된다면, 다른 사람들이 하고 있던 작업들을 다 Merge가 된 후 받아야 하는 불편함이 있을 수 있다.
- 오픈소스 프로젝트에서 많이 사용
'GIT' 카테고리의 다른 글
[GIT] git 캐시 삭제 (0) | 2021.01.13 |
---|---|
[Git] GIT Repository 삭제하기 (0) | 2020.12.20 |
[Git] warning : LF will be replaced by CRLF (0) | 2020.05.13 |