Part 3. 브랜치

Hyunsu·2023년 3월 24일
0

Today I Learned

목록 보기
21/37
post-thumbnail

오늘은 브랜치와 병합 및 충돌에 대해 공부해 볼 예정이다.
이전에 소스트리를 사용할 때 병합과 충돌 부분이 헷갈렸었는데 이번 기회에 확실하게 알아두어야겠다 ✍️

📝 목차

  1. 브랜치 생성
  2. 병합
  3. 충돌

1. 브랜치 생성

브랜치를 생성하는 것은 원본 디렉터리를 복사해서 또 하나의 디렉터리를 만든 것이라고 볼 수 있다. 이를 통해 안정적인 작업과 실험적인 작업을 소스트리 내에서 나누어 관리할 수 있다.

기본 브랜치는 master 이며 이름 변경이 가능하다. 위에서는 실험 브랜치를 새로 생성해주었다.


2. 병합

브랜치를 사용하는 가장 큰 이유중 하나는 병합을 위해서이다. 위에서 생성한 실험 브랜치에서의 작업들을 master 브랜치에 합쳐보도록 하겠다.

이 때 받는 쪽 브랜치인 master 브랜치로 들어가는 체크아웃을 하고 보내는 쪽 브랜치인 실험 브랜치에 우클릭한 뒤 현재 브랜치로 실험 병합을 선택한다.

그럼 다음과 같이 병합이 된 것을 확인할 수 있다.


3. 충돌

브랜치를 나누고 서로 각자의 브랜치에서 작업을 할 때 만약 같은 부분을 수정할 경우 버전 관리 시스템이 자동으로 병합을 해줄 수 없기 때문에 직접 해결하라고 위임하는 경우이다.

실습 브랜치에서는 // 브랜치 라는 내용을 추가해주고 master 브랜치에서는 // branch 라는 내용을 같은 위치에 추가해주었다. 이 때 위치가 같기 때문에 병합을 하면 충돌이 발생한다.

이클립스에서 충돌 내용을 확인해보았다. 구분선을 기준으로 위쪽인 HEAD 사이에 있는 것은 현재 선택한 브랜치의 내용이고 아래쪽은 실습 브랜치의 내용이다.

이클립스에서 충돌되는 부분을 수정했다고 끝이 아니다. 소스트리로 돌아와서 충돌이 발생했던 파일을 클릭하고 git 에게 충돌이 해결되었다고 알려주어야 한다.

내것을 이용해 해결은 현재 내 브랜치에 있던 내용을 채택하는 것이고 저장소의 것을 사용하여 해결은 나의 것을 삭제하고 병합할 브랜치의 내용을 채택하는 것이다.


☕ Reference 생활코딩

포크레인은 강력하다.
포크레인을 배우려면 한 달 이상의 시간이 걸리고 그것을 잘하려면 굉장히 많은 시간 수련이 필요하고 아무나 할 수 없다.
강력하다라는 것은 그런 것이다.
이것을 배우는 것은 쉽지 않은 일이라는 것을 생각하고 빠른 시간 안에 잘하려고 하지 말아야한다.
충분히 많은 시간을 배정해 오랜 시간 수련하겠다는 생각을 가져야 성급해지지 않는다.

profile
현수의 개발 저장소

0개의 댓글