git flow 에서 hotfix 사용 방법

git flow 에 익숙해져 가고 있는데 hotfix 사용법에 익숙치 않아서 애를 먹었다.

나중에 잊어버리지 않기 위해 hotfix 사용방법을 여기에 기록해둔다.

git flow hotfix start <핫픽스버전이름> <베이스버전이름>

명령으로 origin의 특정 브랜치로부터 핫픽스 브랜치를 시작한다.

수정작업을 진행한다.

수정작업을 진행하며 git commit 명령으로 계속 커밋을 해놓는다.

저장소로 커밋 내용을 보내기 위해

git push -u hotfix/<핫픽스버전이름>:hotfix/<핫픽스버전이름>

을 입력해서 저장소의 hotfix/<핫픽스버전이름> 브랜치로 계속 push를 한다.

수정 작업이 마무리되고 모든 것이 끝났다면 로컬의 develop 브랜치로 이동한 다음, git pull 명령을 입력하여 다른 사람들이 작업했던 것들을 받아온다.

git flow hotfix finish <핫픽스버전이름>

명령을 사용하여 핫픽스를 종료하고 hotfix 브랜치를 삭제하고 develop 브랜치에 변경 내용을 병합한다. 충돌이 나면 수정한다.

git push 명령으로 저장소에 반영한다.

git에서 stash 명령 사용하기

git으로 작업을 하다가 git flow init를 한것을 깜빡 잊고 그냥 작업을 하다가 생각이 나서 git flow init를 하면 오류가 난다.

git flow init 를 하려면 기존에 수정하던 사항들을 버려야되는데 그렇게 하지 않기 위해 git stash 를 사용한다.

git stash를 입력하면 지금 수정사항들이 모두 임시공간으로 들어가게 된다.

수정사항들이 임시공간으로 옮겨지면 작업을 하고 있던 working copy 가 깨끗한 상태가 된다. 이 상태에서git flow 작동을 하거나 혹은 git을 이용한 다른 작업을 모두 다 한 다음 git stash pop을 입력하면 아까 임시공간에 넣어둔 수정사항들이 다시 working copy에 반영이 된다.

현재 수정사항 떄문에 git의 다른 작업이 안될 때 유용하게 쓰일 수 있다.

git stash 에 대하여 잘 나와있는 글 : http://blog.outsider.ne.kr/788

SourceTree와 함께 Git과 git-flow 사용해보기

최근 회사에서 Subversion에서 Git으로 이전하고 있고 나 역시도 이제부터는 Git으로 옮겨가려는 생각이라 내 서버에 Git을 설치하고 사용해보기로 한다.

서버에는 yum으로 Git을 설치했다. 몇번의 시행착오끝에 방법을 알게되어 기록해놓는다.

서버에 저장소를 만들려면 다음의 순서를 따른다.

  1. 저장소 레포지토리를 만들 위치에 가서 mkdir로 디렉토리를 만든다. 일반적으로는 ‘프로젝트이름.git’을 사용하는듯하다.
  2. 만든 디렉토리롤 들어가서 ‘git init –bare’를 입력하여 초기화한다.

여기까지가 서버상의 설정이다. 물론 권한등을 더 설정해야할 수도 있다.

이제 SourceTree 어플리케이션을 사용해본다.

  1. SourceTree에서 저장소를 설정하여 연동한다.
  2. Git은 아무 파일도 없다면 master 브랜치가 생성되지 않는다고 한다. 로컬컴퓨터의 working copy 디렉토리에 touch 명령어로 빈파일을 하나 생성한다.
  3. SourceTree에 가서 commit을 한다.
  4. master 브랜치가 생성되을 것이므로 SourceTree의 git-flow 버튼을 눌러서 초기화하겠다는 창이 뜨면 OK를 눌러서 초기화한다.
  5. 이제 git-flow를 사용할 준비 완료.

몇번의 삽질 끝에 대략 이러한 과정을 거치면 된다는 것을 알았다. 나머지 레드마인과의 연동 등은 다음에 정리해보는 것으로.