Git 리모트(remote) 브랜치 생성 및 삭제하기

November 28, 2017

요즘 진행하고 있는 프로젝트가 각자 원격에서 리모트로 git을 통해서 작업하고 있다 보니, 해당 부분에 대한 이력이 있어야 할 것 같습니다.
진행하고 있는 프로젝트는 각자가 해야할 feature들을 branch로 따고, 이후 pull request를 보내면, merge를 담당하시는 분이 기준 branch에 merge를 하는 형태로 작업하고 있습니다.

git에서 개념을 보면, local 브랜치와 저장소에 있는 remote 브랜치로 나뉠 수 있습니다. 해당 포스팅은 command창에서 branch를 원격으로 생성하는 법과, 브랜치 삭제하는 내용을 다루겠습니다.

branch 생성하기

local에서 feature-01이라는 branch를 작성하고 싶을때는, 다음과 같은 command를 통해서 feature-01 branch를 생성할 수 있습니다.

git checkout -b feature-01

만약, 해당 branch를 저장소 remote branch에도 생성하고 싶을때는, 다음과 같은 command를 사용합니다.

git push origin feature-01

이렇게되면 local과 저장소의 remote branch가 생성됩니다.
생성된 branch는 각자가 local 및 저장소 기준이므로, local의 branch를 retmoe branch와 연동하는 작업을 수행하는 것이 좋습니다.
branch 연동은 다음을 통해 수행합니다.

git branch --set-upstream-to origin/feature-01

branch 삭제하기

작업이 끝나고, 기준 branch로 pull request가 종료되어서 merge까지 완료 되었다면, 해당 branch를 삭제 해줍니다.
merge 작업이 끝난 local의 feature-01 branch를 삭제하기 위해서는, 다른 branch로 checkout 후, feature-01 branch를 삭제해 주어야 합니다.
여기서는 develop branch로 이동해서 feature-01 branch를 삭제해 보겠습니다.

git checkout develop
git branch --delete feature-01

그러나, 작업된 사항이나 commit 한 이력이 남아있는 경우, 해당 command로 branch가 삭제되지 않는 경우가 있습니다.
이러한 경우에는 강제로 branch를 삭제할 수 있습니다.

git branch -D feature-01

-D(대문자) option을 통해서 local branch를 강제로 삭제할 수 있습니다.

이 경우, local의 branch는 삭제 되었으나, remote branch는 삭제가 아직 되지 않았습니다. remote branch를 삭제하기 위해서는, 다음과 같은 command를 수행합니다.

git push origin :feature-01

해당 command를 통해서 원격 remote branch를 삭제할 수 있습니다.

...