Gitbhub Team Project 협업하기
Github의 사용되는 가장 큰 이유 중 하나인 협업을 위한 포스팅을 하려고 한다.
Web이나 App 개발을 혼자 하기는 상당히 힘들기 때문에 Git 협업 방식을 반드시 숙지하고 있는 것이 좋다.
## Git Repository 협업 세팅
운영체제 : Mac OS Catalina
진행방식 : Terminal
가정 : 팀장이 Repository를 만들었고 Contributor로 추가된 상태.
**Branch List** master > develop > working
master : 최종 코드 관리 Branch
develop : master 브랜치에 올리기 전 개발 코드 1차 관리
working : 팀원들이 기본적으로 작업하는 공간 > working 브랜치에서 팀원별로 다시 branch를 나누는 경우도 꽤 많다.
## Git Repository Local 세팅
필자의 경우 원격 Repo를 Upstream으로 설정해서 하는 편이다. 사실 Upstream은 Fork로 타 Repo를 가져온 후 최신 버전으로 동기화하기 위해 자주 쓰는 Command이니 필자를 따라와도 좋고 안 따라와도 좋다.
1. Repository 디렉터리로 들어간다.
> cd desktop/teamRepository
2. Upstream을 설정해준다.
> git remote add upstream "git url"
> ex) git remote add upstream "https://github.com/leader/teamRepository.git"
이렇게 하면 우선적으로 Upstream (상위 브랜치 개념으로 이해하면 쉽다)으로 원격 Repository와 연결된다.
git remote -v
위 Command로 원격 저장소와 연결된 목록을 확인할 수 있다. 잘 연결된 상태라면
origin "git remote URL" (fetch)
origin "git remote URL" (push)
upstream "git remote URL" (fetch)
upstream "git remote URL" (push)
와 같이 뜰 것이다. 위에 보면 알겠듯이 origin으로 협업을 해도 되니 다시 한번 말하지만 origin과 upstream 중 무엇을 사용할지는 자유다!
## 작업 Team Project working branch에 올리기
다음으로 원격 저장소에 실제로 올리는 방법이다.
1. 작업한 Local branch인지 확인한다. 브랜치 실수하면 큰일날 수 있으니 꼭 확인해주자.
> git branch
2. 새로 작업한 파일들을 Git이 track할 수 있도록 해주자.
> git add .
3. Commit을 해서 Tracked 상태로 바꿔주자.
> git commit -m "커밋 메시지"
4. 만약 Local에서도 작업중, push할 브랜치를 따로 관리한다면 push할 브랜치로 이동하자. 없다면 6번으로 Skip
> git checkout 'push할 브랜치 이름'
> ex) git checkout final
5. branch 동기화를 시켜준다. 즉, 작업본을 push할 local 브랜치와 합쳐야 한다.
> git merge '작업한 브랜치'
> ex) git merge sub
6. 원격 저장소에 push해주자!
> git push upstream "push할 브랜치"
> ex) git push upstream develop
7. github 원격 Repo를 확인해보면 최신본으로 동기화된 것을 확인할 수 있다!
이제 Local 과 원격 Repository 간 연결이 모두 완료됐다!
안심하고 팀프로젝트를 즐기도록 하자.