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)이 발생하게 된다. 충돌이란, 같은 파일의 같은 부분을, 다른 여러 명의 사람이 다른 내용으로 수정하는 경우, 어떤 내용을 받아들일 것인지를 사용자로부터 수동으로 확인하도록 하는 기능이다.
[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 |
댓글 영역