[Github] Tips

Tip 2015.08.26 17:02

Github의 프로젝트를 직접 다운받아 수정 후 upstream에 기여하는 방법에 대한 Tip 정리


SSH key 등록

저장소 생성

  • 대부분의 Github 프로젝트는 upstream으로부터 자기 계정의 fork 하여 개발 후 upstream에 merge를 요청하게 된다.
  • 이를 pull request 라고 한다.
  • Github 프로젝트에서 우측 상단에 Fork버튼을 눌러 프로젝트 저장소를 생성한다.

개발

  • fork하여 생성된 저장수에서 개발 및 수정을 하고 commit & push를 자유롭게 할 수 있다.
  • upstream에서 받아온 merge commit과 자신의 commit이 섞여 있어서 보기에 안좋을 때는 git rebase를 하도록 한다.
    • git rebase
  • 이전에 commit 한 내용을 수정하려면, 내용을 수정한뒤 다음 명령어를 사용하여 중복된 수정내용을 하나의 commit으로 합칠 수 있다.
    • git commit --amend
  • 만약 commit 한 내용을 이미 push 하였다면 다음 명령어를 사용하여 이전의 push에 강제로 합칠 수 있다.
    • git push --force

Upstream 프로젝트의 변경 사항을 받아오기

  • Upstream의 변경 사항을 fork받은 자신의 프로젝트에 반영하려면 remote에 upstream 설정을 해 놓아야 한다.
  • remote 설정
    • // remote에 upstream 설정 등록

      // upstreamname 및 projectname 설정 필요

      git remote add upstream git://github.com/upstreamname/projectname.git


      // upstream의 반영사항을 받아온다.

      git fetch upstream


      // upstream의 반영사항으로 rebase

      git rebase upstream/master


      // git push

      git push -f master


      // 최신내용을 현재 작업하고 있는 브랜치에 merge

      git merge upstream/master 

내 변경 사항을 Upstream에 반영하기

  • 내 변경사항이 모두 push되었으면 원래 프로젝트로 가서 Pull requests 버튼을 눌러 나의 변경사항이 원본프로젝트에 반영되도록 요청한다.

Reference


Posted by leechwin