소스트리에서 브랜치는 반드시 알아둬야 할 작업이다.
하나의 소스트리 안에서 안정적인 작업과 안정적이지 않은 작업을 동시에 진행시켜야 할 때 마음 편하게 작업하기 위해서 꼭 알아둬야 할 내용이다.
마치 각각의 프로젝트에서 작업하는 느낌으로 작업하다가 나무 접목 시키듯 하나로 병합해 줄 수 있는 작업이랄까.
우선 브랜치를 만들어보자.
소스트리에서는 처음 저장소를 만들 때 main이라는 기본 브랜치가 제공된다.
새로운 브랜치를 만들어 주기 위해 아래 동그라미로 쳐둔 곳에 있는 브랜치 버튼을 눌러서 브랜치를 눌러주자.
브랜치를 누르면 새 브랜치로 만들어줄 이름을 적어주고, 브랜치 생성을 눌러주면 브랜치가 새롭게 생성된다.
두 개 이상의 브랜치가 존재하게 되면 브랜치를 활성화시켜서 작업하면 되는데 이때 활성화 시켜주는 방법은 작업할 브랜치를 선택해서 더블 클릭해 주는 것이다. 활성화가 되면 아래 그림처럼 브랜치 앞에 동그라미가 자리한다.
동그라미가 되 있는 브랜치가 현재 활성화된 브랜치이다.
활성화를 시켜준 브랜치에서 작업을 한 후에 커밋해 주면 각각의 활성화되어 있는 브랜치에 작업이 쌓이는 건데
마치 나중에 보면 지하철 노선도 처럼 그래프가 만들어지는 것을 확인할 수 있다.
이제, 병합(merge)에 대해 알아보자.
브랜치를 나눠서 작업을 하다 보면 언젠가는 병합을 해줘야 하는 상황이 온다.
Dev에서 작업한 것을 main에 합쳐줄 때 우리는 병합(merge)을 해주어야 한다.
받아 오려고 하는 브랜치를 활성화 시켜준 것처럼 선택(체크아웃)을 해준 후 가져올 브랜치에 마우스를 가져다 두고 오른쪽 버튼을 클릭해서 현재 브랜치로 Dev(브랜치 이름) 병합(Merge 브랜치 이름 Into current Brunch)을 클릭해 준다.
현재 선택되어 있는 브랜치로 받아오려는 브랜치를 병합해 주겠다는 뜻이다.
이 버튼을 클릭해주면 손쉽게 브랜치가 병합되는 것을 볼 수 있는데, 아무 문제 없이 병합되는 것을 본 다면 그것은 행복이다.
아래 이미지를 봐보자. 충돌 병합이라는 팝업이 떠있다.
브랜치를 할때 우리는 가끔, 혹은 자주 이 비극을 경험하게 될 것이다. 비극의 시작엔 충돌이 있고 비극의 끝에도 역시나 충돌이 있다.
다른 브랜치에서 같은 부분을 수정하게 됐을 경우 Git은 자동으로 뭐가 더 옳은지 생각해서 병합을 해주지 않는다.
이러한 경우에 소스트리는 충돌되었다는 것을 위의 이미지처럼 알려주며, 우리는 문제가 발견된 충돌을 해결해야 한다.
충돌을 해결하기 위해 우리는 알아둬야 할 게 있다.
충돌이 나면 파일 상태에 충돌난 파일 앞에 ! 모양으로 문제가 있다고 나온다. 이 파일에 마우스를 가져다 두고 오른쪽 버튼을 클릭해서 충돌 해결 버튼을 눌러보면 다양한 애들이 보일 것이다.
알아둬야 될 몇 가지를 봐보자.
1. "내 것"을 이용해 해결
: "내것"을 이용해 해결 버튼을 누르면 다른 브랜치에서 수정된 작업을 무시하고 내 것을 남기겠다는 소리이다.
2. "저장소" 것을 사용하여 해결
: "저장소" 것을 사용하여 해결 버튼을 누르면 저장소에 있는 작업을 살리고 내가 작업한 부분을 날려 버리겠단 뜻이다.
3. 해결 된 것으로 표시
: 해결된 것으로 표시 버튼은 내가 작업한 부분에서 충돌 난 부분을 다시 수정해서 겹치는 곳이 없게 만들어두고 누르면 되는 버튼이다.
충돌 해결을 한 후 다시 커밋하고 병합하면 해결된다.
다들 충돌따위는 일생에 없이 단 한 번에 병합되길 바란다.
'소스트리' 카테고리의 다른 글
소스 트리 ) Sourcetree의 reset과 revert에 대해 알아보자. (0) | 2025.02.05 |
---|---|
소스 트리 ) 소스트리 커밋하기. (commit, push, pull에 대해 알아보자.) (1) | 2025.02.05 |
소스트리 ) 필요하다면 Git과 SourceTree를 다운 받아 보자. (1) | 2025.02.05 |