블로그 이미지
Peter Note
Web & LLM FullStacker, Application Architecter, KnowHow Dispenser and Bike Rider

Publication

Category

Recent Post

2013. 4. 23. 22:08 Git, GitHub

Dogfeet 이분이 Git 전문가라는 생각이 든다. 번역본도 충실하며 끊임없이 노력하는 모습이 마음에 든다. 본받고 싶은분~~~



Git의 성공적인 Branching 전략

  - 성공적인 브랜칭 전략 한글 번역본 읽자

  - 일하는 flow (Workflow) 형태를 이해하고 싶다면 정리한  보자 (Pro Git 한글 번역본중 일부를 정리한 것임)



GitFlow 설치하여 Branching 전략에 맞는 Branch 생성하여 작업하기 

  - 설치 : 다양한 OS 설치 가이드

< 1단계 > 

$ git clone --recursive git://github.com/nvie/gitflow.git

$ sudo make install  (mac 경우 /usr/local/bin 에 설치된다)


 만일 /opt/local/bin에 설치를 원하면 하기와 같이 수행

$ sudo make prefix=/opt/local install


< 2단계 >

$ sudo chmod 755 /usr/local/bin/gitflow* (git-flow*)  

  또는 /opt/local/bin에 설치되었다면 

$ sudo chmod 755 /opt/local/bin/gitflow* (git-flow*)  


< 3단계 > 

/bin/sh^M 오류시 dos2unix 수행 (명령어 없으면 설치)

$ dos2unix /usr/local/bin/gitflow* 


  - 사용법 : 설명 원문

< 1단계 > 

최초 git flow 방식의 branch 전략을 사용할 계획인 git repository로 이동하여 한번만 셋업하기 


$ git flow init

No branches exist yet. Base branches must be created now.

Branch name for production releases: [master]

Branch name for "next release" development: [develop]


How to name your supporting branch prefixes?

Feature branches? [feature/]

Release branches? [release/]

Hotfix branches? [hotfix/]

Support branches? [support/]

Version tag prefix? []   <= 요건 주지 말자. 주게되면 git tag 시에 명칭의 앞에 항상 따라 붙는다. 


< 2단계 > 

feature 디렉토리 밑으로 login 브랜치 생성 

$ git flow feature start login


login commit 하고 develop 브랜치에 merge 하고 login 브랜치 삭제하고 develop 브랜치로 돌아옴 

$ git flow feature finish login


release v0.1.0 브랜치 생성 

$ git flow release start v0.1.0


release v0.1.0 브랜치를 태깅하고 master를 develop에 merge 해준다. 따라서 git checkout develop으로 이동해서 작업가능하다 

$ git flow release finish v0.1.0

  

  - 그래픽컬한 설명 (강추)



그림 보면서 Git 이해하기

  - 비쥬얼 Git 레퍼런스 한글 : 자주 사용하는 명령을 그림과 함께 설명

  - 왜 Git을 사용하는가? : 이제 Git으로 소스, 문서작업을 하자 



Dogfeet 님의 블로그 포스팅 참조

  - http://dogfeet.github.io/ : Git 과 GitHub 그리고 JavaScript, Node.js 에 대한 다양한 주제를 다루고 있다





<참조>

  - GitFlow 적용하기 

posted by Peter Note