본문 바로가기
git

branch

by 멋진 개구리 2021. 4. 12.
반응형

1.Branch 탄생배경

  문제: 한 줄로 커밋을 쌓으면 둘이 겹치지 않나요?

고양이의 로컬 저장소
고양1 - 고양2 - 고양3 - 고양4


문어의 로컬 저장소
고양1 - 고양2 - 고양3 - 문어A

여러줄로 쌓으면 됨

고양1 고양2 고양3 고양4
                      문어A

Q.왜 여러줄로 쌓는가?
A.한줄로작업하면 충돌이난다 같은 코드를 동시에 고칠가능성

Q. 그럼 n줄로 쌓고 나중에 합치나?
A. 네, 그럼 충돌이 나더라도 합치는 시점에 명시적으로 충돌을 해결할 수 있다.



2. 그래서 나온게 브랜치(Branch-가지) 개념
  
                          ↓고양이 브랜치
고양1 고양2 고양3 고양4
                       ↖문어A
                            ↑문어 브랜치    여러브랜치가 하나의 커밋을 가릴킴수도잇다


cli - 
git push origin master  -  마스터 브랜치에 푸쉬를 해라 
                      ↓마스터 브랜치 ← HEAD : 내가 지금 작업하는 로컬브랜치를 가르킨다.
고양1 - 고양2 - 고양3 - 고양4

3. 브랜치 만들기
git branch cat
cat 브랜치를 현재시점에 만들어라
                      ↓ 마스터 브랜치 <- HEAD
고양1 - 고양2 - 고양3 - 고양4
                      ↑ cat 브랜치


git checkout cat  
cat브랜치로 이동해라!
   ↓ 마스터 브랜치 
고양1 - 고양2 - 고양3 - 고양4
   ↑ cat 브랜치<- HEAD  해드가 옮겨감!


cat 브랜치에 커밋을 추가하면?
 master 브랜치는 아직 과거커밋을, cat 브랜치는 새 커밋을 가리킴

                       ↓ 마스터 브랜치 
고양1 - 고양2 - 고양3 - 고양4
                       ↑ cat 브랜치<- HEAD  

master로 이동하고, oct브랜치 만들고, 커밋
 master 브랜치의 최신 커밋(고양4)을 기점으로 oct브랜치, cat브랜치가 나뉘어짐

                                  ↓---- 마스터 브랜치   
                                  ↓                 ↙-------oct 브랜치   <ㅡHEAD            
                                  ↓           ↙--- 문어A       
고양1 - 고양2 - 고양3 - 고양4 - 고양5
                                 ↑ cat 브랜치<- HEAD  

[브랜치 생성실습]
1.[boxing-cat 저장소] master에서 feat/main-page브랜치 생성
2. 커밋추가
3.[boxing-oct 저장소]  pull 받기
4. master에서 feat/comment 브랜치 생성
5. 커밋 추가 

반응형

'git' 카테고리의 다른 글

Git- branch  (0) 2021.04.14
Git - 다른 사람이 만든 저장소 받아오기  (0) 2021.04.12
Git - github에 올리기  (0) 2021.04.12
Git - 첫 버전 만들기  (0) 2021.04.12
Git - 버전관리  (0) 2021.04.12

댓글