새로운 저장소 만들기
git init manual-merge1
cd manual-merge
nano work.txt > 1 내용 추가
git add work.txt
git commit -m "work 1" : work 1버전 만들어짐
git branch o2 : 브랜치 o2를 만든다
nanno master.txt > 2 내용 추가
git add master.txt
git commit -am "work 2"
git commit --amend : 이미 커밋한 버전도 바꿀 수 있다. > master work 2 로 바꾼다
git checkout o2 : o2브랜치로 간다
nano o2.txt > o2 2 내용 추가
git add o2.txt
git commit -m "o2 work 2"
Merge 하는 방법 (파일명 다를 때)
: o2브랜치를 master브랜치에 병합한다 (방향 : o2 ->master)
git checkout master : 먼저 마스터 브랜치로 간다
git merge o2 : 땡겨오고 싶은 o2브랜치를 merge명령을 한다
새로운 커밋 =o2 커밋과 master커밋을 조상으로 한다
git reset --hard ecb6bc5 : 과거로 돌아간다, 리셋하고 싶은 버전 커밋(여기선 master work 2)을 취소한다
이렇게 뜬다. 여기서부터 다시 연습을 하길 권장한다.
Merge 하는 방법 (파일명 같을 때) = 파일 안에서 이름이 다른 것을 병합했을 때
새로운 저장소 만들기
git init manual-merge2
cd manual-merge
nano work.txt > # title / content /// # title / content (/는 띄어쓰기다)
git add work.txt
git commit -m "1"
git branch o2 만든다
nano work.txt > # title / master content /// # title / content 윗쪽 내용만 수정한다
git commit -am "master work 2" : 버전을 만든다
git checkout o2
nano work.txt > # title / content /// # title / o2 content 아래쪽 내용만 수정한다
git commit -am "o2 work 2" : 버전을 만든다
o2 내용을 master 내용에 병합한다 (방향 : o2 ->master)
git checkout master : 먼저 마스터 브랜치로 간다
git merge o2 : 현재브랜치 master로 머지 한다는 내용 > 확인 후 나오기
cat work.txt : work.txt가 어떻게 바뀌었는지 확인
파일 병합할 때 같은 파일이라도 다른 부분을 병합했다면 알아서 수정된다 (깃의 엄청난 기능)
Merge 하는 방법 (같은 파일, 같은 부분)
새로운 저장소 만들기
git init manual-merge3
cd manual-merge3
nano work.txt > # title / content /// # title / content
git add work.txt
git commit -m "work 1"
현재 상태 (HEAD -> master, o2) work 1 을 가리키고 있음
nano work.txt > # title / content /master/ # title / content 중간에 master라고 썼다
git commit -am "master work 2"
git checkout o2 : o2 브랜치로 간다
nano work.txt > # title / content /o2/ # title / content 중간에 o2라고 썼다
git add work.txt
git commit -m "o2 work 2"
master로 o2의 내용을 병합해서 새로운 내용을 만든다
git checkout master
git merge o2 > CONFLICT , Automatic merge failed 충돌났다
nano work.txt > 가보면 아래처럼 되어있다
======= : 구분자 (충돌이 일어났다, master와 o2가!)
<<<<<<< HEAD : (구분자를 기준으로 위쪽은) master이다
<<<<<<< o2 : (구분자를 기준으로 아래쪽은) o2 이다
자동으로 합치는 것을 못하니 주인님이 정해달라는 뜻이다.
이럴땐 ,로 연결해준다.
git add work.txt : 깃아 내가 충돌을 해결했다
git commit > 자동으로 여태까지 과정에 대한 것들이 나온다
끝
'Git, Github' 카테고리의 다른 글
생활코딩 : GIT -7. 브랜치 심화 (0) | 2020.09.02 |
---|---|
생활코딩 : GIT -6. 브랜치 : 3 way merge, git mergetool 이용하기 (0) | 2020.09.02 |
생활코딩 : GIT -4. 브랜치 사용법 (0) | 2020.09.02 |
생활코딩 : GIT -3. 버전관리 : reset, revert (0) | 2020.09.02 |
생활코딩 : GIT -2.버전관리 : 시간여행, 모르면 불편한 git (0) | 2020.09.01 |