====== Github Collaboration ====== * Github으로 OpenSource 프로젝트에 기여하기 * [[http://net.tutsplus.com/tutorials/tools-and-tips/how-to-collaborate-on-github/|How to callaborate on github]] ===== Forking ===== * Github에서 원하는 프로젝트를 포크하여 자신의 프로젝트로 가져온다. ===== Cloning ===== * 자신의 github에 포킹한 프로젝트를 로컬로 클론한다. ===== Upstream remote 추가 ===== cd opensourceproject git remote add upstream git@github.com:/원래/프로젝트.git ===== Upstream을 내 master에 받아오기 ===== # Upstream 프로젝트 머지 git fetch upstream git merge upstream/master ===== Topic 브랜치를 따라 ===== 자기가 작업하고 싶은 사안에 대한 Topic branch를 딴다. 그리고 작업을 하고 커밋한다. 여기서 345는 github 이슈번호 예제이다. git checkout -b enhancement_345 ===== 커밋하기 ===== 커밋할 때는 ''fixes #이슈번호'' 형태로 만들면 Github 이슈에 적용된다. [[https://help.github.com/articles/closing-issues-via-commit-messages|Closing issues via commit messages]] git commit -am "Adding a header; fixes #3" ===== 자신의 포킹한 프로젝트로 Push한다 ===== git push origin enhancement_345 ===== Pull Request ===== * Githup의 포킹한 프로젝트 페이지로 간다. * "Your recently pushed branches"가 보인다면 **"Compare and Pull Request"**를 선택한다. * 그렇지 않다면, 원하는 브랜치를 선택하고, **"Pull Request"** 혹은 "Compare"를 누른다. * **이때 비교 대상이 되는 브랜치가 정확히 Pull Request를 보내고 싶은 브랜치인지 확인이 필요하다.** ===== 중요! ===== * 예의를 지켜라. * 원래 프로젝트의 기준을 존중하라. * 내 Pull Request를 반영할지 여부는 관리자의 재량권이다. 무조건 반영 될 것이라고 착각하지 말라.