[GIT] GIT을 사용하다. - 1편 BRANCH관련 명령어
브랜치 목록 조회
- 전달인자 -r을 사용하여 원격브랜치 조회 합니다.
git branch
*master
브랜치명 변경
- 전달인자 m은 이동을 의미 합니다.
git branch -m master mymaster
git branch
*mybranch
브랜치명 강제 변경
- 브랜치명을 변경할때 이미 이름이 존재한다면 진행되지 않는데 -M의 명령어를 사용하면 덮어쓰기로 강제 진행됩니다.
git branch -M master mymaster
새로운 브랜치 생성
git branch new
git branch
*master
new
브랜치 체크아웃
git checkout new
Switched to branch 'new'
git branch
master
*new
새로운 브랜치 생성하고 체크아웃
- git checkout -b 새로운브랜치 기준브랜치
git checkout -b new2 master
Switched to a new branch 'new2'
원격 저장소에 푸쉬
- git push 원격저장소명 로컬브랜치명
- git push 원격저장소명 로컬브랜치명:원격브랜치명
git push origin subs
git push -u origin master
브랜치 merge - straight
1. 현재 브랜치 확인 합니다.
git branch
*master
new
new2
2. 브랜치 포인트를 이동 시킵니다.
vim about.html
vim contact.html
git add about.html
git add contact.html
git commit -m "add the about"
git commit -m "add the contact"
3. 테스트 파일 생성 및 커밋을 진행 합니다.
vim about.html
vim contact.html
git add about.html
git add contact.html
git commit -m "add the about"
git commit -m "add the contact"
4. 브랜치 포인트를 이동 시킵니다.
git checkout new
5. 병합을 진행 합니다.
git merge new2
6. 커밋이력을 확인합니다.
- history를 확인하여 전체 이력과 함께 합쳐졌는지 확인합니다.
브랜치 merge - squashed
1. 현재 브랜치 확인 합니다.
git branch
*master
new
new2
2. 브랜치 포인트 이동 시킵니다.
git checkout new2
Switched to branch 'new2'
git branch
master
new
*new2
3. 테스트 파일 생성 및 커밋 합니다.
vim about.html
vim contact.html
git add about.html
git add contact.html
git commit -m "add the about"
git commit -m "add the contact"
4. 브랜치 포인트 이동 시킵니다.
git checkout master
Switched to branch 'master'
5. 머지를 실행 합니다.
git merge --squash new2
6. new2브랜치에 있는 커밋이 작업트리에 적용되어 스테이징됐지만 커밋까지 되지 않았습니다. 따라서 새로운 커밋을 함으로써 커밋이력을 1개로 통합 머지가 되는 원리 입니다.
git commit -m "add new2 page" \
-m "has primary"
브랜치 merge - cherry-picking
1. 현재 브랜치 확인 합니다.
git branch
*master
new
new2
2. 브랜치 포인트 이동 시킵니다.
git checkout new2
Switched to branch 'new2'
git branch
master
new
*new2
3. 테스트 파일 생성 및 커밋 합니다.
vim about.html
git add about.html
git commit -m "add the about" -a
[new 6e9580d] add link to
0 files changed
create mode 100644 about.html
- 위의 new 6e9580d에서 6e9580d를 눈여겨 봐두어야 합니다. 이것은 고유커밋명으로써 이 고유커밋명을 활용하여 어느 브랜치에서든 해당 커밋을 합치는 것이 가능 합니다.
4. 브랜치 포인트 이동 시킵니다.
git checkout master
Switched to branch 'master'
5. 머지를 실행합니다.
git cherry-pick 6e9580d
[master a03644d] add link to
0 files changed
create mode 100644 about.html
6. 다수의 이력을 지정하여 cherry를 하고 싶다면 -n의 전달인자를 활용하면 됩니다.
브랜치 충돌시 merge
git mergetool
브랜치 삭제
1. 안전하게 삭제하기
git branch -d other_branch
2. 강제로 상제하기
git branch -D other_branch
출처: https://redgolems.tistory.com/10?category=481635 [레드골렘즈 콤비의 개발이야기]
'형상관리 > Git' 카테고리의 다른 글
[GIT] GIT을 사용하다. - 5편 RESET관련 명령어 (0) | 2021.01.14 |
---|---|
[GIT] GIT을 사용하다. - 4편 TAG관련 명령어 (0) | 2021.01.14 |
[GIT] GIT을 사용하다. - 3편 REMOTE관련 명령어 (0) | 2021.01.14 |
[GIT] GIT을 사용하다. - 2편 LOG관련 명령어 (0) | 2021.01.14 |
[GIT] GIT을 선택하다. - 5편 저장소 제대로 활용하기 (0) | 2021.01.11 |
[GIT] GIT을 선택하다. - 4편 REMOTE활용하기 (0) | 2021.01.11 |
[GIT] GIT을 선택하다. - 3편 LOG활용하기 (0) | 2021.01.11 |
[GIT] GIT을 선택하다. - 2편 BRANCH활용하기 (0) | 2021.01.11 |