320x100
320x100

1. Issue

: 사용하다가 발견한 버그나 기능에 대한 의견을 제시하는 기능

: 본인이 바로 처리할 수 있는 이벤트라도 이슈를 먼저 제기해서 다른 사람들의 동의를 구하는 것을 권장

: 이슈에는 번호가 부여되는데 해시태그(#)를 통해 특정 이슈를 검색하거나 언급

: 이슈를 업로드 하기전 같은 비슷한 이슈가 있는지 검색 요망 

 

 

 

2. Fork & Clone

ㆍFork

: 기여하고 싶은 레포지터리를 복사하여 자신의 레포지터리에 생성하는 기능

 

ㆍClone

: 특정한 레포지터리를 로컬 저장소로 복사하는 기능

: remote가 따로 필요없이 원격 레포지터리와 연결됨

: git clone <레포지터리주소>

 

 

3. Remote Repository추가

: 로컬 저장소(origin)와 원격 저장소와의 버전 싱크를 맞추기 위한 작업

 

ㆍ원격 레포지터리 추가

: git remote add upstream <레포지터리주소>

 

ㆍ원격 레포지터리 목록 확인

: git remote -v

 

 

 

4. 브랜치 생성 및 작업

ㆍ브랜치

: 레포지터리의 코드를 버전별로 관리하기 위한 독립적인 영역

 

ㆍ브랜치 생성 및 작업

: git checkout <브랜치이름>

: 브랜치 생성 후 작업 내용을 commit

 

 

 

5. 작업내용 정리 및 브랜치 병합

ㆍ소스코드 싱크

: git fetch upstream

(upstream/master 브랜치가 로컬 레포지터리에 생성됨)

: git checkout master

(로컬 저장소의 master 브랜치로 접속)

: git merge upstream/master

(master 브랜치의 커밋을 upstream/master 브랜치로 병합)

 

ㆍ커밋 내역 정리

: git rebase -i master <브랜치명>

(특정 브랜치의 내용을 master 브랜치로 병합)

(master와 특정 브랜치의 공통 조상 커밋 부터 특정 브랜치 까지의 모든 커밋의 base를 

 master브랜치의 위치로 변경)

(commit이 통합되면서 깔끔한 병합 가능)

: git checkout master

: git merge <브랜치명>

 

 

 

6. Push 

: 모든 수정사항이 반영된 master 브랜치의 내용을 원격 저장소로 업로드

: git push origin master

 

 

 

7. Pull Request 생성

: GitHub에서 Fork한 저장소로 접속하면 위와 같은 PR버튼이 나옴

: Compare버튼을 클릭하여 내용을 비교하고 원하는 브랜치로 Pull Request를 생성

 

ㆍIssue 닫기 문법

: close

: closes

: closed

: fix

: fixes

: fixed

: resolve

: resolves

: resolved

ex) close #111

=> Pull Request가 승인되면 해당 이슈가 자동으로 닫힘

 

 

 

8. Merged

: 생성한 Pull Request가 검토 과정을 거쳐 승인되면 원본 소스코드로 병합됨

 

 

 

 

 

 

Refference

 

[Tip] Fork한 Github 소스 원래 소스와 싱크 하기

관심갖고 Fork 한 저장소(Repository)의 커밋 내역을 원래 저장소의 최신 커밋 내역으로 바꾸는 방법은 간단합니다. 먼저 Fork한 자신의 로컬 저장소에 remote로 원래 저장소를 등록해야 합니다. 등록하

www.notforme.kr

 

Git Rebase (1)

안녕하세요, 이번 포스팅과 다음 포스팅에서는 git을 처음 배우는 사람들이 가장 어려워한다는 git rebase에 대해서 알아보도록 하겠습니다. 이번 포스팅은 git에 대해 어느 정도 지식이 있는 사람

suhwan.dev

 

 

오픈 소스 컨트리뷰션을 위한 GitHub Fork & Pull Request

GitHub 에서 오픈 소스를 사용하다보면 발견한 버그를 직접 수정하거나, 새로운 기능을 추가하고 싶을 때가 있습니다. 하지만 어디서부터 어떻게 시작해야할 지 막막하기도 합니다. 이번 포스트

futurecreator.github.io

 

300x250
728x90