개발자라면 꼭 해야하는 Git을 이용한 팀 프로젝트🥳
organization의 방법도 있지만, fork와 git flow를 이용하여 팀프로젝트를 진행하는 방법에 대해 적어보고자 한다.
▼ git flow 에 대한 부분을 먼저 알아야하는데 아래 포스팅을 보면 된다.
Git 나뭇가지 혹은 Branch 🍃🌳
먼저 팀장이 되는 사람과 팀원이 해야하는 역할이 다르다.
새로운 repository를 생성해준다.
git clone 레퍼지토리 주소
git branch
를 확인해보면 main인 것을 확인 할 수 있다. main은 최종 release용이다. 따라서 우리는 develop 브랜치를 생성해준다.
git flow init
다른 팀원들이 develop 브랜치로 수정을 할테니까 수정을 하기 위한 feature를 생성해준다. (기본적인 파일은 develop에서 작업하고, 팀원들에게 배포해도 된다)
git flow feature start 기능폴더이름
수정을 완료하면
git flow feature finish 기능폴더이름
기능폴더이름에 있는 파일들을 develop 브랜치로 merge가 필요하다.
git remote
를 통해 확인된 것
( 거의 origin으로 설정해서 origin이다.)
git push origin 기능폴더이름
해주면 된다.
feature을 만들지 않고 develop에서 바로 md파일 등 생성한 사람들은 그냥 `git push origin develop`으로 하면된다.
feature을 만든 사람은 반드시 이 경로로 들어와서 new pull request를 해줘야한다.
원하는 파일을 다 넣었으면 팀원들에게 git 주소를 배포한다.
merge 된 것을 업데이트 받는 법
git remote
git fetch origin develop
git merge FETCH_HEAD
팀원들은 팀장이 만든 프로젝트 git 주소를 들고 fork
해주어야한다.
git flow init
진행해준다.
(안전하게 feature을 생성하는 것이 맞지만 .. develop에서 수정하는 것을 예로 들겠습니다.)
수정한 파일을 add , commit 진행해준 뒤 git push origin develop
해준다.
/ upstream해주면 내 소유가 아닌 git에 push 하는 것이기 때문에 permission denied된다.
자신의 pull request에서
팀장 repository : develop <- 나의 develop 경로 설정해주면 요청이 된 것이다.
merge 된 것을 업데이트 받는 법
git remote add upstream (깃주소)
git fetch upstream develop
git merge FETCH_HEAD
팀장이 최종 release하는 경우는 pull request 경로를
main <- develop으로 해주면 끝이다 .