Git & Github
- Hugo 블로그를 작성하면서 PaperMod 테마를 사용하고 있습니다.
- 블로그를 사용하던 중 pull request를 만들고자 하던 중.. 문제가 생겼습니다.
- 원본 repository를 fork하여 저만의 PaperMod repository를 만들었습니다.
- (아무런 생각없이) 저만의 블로그로 수정에 수정을 거듭하며 master branch에 commit이 쌓여갑니다.
- pull request 버튼을 누르니.. 지금까지 commit한 모든 내용이 pull request에 포함됩니다.
- 원하는 commit message만 pull request하는 방법을 찾아보았지만.. 처음부터 branch를 나누고, 작업을 진행했어야 합니다.
- 눈물을 머금고.. upstream branch로부터 local branch를 생성하고 pull request 하는 방법을 공부합니다.
Git remote 연결
- remote 연결은 두 가지(origin/upstream)가 필요합니다.
- origin: forked repository
- upstream: original repository
|
|
Git origin repository 내용 복사
- Git에 올라가있는 내용물을 받습니다.
- git pull
remote
branch
순서로 작성합니다.
|
|
Git upstream 최신 내용 반영
- 원본(upstream) branch 내용물이 upstream/master에 동기화됩니다.
- 최신 버전의 upstream branch를 다운로드 하고 본인의 repository에 반영합니다.
|
|
Git local branch 생성
- 개발중인 기능이나, 실험적인 내용은 branch를 만들어 분리하는 것이 좋습니다.
- branch 생성은 git checkout -b
<branch_name>
<target_branch>
로 작성합니다.
|
|
Git 원하는 commit만 반영하기
- commit message는 작은 변경점 단위로 쪼개는 것이 좋습니다.
- 그래야 실수했을 경우 부분적으로 돌아갈 수 있기 때문입니다.
- cherry-pick 기능을 사용하여 원하는 commit 내용을 반영합니다.
|
|
이후..
- upstream branch로부터 깨끗한 local branch를 만들 수 있습니다.
- local branch에 원하는 commit을 적용하거나, 직접 수정 후 commit & push 하여 git에 반영합니다.
- 특정 branch의 commit을 가지고 pull request를 요청합니다.