미니멜로디

Git 사용법 #3 브랜치(branch)와 태그(tag) 본문

프로젝트 작업일지

Git 사용법 #3 브랜치(branch)와 태그(tag)

미니멜로디 2017.10.16 01:20

Branch

브랜치 목록을 확인하려면

$ git branch

기본 브랜치 이름은 master이다. 현재 해당되는 브랜치 앞에 *가 표시된다.


브랜치를 만들려면

$ git branch 브랜치 이름


해당 브랜치로 전환하려면

$ git checkout 브랜치 이름/커밋ID/태그 이름

$ git checkout -b 브랜치 이름

-b를 붙이면 브랜치를 만들고 해당 브랜치로 전환된다. 체크아웃은 커밋이나 태그로도 가능하다.


모든 브랜치의 기록을 보려면

$ git log --branches

$ git log --branches --graph

$ git log --branches --graph --oneline

--graph를 붙이면 그래프로 표현된다. 서로 커밋상태가 각자의 길을 걷고 있을 때 보기 쉽게 나타난다.
--oneline을 붙이면 보다 더 간결하게 볼 수 있다.


브랜치간의 비교는

$ git log 브랜치 이름 1..브랜치 이름 2

$ git log -p 브랜치 이름 1..브랜치 이름 2


$ git diff 브랜치 이름1..브랜치 이름 2

'브랜치 이름 1'에는 없고 '브랜치 이름 2'에 있는 것만 보여준다.
-p를 붙이면 '브랜치 이름 1'에는 없고 '브랜치 이름 2'에 있는 소스코드만 보여준다.
diff는 소스코드까지 비교하여 보여준다.


'브랜치 이름 2'를 '브랜치 이름 1'에 병합하려면 '브랜치 이름 1'으로 체크아웃 하고

$ git merge 브랜치 이름 2

반대로도 실행하면 '브랜치 이름 1'과 '브랜치 이름 2'가 완전히 똑같아진다.


다른 파일이거나 같은 파일이어도 다른 위치의 내용은 병합되지만, 같은 위치의 내용이 다를 경우 요렇게 오류가 생긴다.
이런 경우 vim 에디터에 들어가서 직접 수정하면 된다. 충돌로 생긴 내용은 삭제한다.


병합 후 필요없는 브랜치를 삭제하려면

$ git branch -d 브랜치 이름

$ git branch -D 브랜치 이름

강제로 삭제하려면 -D를 사용한다.


수정이 다 끝나지 않은 상태에서 다른 브랜치로 이동할 때! 임시저장하려면 (add된 파일만 가능)

$ git stash

$ git stash list

$ git stash apply

$ git stash drop

$ git stash pop = git stash apply; git stash drop;


$ git reset --hard

list는 임시저장 목록을 볼 수 있다.
apply는 임시저장했던 파일을 다시 수정할 수 있게 한다.
drop은 최신 임시저장된 내용을 삭제한다.
pop은 apply와 drop 모두 진행된다.


reset하면 임시저장과 상관없이 가장 최신 상태로 변경된다.


Tag

태그를 만들려면

$ git tag 태그 이름(버전)

$ git tag 태그 이름(버전) 커밋ID/브랜치 이름

$ git tag -a 태그 이름(버전) -m "태그 설명"

커밋ID나 브랜치 이름을 지정한 곳에 태그가 붙는다. 만약 지정하지 않으면 현재 위치한 커밋에 태그가 붙는다.
-a를 붙이면 annotated tag라는 뜻으로 태그에 대한 설명을 추가할 수 있다.


태그 목록을 보려면

$ git tag


태그를 삭제하려면

$ git tag -d 태그 이름(버전)


1 Comments
댓글쓰기 폼