git remote branch 생성 및 pull request 까지의 Flow
remote branch 생성하기
1. local branch 생성
현재의 branch 확인
$ git branch
* master
local branch 생성
# git branch <branch명>
$ git branch code-color
local branch 생성 확인
$ git branch
code-color
* master
2. local branch -> remote 저장소로 push 하여 remote branch 생성
origin 이란 remote 저장소를 의미
code-color branch를 remote 저장소에도 push함.
# git push origin <branch명>
$ git push origin code-color
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for 'code-color' on GitHub by visiting:
remote: https://github.com/gymbombom/gymbombom.github.io/pull/new/code-color
remote:
To https://github.com/gymbombom/gymbombom.github.io.git
* [new branch] code-color -> code-color
3. local branch 를 remote brach로 추적하도록 설정
local의 code-color branch에서 git pull 시,
remote branch인 origin/code-color branch 를 추적하도록 설정
$ git branch --set-upstream-to origin/code-color
4. 소스 변경 및 commit , push
현재 local branch 확인
$ git branch
code-color
* master
현재의 local branch가 master 일 경우, 생성한 branch 로 전환
$ git checkout code-color
M .gitignore
M _sass/_highlights.scss
Switched to branch 'code-color'
잘 전환되었는지 확인
$ git branch
* code-color
master
소스를 수정하고 수정된 _sass/_highlights.scss 파일을 local code-color branch 에
commit 하고 remote branch인 origin/code-color branch 에 push 한다.
$ git status
On branch code-color
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: .gitignore
modified: _sass/_highlights.scss
Untracked files:
(use "git add <file>..." to include in what will be committed)
.jekyll-cache/
no changes added to commit (use "git add" and/or "git commit -a")
add
$ git add _sass/_highlights.scss;
commit
$ git commit -m "code 블럭 color 변경";
[code-color 977fa24] code 블럭 color 변경
1 file changed, 8 insertions(+), 1 deletion(-)
remote 의 code-color branch 로 push
$ git push origin code-color
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 463 bytes | 463.00 KiB/s, done.
Total 4 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
To https://github.com/gymbombom/gymbombom.github.io.git
5335b9f..977fa24 code-color -> code-color
pull request
5.remote branch 생성확인 및 compare, pull request 요청
remote branch(github) 에 새로 생성된 branch를 확인하고, compare & pull request 버튼이 생기는데, 해당 버튼을 클릭한다.
pull request 메시지 및 변경사항을 기록하고 create pull request 를 클릭하여 pull request 를 작성한다.
6.pull request 변경사항 확인 및 origin/master branch로 merge후 origin/code-color branch 삭제
pull request 에 대한 변경사항을 확인하고 merge pull request 버튼을 클릭하여 origin/master branch 와 merge 한다.
origin/master branch로 merge 완료되면, remote branch를 삭제한다.
기타 추가 작업
local branch에서 추가 작업해야 하는 것들
local 의 master branch를 pull 한다.
현재 branch 가 code-color branch면, master branch로 전환
$ git branch
* code-color
master
$ git checkout master
M .gitignore
Switched to branch 'master'
Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
git pull로 remote branch 변경사항을 가져온다.
$ git pull
Updating 5335b9f..066eb99
Fast-forward
_sass/_highlights.scss | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
local branch를 삭제한다.
$ git branch -d code-color
Deleted branch code-color (was 977fa24).