Introduction
Branch 를 자유자재로 쓰기위한 기본단계로, 서버단의 branch 를 생성하고 서버의 branch 를 가져오는 방법을 기술하고자 한다. 설명을 좀 쉽게 하기 위해 git push를 하는 곳을 서버라 하고, 서버로 부터 내용을 받아오는 곳을 클라이언트라 가정한다.
Description
0. branch 관련 기본 명령어
- branch 생성 : git branch [branch이름]
- branch 변경 : git checkout [branch이름]
- branch list 보기 : git branch 또는 git branch -a
(예) 클라이언트에서 만약 서버의 모든 branch 를 보고 싶으면 git branch -a를 하면 된다. 앞에 origin/ 으로 된 것이 서버쪽의 branch list 이다. (버전 1.6.3.1에서는 remotes/origin/ 으로 보임)이 이는 hidden value 이기 때문에 -a 옵션을 주어야 나온다. * 가 붙은 branch 는 현재 내가 있는 곳이다. 단 변경된 사항을 먼저 받고 ( git fetch 나 git pull ) git branch -a 를 해야 최근의 리스트가 나온다.
$ git branch -a
$ git branch -a
* master
origin/HEAD
origin/branchtest
origin/master
1. 서버에 branch를 생성하는 방법 : 서버에 생성을 하는 것으로 아직 클라이언트에는 branch가 만들어지지 않는다.
현재 작업하고 있는 branch 가 project 1 이고 서버의 branchtest 라는 branch 에 올리고 싶은경우 다음과 같이 하면된다.
$ git push origin [올리고자 하는 branch이름]:[target branch이름]
(예) $ git push origin project1:branchtest
2. 서버쪽 branch를 복사하는 방법 : 클라이언트에 branch 를 생성한 후 서버의 branch 안의 내용을 복사한다.
merge 할 branch로 이동한다.
$ git checkout [branch name]
$ git fetch
$ git merge origin/[가져올 remote branch]
또는
또는
$ git pull origin/[가져올 remote branch]
(예) $ git checkout project1
$ git pull origin/branchtest
3. 현재까지의 변화를 서버쪽 branch 에 적용시키는 방법 : 클라이언트의 적용시키길 원하는 branch 로 이동후 add, commit, push 를 하면 된다. 기존에 master 에서 소스 올릴때 하는것과 동일하다.
p.s 만약 clone 명령을 통해 서버의 내용을 받아오는경우, 서버가 현재 속해있는 branch 만을 가져온다.
'Tools for Dev' 카테고리의 다른 글
git-tag 특정 commit 에 tag 달기 (0) | 2009.06.04 |
---|---|
Graphviz - Graph Visualization Software (0) | 2009.05.28 |
SyncToy 2.0 - 파일 동기화 프로그램 (0) | 2009.04.29 |
Putty 한글 설정하기 (EUCKR) (4) | 2009.03.06 |
GIT - error: remote: unable to find (0) | 2009.03.04 |
댓글