2~5명이서 프로젝트를 진행할 때, 팀 프로젝트를 관리하기 위해 Git을 사용하는 것은 최고의 선택이다.
git clone, fork 등을 통해 프로젝트를 복제하거나 remote해서 같은 원격저장소의 내용을 함께 만들어나갈 수 있다.
팀원들끼리 협업하는 방법을 차례대로 알아가보자.
1. 레포지터리 만들고 로컬로 가져오기(팀장)
팀 프로젝트를 생성해보자. 팀장은 팀 프로젝트 레포지터리를 만들고 로컬로 가져오기위해 git clone 명령을 사용할 것이다. 레포지터리에서 원격저장소 주소를 따와 git clone을 실행해보자.
$ git clone 원격저장소_주소
2. 브랜치 접근 및 알림 설정하기(팀장)
레포지터리에 Settings로 들어가보자. 왼쪽 목록에 Branches라는 버튼이 있을 것이다. 클릭하자.
이제 Add rule을 통해 브랜치 규칙을 추가해주자. 유저이름을 검색해 추가하면 된다!!
룰을 설정할 때는 main, dev, feat 브랜치 등을 이름에 추가해주고, 필요한 체크박스를 설정해주면 된다.
main은 함부로 merge를 할 수 없도록 Require a pull request before merging를 체크해준다.
Require approvals를 체크하면 승인을 받을 시 merge할 수 있는 권한을 얻을 수 있다.
혹시 개인적으로 필요하다고 생각하는 설정이 있다면 체크해주도록 하자.
main과 dev 브랜치를 똑같이 만들어주도록 하겠다. 보호받도록 만들어주기 위해서다.
이제 알림을 설정하는 방법이다. Email notifications를 클릭하고 Address에 이메일을 적은 후
Setup notifications를 클릭하면 팀원들에게 요청이 올 때마다 메일로 알람을 받을 수 있다.
3-1. 팀원 추가하기(팀장)
레포지터리에 Settings로 들어가보자. 왼쪽 목록에 Colaborators라는 버튼이 있을 것이다. 클릭하자.
이제 Add people을 통해 팀원들을 추가해주자. 유저이름을 검색해 추가하면 된다!!
3-2. 초대 수락하기(팀원)
팀원은 이제 깃허브에서 사용하고 있는 이메일 계정에 들어가 메일 목록을 확인해보면 팀장의 유저이름으로 된 메일이 하나 와 있을 것이다. 이 메일에서 View invitation을 클릭하자.
여기서 Accept invitation버튼을 클릭하면 프로젝트에 합류할 수 있다.
4. 작업하고 커밋하기(팀장)
팀장이 먼저 작업을 시작했다. 개발 환경세팅을 작업해서 올린다고 해보자.
$ touch 환경세팅.txt
$ git add .
$ git commit -m "1.세팅 완료"
# dev 브랜치 생성하고 push하기
$ git checkout -b dev
# 모든 브랜치 푸시
$ git push --all
위에서 브랜치 룰을 정해줬기 때문에 팀장이 2개의 브랜치와 작업내용을 푸시해도 팀원들은 main과 dev 브랜치의 내용을 함부로 바꿀 수 없게 된다.
팀원들은 오로지 Feature 브랜치(혹은 Topic 브랜치)에 있는 작업물만 푸시할 수 있고, Develop 브랜치와 합치려면 merge요청을 해야만 한다. 팀장은 요청을 보고 승인할 수도 있고 거절할 수도 있다.