지금까지 remote repository에서의 branch에 대해서 살펴보면서,
remote repository에 branch를 추가하는 것에 대해서 아직도 알아보지를 않았다.
1. remote branch 생성
- remote repository 內에 branch를 생성해보자.
$ git branch develop
$ git checkout develop
$ git push origin develop
$ git checkout develop
$ git push origin develop
- remote repository에 원하는 branch를 만들고 싶다면 원하는 이름으로 push를 해버리면 된다.
- 위와 같이 궂이 꼭 별도의 branch를 만들어서 push를 할 필요는 없지만,
예시와 같이 같은 이름의 branch를 만들어서 그 이름으로 push를 통해서 remote branch를 생성하는 것이 편하다.
2. clone
- remote repository가 제대로 되어있는지 확인하기 위해서 새로 clone을 한 번 해보자.
$ git clone chani@localhost:/srv/repository/bare1repo.git
$ cd bare1repo
$ git branch -a
$ cd bare1repo
$ git branch -a
3. tracking
- local master branch에서 작업을 한 뒤에 [ git push ]를 하면 알아서 'origin/master'에 들어간다.
- 이는 서로간에 tracking 관계가 설정되어 있기에 그냥 되는 것이다.
$ git checkout --track origin/develop
$ git config -l
$ git config -l
- remote에 위치하고 있는 'origin/develop' branch를 따르는 branch를 local에 생성을 하고 싶다면,
[ git checkout --track origin/develop ] 명령을 사용하면 된다.
- 그러면, local 에서 'develop' 이라는 이름으로 branch를 생성하고, checkout 까지 한다.
- 더불어, 핵심 포인트인 'develop ~ origin/develop' 사이에 tracking 기능이 설정이 된다.
- tracking 관계를 확인하기 위해서는 [ git config -l ] 명령을 사용하면 된다. 뒤의 옵션은 "L"이다.
- 밑 부분의 branch 를 살펴보면 연결관계를 확인할 수 있다.
4. checkout track
- [ --track ] 옵션으로 생성을 하게 되면 local branch 이름을 remote branch 이름과 똑같이 설정을 한다.
$ git checkout -b hotfix origin/develop
- 위와 같이 'hotfix'라는 이름으로 'origin/develop'을 tracking 하는 local branch를 생성하였다.
5. delete
- 만들었으면 지우는 방법을 알아볼 차례다.
$ git push origin :develop
- [ push ] 명령을 이용하여 remote branch를 삭제하면 되는데, branch 이름 앞에 [ : ]를 붙이면 된다.
- 지금까지의 명령 방법과는 조금 다른 방식이니 주의해야할 것 같다.
tracking 관계에 있게 되면 기본적으로 둘 사이에 밀접한 관계를 맺고 있다는 의미가 된다.
해당 branch에서 작업한 것은 그 관계에 있는 remote branch에 반영을 하겠다라는 의미가 되기 때문이다.
이는 잘 이용하면 상당히 편하게 작업을 할 수 있을 것이다.
아름다운 근로자의 날이다.
근로자 여러분 모두 파이팅~!!!
반응형
'SCM > Git-GitHub' 카테고리의 다른 글
GitWeb + Nginx (0) | 2012.05.09 |
---|---|
SSH Public Key - SSH 공개키 (0) | 2012.05.04 |
Git Branch (브랜치) - Remote Ⅱ (Pull) (0) | 2012.04.30 |
Git Branch (브랜치) - Remote Ⅰ (Fetch) (0) | 2012.04.30 |
Git Branch (브랜치) - Local Ⅴ (ETC) (0) | 2012.04.24 |