깃&깃허브 입문/3. 브랜치

진영민·2022년 7월 12일
1

git

목록 보기
3/6

브랜치 만들기

명령어

$git branch

-->브랜치를 보여주는 명령어 앞에 * 체크되어있는 것이 현재 작업하고 있는 브랜치

$git branch 이름

-->해당 이름의 branch 생성

$git checkout branch이름

-->해당 이름의 branch로 변경

브랜칭 과정

  1. 브랜치를 생성한다. 현재 있는 상태를 그대로 따른다.
  2. add 및 commit 으로 저장소에 넣으면 해당 branch에 commit된다.
  3. git log를 입력하면 commit과 branch들을 보여준다

브랜치 병합하기

일반적인 방법

브랜칭 된 두 브랜치 중 병합할 브랜치로 이동한다

$git checkout master

해당 브랜치에서 병합시킬 브랜치를 선택하여 병합시킨다

$git merge o2

결과는

$git log --oneline --branches --graph

명령으로 확인할 수 있다. (그래프를 그리는 명령어)

git에는 Auto-merging이 있어 자동으로 병합해 준다.

master.txt

#title
content
master content 2

#title
content

o2.txt

#title
content


#title
content
o2 content 2

이 두 파일을 merge시키면

#title
content
master content 2

#title
content
o2 content 2

으로 만들어진다.

하지만 문서의 같은 위치를 수정했을 때 병합하면

master.txt

#title
content
master content 1
#title
content

o2.txt

#title
content
o2 content 2
#title
content

CONFLICT error가 발생하게 된다.

이 때, master.txt는

#title
content
<<<<<<<<HEAD
master content 1
=======
o2 content 2
>>>>>>>>>>o2
#title
content

와 같이 변하며, 양쪽 브랜치의 내용을 참고 하며 직접 수정해야 한다.

병합할 때 편집기 창이 열리지 않게 하려면

$git merge o2 --no-edit

--no-edit옵션을 추가해 주면 된다.

병합이 끝난 후 브랜치 삭제

브랜치를 병합한 후 더 이상 사용하지 않는 브랜치는 깃에서 삭제할 수 있다.
하지만 이는 완전히 지워지는 것이 아니며, 같은 이름의 브랜치를 만들면 예전 내용을 다시 볼 수 있다.

과정

  1. 저장소의 기본 브랜치는 master이므로 master 브랜치로 checkout한다.

  2. 브랜치를 삭제한다.(-d)옵션을 사용한다.

    $git branch -d o2

  3. Deleted branch o2메세지가 출력되면 성공적으로 브랜치가 삭제된 것이다.
    이는 저장소에서 완전히 없앤 것이 아니라 "흐름 속에서 감추는" 정도의 삭제이다.

profile
코린이

0개의 댓글