통합브랜치(Integration Branch)

언제든 배포 할수 있는 안정적인 상태의 브랜치. 보통 MASTER 를 통합브랜치로 사용한다.


토픽브랜치(Topic Branch)

통합브랜치에서 파생되는 단위 작업등을 위한 브랜치. 여러개 생성가능. 통합브랜치를 메인으로 하여 생성하고 작업이 완료 되면 다시 병합된다. 


A successful Git branching model



새로운 브랜치 생성


> git branch <브랜치명>


삭제 할경우는 -d 옵션을 사용


> git branch -d <브랜치명>


브랜치 목록 전체 확인


> git branch

  브랜치명

* master


아마 이전에 만든적이 없다면 위처럼 나올것이다. master 의 색이 다르고 * 표시가 있다.


remote 저장소의 branch 를 확인하려면 -r 옵션을 사용한다. 로컬과 원격 모두 확인하려면 -a 를 사용한다.


> git branch -r

> git branch -a


좀더 상세한 내역 및 추적상태나 push, pull 사용시 -u 옵션으로 저장된 매핑 상태등을 보기를 원한다면 다음 명령을 입력한다.


> git remote show origin


remote 저장소의 head 포인터 추적상태는 다음명령으로 확인 할 수 있다.


> git ls-remote --heads origin


사용할 브랜치를 선언 (checkout 사용) 한후 목록확인


> git checkout <브랜치명>

> git branch

* 브랜치명

   master


색과 * 표시가 변경되었다. ( HEAD 가 브랜치로 이동된다. )


아래처럼 b 옵션을 입력하면 생성함과 동시에 checkout 한다.


> git checkout -b <브랜치명>


파일의 수정후 master 로 이동하고, 병합을 해보자. (fast forward merge)


> git checkout master

> git merge <브랜치명>


파일의 충돌이 일어날 경우. 해당부분을 찾아 수정하고 다시 add, commit 해준다.


이전 커밋의 취소


> git reset --hard HEAD~


옵션에 따른 변경 여부

옵션

HEAD 위치

INDEX

작업트리

 soft

 O

 X

X

 mixed (기본)

 O

O

X

 hard

 O

O

O


** HEAD 를 사용하여 버전이동시

HEAD^ , HEAD~ , HEAD~1 등은 전단계

HEAD^^ , HEAD~2 등은 전전단계.. 로 사용할 수 있다.




Posted by KENSIN
,