상세 컨텐츠

본문 제목

[Git] Branch

Knowledge/Git

by winCow 2021. 4. 17. 19:54

본문

Branch는 원본(Master)을 기반으로 하여 조금씩 수정된 복사본을 의미한다. 

'git log -p'로 바뀐 내용을 확인할 수 있고, 'git log --all'로 모든 branch를 확인할 수 있다. 또한 branch를 시각적으로 확인하기 위해서 '--graph' 명령어를, 한 줄로 표현하기 위해서 '--oneline'을 사용할 수 있다. branch 상황을 한 눈에 편하게 보기 위해서는 이들을 병용해서 'git log --all --graph --oneline'를 사용하면 좋다. 'git branch' 명령을 통해 branch의 목록을 확인할 수 있고, 현재 사용하고 있는 branch는 *로 표시되어 있다. 'git branch branch' 명령을 통해 새로운 branch를 생성할 수 있다. 또, 다른 branch로 이동할 때는 'git checkout branch'명령을 사용하면 된다.

work1이라는 이름의 버전을 관리한다고 가정하자. git branch를 통해 a, b라는 branch를 만들고, 내용을 수정한 뒤 커밋하여 work2 버전을 만든다면, master는 work2가 될 것이다. 이 상태에서, git checkout a를 입력하면, a branch로 이동하게 되고, a branch는 아직 work1 상태에 머물러 있다. 여기서 다시 내용을 수정하고 커밋하여 work2_a를 만든다면 branch a는 work2_a가 될 것이다. branch b도 마찬가지로 work2_b가 될 것이다.

|work2_b(b)
|/
|work2_a(a)
|/
|work2(Master)
|/
work1

이 내용을 그래프를 통해 확인해 보면, master, a, b는 모두 같은 기둥(work1)에서 나와 있는 것을 확인할 수 있다.

 

이 branch들을 다루다 보면, 충돌(Conflict)이 발생하게 된다. 충돌이란, 같은 파일의 같은 부분을, 다른 여러 명의 사람이 다른 내용으로 수정하는 경우, 어떤 내용을 받아들일 것인지를 사용자로부터 수동으로 확인하도록 하는 기능이다.

'Knowledge > Git' 카테고리의 다른 글

[Git] 3-way merge  (0) 2021.04.20
[Git] Merge  (0) 2021.04.18
[Git] Git 명령어  (0) 2021.04.16
[Git] Repository 생성  (0) 2021.04.13
[Git] POSIX 명령어  (0) 2021.04.13

관련글 더보기

댓글 영역