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
'Devops > DevOps' 카테고리의 다른 글
무료 협업 도구 비교 (0) | 2021.11.16 |
---|---|
서버리스는 서버가 없는 걸까? (0) | 2021.11.15 |
서버 관리의 변천사 (0) | 2021.09.13 |
[백엔드 개발자 로드맵 2020] 소프트웨어 개발 원칙 (SOLID + KISS, YAGNI, DRY) (0) | 2021.02.14 |
[데브옵스 개발자 로드맵 2020] API 보안기법 - 2. API 인가 (Authorization) (0) | 2021.02.08 |