메인에 영향을 주지 않고 기존의 환경에 기능을 수정, 추가 등을 할 때 사용하는 기능같음
독립적인 버전들을 만들어 가기 위해서 사용된다.
가지 치기를 시작하려면 처음 가지가 있어야함 즉, 커밋이 하나는 있어야 된다.(root-commit : 첫번째 커밋)
각 파트에서 개발한 내용을 테스트 후 사용자가 볼 수 있는(master)으로 보내 합친다.
합치는게 머지인듯
명령어 | 기능 |
---|---|
(master) $ git branch | 브랜치 목록 조회 |
(master) $ git branch {브랜치명} | 브랜치 생성 |
(master) $ git merge {브랜치명} | 합친다 |
(master) $ git branch -d {브랜치명} | 브랜치 삭제 |
(master) $ git checkout -b {브랜치명} | 브랜치 만들면서 이동 |
(master) $ git checkout {브랜치명} | 브랜치 이동 |
머지할 때 마스터에 다른 가지를 합치게해야함
마스터에 머지하고 브랜치를 지워도 사라지지않음
머지를 하면 새로운 커밋이 발생하면서 합쳐진 버전이 생긴다.
이미 병합된 브랜치는 삭제한다.
Q. 왜 이렇게 하나요?
협업 하는 사람들의 각자의 작업이 끝나면 merge 작업을 원격 저장소에서 하기 위함이다..
Forking Workflow
저장소에 소유권이 없다(손님)
초대받지 못한 손님은 머지는 불가능(소유권이 없으니 못한다는 말)
그림이 좀..
qkrxo@SUNBONG MINGW64 ~/OneDrive/바탕 화면/머지연습 (master)
$ git log --oneline --graph
* ca8e95d (HEAD -> master) Merge branch 'example' 해야함
|\
| * e63513b (example) 수정
* | 10f7d09 파일만듬
|/
* 5747849 addfile
* 2921010 add 2.txt
* d5bfc8f add