Git Organization & Update & Pull Request
그 동안 Git을 사용해오면서 그렇다할 기능은 사용보지 않고 그저 pull push만 반복해온 내 개발인생.. 드디어 팀 프로젝트를 진행하며 깃을 깃답게 사용할 발판이 되리라 믿는다~
협업을 위한 깃 사용방법
1. git을 이용해 협업을 진행하기 위해서 먼저 git organization 을 개설해 팀을 꾸려준다.
2. 해당 Repository 안에 팀이 같이 할 목적인 Repository를 생성한다.
3. 해당 repo에 팀원에게 맞는 권한을 준다
Git을 통해 협업하는 방식은 두 가지가 있다.
- 권한이 없는 프로젝트에서 fork를 하고 pull request를 하는 방법
- 권한이 있는 프로젝트 자체를 clone 받아와 직접 pull request 하는 방법
물론 2번의 방법으로도 fork를 하여 작업을 할 수 있다. fork를 하면 해당 프로젝트가 나의 개인 저장소로 clone이 된다.
개발자는 해당 repo의 브랜치를 생성해 작업을 한뒤 pull request 요청을 하면 된다. 이 때 우리는 main 브랜치가 아닌 stage라는 main전의 브랜치를 두어 pull reqeust 요청을 하였다.
만약 이때 작업을 하다가 본래의 main, 즉, fork한 내 저장소가 아닌 원본의 팀 프로젝트가 업데이트가 되었다면 내 저장소로 merge를 해야 할 것이다. 하지않는다면 나는 옛날의 코드에서 작업을 하게 되고 이는 어마어마한 conflict를 마주하게 될 수도 있기 때문이다.
upstream 등록
프로젝트의 업데이트 된 것을 받아오고 싶다면 일단 내 fork된 저장소에 원본의 저장소를 upstream을 등록한다. 여기서 upstream 이란 그냥 이름일 뿐이며 기능은 없다. 다른 이름도 가능하다.
git remote add upstream https://github.com/원본프로젝트의 소유자/해당 프로젝트.git
제대로 추가가 되었는지 확인해 준다.
git remote -v
혹시 잘못추가 하였다면 삭제하자~
git remote remove upstream
동기화
fetch 명령어를 통해 원본 소스코드를 내려받는다.
git fetch upstream
이로써 프로젝트의 새로운 업데이트를 받아왔고 conflict를 해결하여 merge를 진행해주면 된다.
4. Pull Request
해당 repo를 이제 원본의 저장소에 반영하고 싶다. 그렇다면 pull 요청을 해야한다. fork한 저장소를 브랜치를 생성해 변경하였다면 pull request요청을 할 버튼이 생성되는데 이를 클릭해 pull request를 요청하면 끝이다! 이 때 merge를 원하는 브랜치를 선택해 요청하면 된다.