* git flow 설치 방식

http://knight76.tistory.com/entry/cygwin-%EC%97%90%EC%84%9C-git-flow-%EC%84%A4%EC%B9%98




git flow 설치 이후 쓸만한 예제를 올린다.



(1) 사례 1

remote에 develop가 없는 경우, develop에 먼저 작업을 한 후 문제가 없다면 master로 자동 merging 이 되게 하는 예제. 따로 rebase나 merge가 필요없음.



(develop) $ 


  [ 코딩 작업]


(develop) $ git add .

(develop) $ git commti -m '~~~'

(develop) $ git checkout master

(master) $ 

(master) $ git status

# On branch master

# Your branch is ahead of 'origin/master' by 1 commit.

#

nothing to commit (working directory clean)


(master) $ git pull

remote: Counting objects: 5, done.

remote: Compressing objects: 100% (5/5), done.

remote: Total 5 (delta 0), reused 0 (delta 0)

Unpacking objects: 100% (5/5), done.

From git주소

 * [new tag]         R201206101818 -> R201206101818

 * [new tag]         R201206101950 -> R201206101950

 * [new tag]         R201206112159 -> R201206112159

 * [new tag]         R201206112210 -> R201206112210

 * [new tag]         R201206121457 -> R201206121457

Already up-to-date.


  [master branch에 develop에 작업된 내용이 적용된 상태]


(master) $ git push



  [개발된 것 서버로 push됨]



(master) $ git checkout develop




(2) 사례 2


develop 을 remote에 push하고 사용하는 경우.  develop와 master가 완전히 따로 따로 작업한다. rebase (또는 merge) 작업을 통해서 진행한다. 



(develop) $ git push origin develop

 * [new branch]      develop -> develop


 [코딩 작업]


(develop) $ git add .

(develop) $ git commit -m 'blah blah'

(develop) $ git push




(develop) $ git checkout master

(master) $ 


(master) $ git pull

(master) $ git rebase develop



 [소스 보면서 잘 되었는지 확인]


(master) $ git push 

 

 

(3)사례 3

 

git flow에 있는 것처럼..

remote 에 develop 을 만든 상태에서 feature를 따고(start) feature를 develop에 잘 녹이게 하고. (finish)

develop에 잘 push한다.

 


(develop) $  git flow feature start feature-a
(feature-a) $

  [코딩 작업]

(feature-a) $  git flow feature finish feature-a

Summary of actions:
- The feature branch 'feature/feature-a' was merged into 'develop'
- Feature branch 'feature/feature-a' has been removed
- You are now on branch 'develop'

  [ 여기서 feauture는 develop 브랜치에 잘 녹여들고 완전히 사라진다. local 영역이라서 지워짐 ]

(develop) $ git checkout deveop
 
(develop) $ git push

 원격에 있는 develop 에 잘 정한다.  develop 브랜치를 가지고 beta 테스트를 해본다. ,


 

 







Posted by '김용환'
,