yes! 🙌
yes! 👍
- 한 소스코드에서 동시에 다양한 작업을 할 수 있게 해준다.
- 소스코드의 한 시점과 동일한 상태를 만들고, 브랜치를 넘나들며 작업을 수행할 수 있다.
- 각각의 브랜치에서 생긴 변화가 다른 브랜치에 영향을 주지 않고 독립적으로 코딩을 진행할 수 있다.
- 브랜치 생성
:git branch [새 브랜치 이름]
- 새로운 브랜치 생성 후 해당 브랜치로 전환
:git switch -c [새 브랜치 이름]
orgit checkout -b [새 브랜치 이름]
git clone
후git switch -c [새 브랜치 이름]
하면 다음과 같이 브랜치가 바뀐 것을 확인할 수 있다.- 브랜치 목록 확인
:git branch
- 브랜치 목록과 각 브랜치의 최근 커밋 확인
:git branch -v
- 브랜치 삭제
:git branch -d [삭제할 브랜치 이름]
or *git branch -D
(병합하지 않은 브랜치 강제 삭제)- 브랜치 전환
:git switch [브랜치 이름]
orgit checkout [브랜치 이름]
- 브랜치 병합 - main 브랜치로 Feat 브랜치를 병합할 때 (main ← Feat)
: 1)git checkout main
// 병합할 브랜치로 이동 후
. 2)git merge Feat
// 병합- 구현이 완료된 브랜치를 Remote Repository로 업로드
:git push origin [브랜치 이름]
- 로그에 모든 브랜치를 그래프로 표현
:git log --branches --graph --decorate
- 아직 commit 하지 않은 작업을 스택에 임시로 저장
:git stash
- merge? rebase?
merge
: 변경 내용의 이력이 모두 그대로 남아 있기 때문에 이력이 복잡해 집니다.
rebase
: 말 그대로 branch base를 이동시킨다는 뜻으로, 머지처럼 브랜치 통합을 목적으로 하지만, 특정 시점으로 브랜치가 가리키는 곳을 변경하는 기능을 합니다.
참고하기
Dangit, Git!?! : https://dangitgit.com/ko
Github로 협업하기 : https://victorydntmd.tistory.com/91