Git - 리모트 브랜치 생성과 삭제

터미널에서 Remote branch(원격 브랜치)를 생성하고 삭제하는 방법을 소개합니다.

1. 리모트 브랜치 생성

GitHub에 저장소(Repository)에 리모트 브랜치를 추가하는 것을 보여드리겠습니다.

아래 화면은 GitHub에 생성한 Repository인데, 기본적으로 master 브랜치만 있습니다. git - add remote branch

1.1 로컬 브랜치 생성 및 commit 추가

기본적으로 리모트 브랜치를 추가하려면, 로컬에 새로운 브랜치를 만들고 그 브랜치를 리모트에 추가하면 됩니다.

현재 로컬에 저장된 git의 모든 브랜치를 확인해보면 아래와 같습니다.

$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

여기서 아래 명령어로 master 브랜치를 베이스로 dev 브랜치를 만들고 checkout하였습니다.

$ git checkout -b dev master
Switched to a new branch 'dev'

다시 모든 브랜치 리스트를 확인해보면, dev라는 이름으로 로컬 브랜치가 추가된 것을 확인할 수 있습니다.

$ git branch -a
* dev
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

이제 로컬 브랜치 dev를 리모트에 추가하면 됩니다.

1.2 리모트 브랜치 추가

아래와 같이 git push [remote] [branch] 명령어로, 로컬 브랜치 dev를 리모트 브랜치로 추가할 수 있습니다. (remote는 따로 설정하지 않으면 origin)

$ git push origin dev
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 270 bytes | 270.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
remote:
remote: Create a pull request for 'dev' on GitHub by visiting:
remote:      https://github.com/codechacha/Test-Driven-Development-ByExample/pull/new/dev
remote:
To github.com:codechacha/Test-Driven-Development-ByExample.git
 * [new branch]      dev -> dev

모든 브랜치 리스트를 확인해보면 리모트 브랜치에 dev가 추가된 것을 확인할 수 있습니다.

$ git branch -a
* dev
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master

GitHub에도 dev 브랜치가 추가된 것을 확인할 수 있습니다. git - add remote branch

2. 리모트 브랜치 삭제 (1)

아래와 같이 git push [remote] --delete [branch] 명령어로 리모트에서 dev 브랜치를 삭제할 수 있습니다.

$ git push origin --delete dev
To github.com:codechacha/Test-Driven-Development-ByExample.git
 - [deleted]         dev

전체 브랜치를 확인해보면 리모트에서 dev 브랜치가 삭제되었고, 로컬 dev 브랜치는 남아있는 것을 확인할 수 있습니다.

$ git branch -a
* dev
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

3. 리모트 브랜치 삭제 (2)

다른 방법으로, git branch -d -r [branch] 명령어로 리모트 브랜치를 삭제할 수 있습니다.

다음과 같이 리모트에 dev 브랜치가 있을 때,

$ git branch -a
* dev
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master

아래와 같은 명령어로 리모트 브랜치를 삭제할 수 있습니다. 브랜치 이름에서 remotes/는 제외하고 origin/dev만 입력하셔야 합니다.

$ git branch -d -r origin/dev
Deleted remote-tracking branch origin/dev (was 1ed9fa9).

삭제 후, 브랜치 리스트를 확인해보면 리모트에서 dev 브랜치가 삭제된 것을 확인할 수 있습니다.

$ git branch -a
* dev
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
Loading script...
codechachaCopyright ©2019 codechacha