본문 바로가기
Server/Ubuntu

[Git flow] feature publishing 하기

by 유주원 2017. 11. 26.

2017/11/14 - [Server/Ubuntu] - [GIT FLOW] git flow를 사용해 보자!


git flow에서 feature branch에 있는 코드를 같이 작업하기 위해서는 feature branch를 remote 저장소에 올려서 작업을 해야 한다.

나 같은 경우에는 feature branch에서 따로 협업할 일은 없었지만, 회사의 업무를 집에서 이어서 하고자 하려면 feature branch를 원격 저장소에 publish를 해야만 했다. 

가령 test1이라는 feature branch를 원격 저장소에 올리고 싶은 경우 아래와 같이 feature publish를 통해 remote 저장소에 feature branch를 올릴 수가 있다. 

$> git flow feature publish test1

위와 같이 입력하고 나면 원격 저장소에는 아래의 그림과 같이 feature branch가 추가가 된다.

원격 저장소에 있는 feature branch를 받을 때는 아래와 같이 쓰면 된다.

$> git flow feature pull origin test1


이번에는 text 파일 하나를 추가한 다음 feature branch에 push를 진행해 보자.

$> touch test.txt

$> git add test.txt

$> git commit -m "add test.txt"

$> git push origin feature/test1


publish를 통해 feature branch를 가지고 온 이후에는 branch push를 통해 git 저장소를 원격에 push 하자.

원격 저장소를 살펴보면 test.txt가 업로드 된 것을 확인할 수가 있다.


이번에는 다른 쪽 작업 공간에서 git pull을 통해 feature branch 변경 사항을 가져와 보자.

$> git pull origin feature/test1


한 가지 단점을 발견했는데 개발이 끝난 feature branch의 경우 feature finish를 통해 develop branch에 merge를 해줘도 원격 저장소에는 계속 feature branch가 남는 다는 단점이 있다. feature/test1을 feature finish 해 줬지만 아래의 그림처럼 원격 저장소에서의 feature branch는 그대로 남아 있다. 나중에 수동으로 지워줘야 하나?? 

이 부분만 좀 더 개선된다면 feature branch를 사용함에 있어 더욱 편할 것 같다.


참고로 local branch 삭제와 원격 저장소의 branch 삭제는 아래와 같이 하면 된다.

# local branch 삭제

$> git branch -D [브랜치 이름]

# 원격 저장소 branch 삭제

$> git push origin --delete [브랜치 이름]