티스토리 뷰

728x90

 

 


#branch   #merge   #reset   #rebase   #tag


 

 

새로운 브랜치 생성하기

- branch 명령어

- 새로운 브랜치를 생성하고, HEAD는 이동하지 않는다.

git branch [브랜치명]

#e.g.
git branch develop
git branch feature/login

 

 

새로운 브랜치 생성하고 이동하기

- checkout 명령어 + '-b' 옵션

- 새로운 브랜치를 생성하고, HEAD도 이동한다.

git checkout -b [브랜치명]

#e.g.
git checkout -b develop
git checkout -b feature/login

 

브랜치 삭제하기

- checkout명령어 + '-d' 옵션

- 브랜치를 삭제하기 위해서는 HEAD가 다른 브랜치에 있어야 한다.

git checkout -d [브랜치명]

#e.g.
git checkout -d feature/member

 

브랜치 강제로 삭제하기

- checkout명령어 + '-D' 옵션

- 전부 merge되지 않아 '-d' 옵션으로는 브랜치가 삭제 되지 않으면 강제 삭제 옵션을 사용한다.

git checkout -D [브랜치명]

#e.g.
git checkout -D feature/login

 

브랜치 병합하기 (머징)

- '--ff'(fast-forward; 빨리감기)가 기본(default)이며, 병합된 두 브랜치의 커밋 내역이 하나로 통합된다.

- '--no-ff'을 옵션으로 하면, 병합된 두 브랜치의 커밋 내역이 개별인 상태로 브랜치가 병합된다.

(아래 이미지 참고)

git merge [브랜치명]

#e.g.
git merge develop
git merge --no-ff develop

 

현재 브랜치를 특정 커밋으로 되돌리기

- reset 명령어 + '--hard' 옵션

(HEAD이동 + Index업데이트 + WorkingDirectory업데이트)

현재 브랜치를 지정 커밋으로 옮긴다.
checkout 명령어와 달리 해당 커밋 내용을 작업 폴더에도 반영한다.

git reset --hard [커밋ID]

#e.g.
git reset --hard HEAD~

 

- rebase 명령어

빨리 감기 병합

git rebase [브랜치명]

#e.g.
git rebase master #/HEAD 브랜치의 커밋들을 master로 재배치

 

태그 달기 (태깅)

- annotated 태그를 생성한다. (브랜치명 생략 시 HEAD에 태그 생성한다.)

git tag [태그명]
git push [원격저장소 별칭][태그명]

#e.g.
#태그명 1.0.0으로 태그를 단다.
git tag 1.0.0
#메시지 "1st release"와 함께 태그명 1.0.0으로 태그를 단다.
git tag -am "1st release" 1.0.0
#원격저장소(origin)에 1.0.0태그를 푸시한다.
git push origin 1.0.0

 

 


 

# reference

https://git-scm.com/docs

 

Git - Reference

Reference

git-scm.com

 

 

728x90
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
04-29 04:52