🖥️ 시작하며

학부 3학년생이나 됐는데 아직도 Github에 대해 잘 모르는 것 같다. 기껏해야 할 수 있는 일은 그냥 개인 프로젝트에서 branch 만들고 add하고 commit하고 push하고.. 아직도 ‘협업을 위한’ Github에는 물음표를 띄우게 된다.

이제 졸업작품을 시작해야 한다. 우리 팀장이 이제 이슈관리를 통해 Repo를 관리하자고 해서, 이를 짤막하게 기록해두려고 한다.

Issue?

alt text

깃허브에서 Issue는 프로젝트에서 작업해야 할 단위다. 개발해야 하는 기능, 수정해야 할 버그 사항 등등 프로젝트에서 발생되는 작업들을 이슈로 생성하여 관리할 수 있다.

PR?

alt text

PR은 내가 수정한 커밋들을 원본 Repository에 Pull해줄 것을 Request하는 작업이다. 즉, 다른 브랜치에서 변경 사항을 수정한 후 이를 원본 Repo의 소유자에게 Merge해달라고 요청할 수 있다.

그래서 어떻게 하는데?

우선 팀장이 원본 Repo를 생성하고, 팀원이 이를 Fork한다.

alt text

팀장이 Issue를 생성한다.


alt text


Fork한 Repo를 로컬 Repo로 불러온다.

# .을 붙여 현재 폴더에 clone시킴
git clone {나의 Repo 주소} .

alt text


git remote 를 통해 원본 Repo에 연결한다.

# 일반적으로 upstream이라 이름 붙인다고 한다.
git remote add upstream {원본 Repo 주소}

# 팀장의 최신 변경 사항 가져오기
git fetch upstream

# 메인 브랜치로 이동
git checkout main

# 팀장의 최신 변경 사항을 내 메인 브랜치에 병합
git merge upstream/main

alt text


새로운 branch 생성 후 이슈 관리한다. 여기서 branch 이름은 보통 이슈 이름으로 한다.

# branch 생성 후 switch
git checkout -b {생성할 branch 이름}

alt text


수정사항 반영 후 branch에 push 한다.

git add .
git commit -m "커밋 메세지"
git push origin {branch 이름}

alt text


push를 완료하면 나의 Repo에 자동으로 Pull Request 버튼이 활성화됨

alt text alt text


팀장의 원본 Repo에서 Merge pull request 버튼이 활성화됨

alt text


성공적으로 반영!

alt text

참고 문헌

[Github 협업, 이것만은 알자] - Issue & PR
[Git] Commit Message / PR 잘 쓰는 방법
Git을 이용한 협업: Fork 부터 Pull Request 까지