2016년 6월 22일 수요일

[Git Flow] egit + git bash를 이용한 Eclipse 에서 관리 방법


Git에서 효율적으로 branch 관리를 하기 위해서 Git flow를 활용한다.

개발 툴로 Eclipse를 쓰고 있고 빌드는 Gradle로 하고 있으므로

이에 맞춰서 활용할 수 있는 방법을 설명한다.

먼저 그전에 Git Flow 에 대해서 설명한다.

1. Git Flow
    Git Flow는 프로젝트 개발 시 사용하는 branch 모델 방법이다.
   이 모델은 총 5가지의 Branch 전략을 제공한다.

  •    feature – develop – release – hotfixes – master 로 되어 있으며 각각은 역할이 있다.

   1) master : master 브런치는 최종 점검을 마치고 릴리즈한 안정화된 브런치다.
   2) develop : 개발 중인 사항의 최종 통합 브런치다. 
   3) release : 제품 배포를 준비하는 브런치다. 
   4) feature : 조만간 제품을 배포하거나 또는 다음에 배포를 위한 기능 개발을 위한 브런치다.
   5) hotfixes : 버그를 잡기 위한 긴급 수정을 위한 브런치다.

2. Git Flow 사용법
    Git이 설치되어 있고 Eclipse 와 Egit Plugin이 설치되어 있다는 가정하에 진행한다.
   또한 현재 프로젝트는 Git Project일 경우로 한하여 진행한다.

     1) Git Flow를 설정할 프로젝트 폴더로 이동한다.

     2) 마우스 우클릭 후 Git Bash Here을 선택

      
  3) Git Bash에서 git status 명령어로 현재 이 프로젝트의 commit 상태를 확인한다.

     

   












4) 커밋할 사항이 아니면 gitignore 파일에 추가하거나 , git stash로 돌린다.













 5) 그 후 git flow init 명령어로 git flow를 실행한다.



    
   








 













  6) branch전략을 어떻게 할지 나오는데 계속 엔터치면서 지나가면 된다.

  


  





   
  7) 끝나면 branch가 master에서 develop으로 바뀐 것을 확인할 수 있다.



  
  
    




    

 

     8) 여기서 기능 개발을 하려고 한다면 feature 브런치를 만들어 주자.
     9) 명령어 git flow feature start '[branch detail name]'




    





      10) 작업이 완료되면 branch가 develop -> feature/[branch detail name] 으로 변경된다.



   
   





 



      11) 개발이 끝나면 git flow feature finish '[branch detail name]' 명령어를 입력한다.
      12) 배포 준비를 할 경우  release branch를 만들어 최종 release 점검을 진행한다.
















      13) 명령어 git flow release start '[branch detail name]'



     





      14) branch 가 deveop -> release/[branch detail name] 으로 변경 된다.








     



   



      15) 그 후 release 준비가 모두 끝나면 git flow release finish '[branch detail name]' 입력
      16) Tag Edit 화면이 뜨면 리눅스 입력창과 똑같이 하면 된다. a키 누르고 tag 넣고
             esc-> :wq 입력하면 저장된다.




  











    17) 그러면 branch 가 master로 변경되며 최종 release가 왼료 된다. 




참고 
http://huns.me/development/1131
http://mobicon.tistory.com/280

댓글 없음:

댓글 쓰기