※ 브랜치란?
소프트웨어를 개발할 때에 개발자들은 동일한 소스코드를 함께 공유하고 다루게 됩니다.
동일한 소스코드 위에서 어떤 개발자는 버그를 수정하기도 하고 또 다른 개발자는 새로운 기능을 만들어 내기도 하죠.
이와 같이 여러 사람이 동일한 소스코드를 기반으로 서로 다른 작업을 할 때에는 각각 서로 다른 버전의 코드가 만들어 질 수 밖에 없습니다.
이럴 때, 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능이 바로 '브랜치(Branch)' 입니다.
각자 독립적인 작업 영역(저장소) 안에서 마음대로 소스코드를 변경할 수 있지요.
이렇게 분리된 작업 영역에서 변경된 내용은 나중에 원래의 버전과 비교해서 하나의 새로운 버전으로 만들어 낼 수 있습니다.
※ 브랜치 만들기
※ 브랜치 병합(Merge)
1. 다른 브랜치로부터 합처질 브랜치(원본)를 선택한다. 위의 그림으로 치면 master 브랜치가 선택되어 있다(글씨가 더 두껍고 앞에 동그라미가 되어있다)
2. 병합 되어질 브랜치 마우스 우클릭 후 현재 브랜치로 병합되어질 브랜치이름 병합을 클릭 (위의 그림이라면 실험을 master에다 병합한다.)
주의사항
- 병합시 중복된 같은부분을 동시에 수정하면 꼬일 수 있으므로 동시에 서로 같은 부분을 고처서 병합하지 않도록 주의하는게 좋겠다. 왠만하면 충돌을 일이키지 않도록 하기
※ 충돌 해결
서로 같은곳을 수정했을 때 버전관리 시스템이 자동으로 병합 해 줄 수 없기때문에 우리에게 직접 하라고 위임해준다.
어떻게하면 이런 충돌문제를 해결할 수 있을까?
충돌시 생기는 기호
1. <<<<<<< HEAD
(코드 내용) (원본 브런치의 내용, 합처짐 당하는 브런치의 내용)
=======
(코드 내용) (합처진 브런치의 내용)
>>>>>>> 실험(병합브랜치이름)
이 기호를 보고 필요에 따라 필요한 기능을 지우거나 놔두면 된다. (물론 충돌시 생기는 기호는 지워줘야된다.)
그런후 수정한 내용을 커밋을 해준다.
※ 충돌의 최소화
충돌은 버전관리를 하면서 피할 수 없다. 그렇기 때문이 충돌이 일어나기전에 미리 예방하거나 충돌이 일어나도 작은 범위에서 일어날 수 있도록 주의해야한다.
* 충돌을 최소화하는 방법
같은 뿌리에서 나온 브랜치중 원본이 아닌 브랜치는 언젠가는 마스터 브랜치에 병합이 될것이다. 그렇기 때문에 원본 브랜치와 자주 동기화(merge) 해주면 충돌을 줄일수 있다.
(원본을 merge하는 방식을 반대로 해준다. 즉 위의 그림으로 따지면 실험브랜치를 선택 한후 master 브랜치와 merge 한다.)
'플밍 is 뭔들 > GIT' 카테고리의 다른 글
05. 협업 (0) | 2017.01.12 |
---|---|
04. 원격저장소 (0) | 2017.01.12 |
02. 되돌리기 (0) | 2017.01.12 |
01-3. 버전 만들기(commit) (0) | 2017.01.12 |
01-2. 저장소 만들기 (0) | 2017.01.12 |