21. 1. 11

#1. 수강 과목 : Git 이론
#2. 수강 콘텐츠 : 생활코딩 Git강의 정리

<브랜치와 충돌>

  1. 브랜치 기본 사용법
git log --all --graph --oneline

작업한 로그들 한 줄로 보기 좋게 나열 후

git branch apple

apple 이라는 브랜치 만듦
현재는 *master 라는 브랜치에 소속되어 있는 상태.

여기서 브랜치를 추가하다가 만일 새로운 커밋을 한다면?
-> 기존 작업들은 브랜치들과 같이 있고, 새 작업만 마스터 브랜치에 위치한다.

git checkout ~~

으로 브랜치를 왔다 갔다 이동할 수 있는데 아까 작업한 work4는 브랜치 apple로 이동할 경우 안 보인다.(마스터때만 보임)

여기까지 해서 마스터는 4가지의 작업을 가진 것이고 나머지 브랜치들은 3가지의 작업을 갖게 된 것이다.

  1. 브랜치 병합
    공통의 조상 작업 : base라고 함.
    새로 만들어진 것을 병합한다 : merge commit

(파일명이 다를 때)
먼저 마스터로 작업 만든 뒤 새로운 브랜치 만든 다음 거기서도 작업

git merge ~(합치려는 브랜치)

마스터로 이동 후 합치려는 브랜치 적으면 됨.

(브랜치는 다르고 파일명이 같을 때 다른 부분을 수정할 때)
둘 다 바뀐 하나의 파일로 병합 됨.(과정은 위와 동일)

(브랜치는 다르고 파일명이 같고 같은 부분을 수정했을 때 ; 충돌 상황)

자동 병합: work.txt
충돌 (내용): work.txt에 병합 충돌
자동 병합이 실패했습니다. 충돌을 바로잡고 결과물을 커밋하십시오.
 # title
content

<<<<<<< HEAD
master
=======(둘 중에 하나만 해주세요.)
o2
>>>>>>> o2

 # title
content

헤드와 o2 사이를 수정해준 다음 git add, git commit 만 해주면 알아서 수정 되고 머지 됨.

  1. 충돌 처리 3 way merge(with 공통조상 base)

2way에서는 사람이 다 해줘야하지만 3way에서는 수정값을 따른다고 한다.(어렵다..)

  1. 외부 도구로 병합하기 : pass. 나중에 필요하면 찾아 보기로.

좋은 웹페이지 즐겨찾기