21. 1. 11
#1. 수강 과목 : Git 이론
#2. 수강 콘텐츠 : 생활코딩 Git강의 정리
<브랜치와 충돌>
- 브랜치 기본 사용법
git log --all --graph --oneline
작업한 로그들 한 줄로 보기 좋게 나열 후
git branch apple
apple 이라는 브랜치 만듦
현재는 *master 라는 브랜치에 소속되어 있는 상태.
여기서 브랜치를 추가하다가 만일 새로운 커밋을 한다면?
-> 기존 작업들은 브랜치들과 같이 있고, 새 작업만 마스터 브랜치에 위치한다.
git checkout ~~
으로 브랜치를 왔다 갔다 이동할 수 있는데 아까 작업한 work4는 브랜치 apple로 이동할 경우 안 보인다.(마스터때만 보임)
여기까지 해서 마스터는 4가지의 작업을 가진 것이고 나머지 브랜치들은 3가지의 작업을 갖게 된 것이다.
- 브랜치 병합
공통의 조상 작업 : base라고 함.
새로 만들어진 것을 병합한다 : merge commit
(파일명이 다를 때)
먼저 마스터로 작업 만든 뒤 새로운 브랜치 만든 다음 거기서도 작업
git merge ~(합치려는 브랜치)
마스터로 이동 후 합치려는 브랜치 적으면 됨.
(브랜치는 다르고 파일명이 같을 때 다른 부분을 수정할 때)
둘 다 바뀐 하나의 파일로 병합 됨.(과정은 위와 동일)
(브랜치는 다르고 파일명이 같고 같은 부분을 수정했을 때 ; 충돌 상황)
자동 병합: work.txt
충돌 (내용): work.txt에 병합 충돌
자동 병합이 실패했습니다. 충돌을 바로잡고 결과물을 커밋하십시오.
# title
content
<<<<<<< HEAD
master
=======(둘 중에 하나만 해주세요.)
o2
>>>>>>> o2
# title
content
헤드와 o2 사이를 수정해준 다음 git add, git commit 만 해주면 알아서 수정 되고 머지 됨.
- 충돌 처리 3 way merge(with 공통조상 base)
2way에서는 사람이 다 해줘야하지만 3way에서는 수정값을 따른다고 한다.(어렵다..)
- 외부 도구로 병합하기 : pass. 나중에 필요하면 찾아 보기로.
Author And Source
이 문제에 관하여(21. 1. 11), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sinichy7/21.-1.-11저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)