티스토리 뷰

#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
Git - Reference
Reference
git-scm.com
'KR > Tool,ETC' 카테고리의 다른 글
[성능] Debounce(디바운스) vs Throttle(쓰로틀) (0) | 2022.03.10 |
---|---|
[git 명령어 1] : init, commit, checkout, push, clone, pull (깃) (0) | 2021.08.25 |