Git 사용법 : Branch / Merge
# Branch
- 하나의 레포지토리를 다양한 형태로 보관할 수 있는 기능
- 브랜치를 사용하여 하나의 커밋으로 부터 여러 갈래의 커밋으로 갈라질 수 있다.
- 다른 커밋으로 변경하는 것도 check out 이지만, 다른 브랜치로 변경하는 것도 check out 이라고 한다.
- 다른 브랜치로 변경할 때도 커밋되지 않은 수정사항은 모두 소실된다.


Create Branch -> 이름 설정

minsu 브런치에서 새로 만들어서 커밋을 하면

이렇게 갈라져서 나가는 것을 확인할 수 있다.

체크아웃을 하면 관련 Branches 만든 파일들을 각각 볼 수 있다.
# Merge
- (각자 만들었던 브랜치들을) 한 브랜치에 다른 브랜치의 내용을 하나로 합치면서 새로운 커밋을 생성하는 것
- 현재 헤드에 다른 브랜치를 우클릭하여 합치게 한다.
- 두 브랜치를 합치는 도중 같은 부분에 대한 다른 버전이 존재하는 경우 충돌이 발생하게 된다.
( 발생하지 않도록 해야한다. )
- 두 브랜치에서 완벽하게 다른 부분만 수정하여 충돌이 발생하지 않는 경우 별다른 조치없이 합쳐 진다.
마스터 체크아웃 후에 합치고 싶은 클래스 우클릭 > 머지
하면 된다.
충돌 일어나면 어떻게 되는가?!
확인을 위해 master, suji 두개의 브랜치 orange class에 다른 내용을 추가 후 커밋.
다시 머지를 클릭하면
conflicting 오류
충돌있는 부분의 소스 구분을 해준다.
충돌을 해결해야만 커밋을 할 수 있다.
+ 버튼을 누르면 알아서 해결 메세지도 남겨놔준다.