remote repository 생성
: merge_project
local에 clone
: git_ws로 이동
= glt clone 주소(이름:토큰)
실습환경 체크
메인 - 서브
파일 추가 후 저장
= cd merge_project
= cat > test.txt
= my name is noma.
= git add test.txt
= git commit -m 'create' test.txt
branch 생성 후 ㅍ파일 수정
= git checkout -b dev
= cat >> test.txt
= are you?
= cat test.txt
= git commit -m 'modify1' test.txt
git log 확인
= git log
[merge]
tool = vscode
[mergetool 'vscode']
cmd = 'code --wait $MERGED'
주종관계가 있어서 '~에, ~를' 이 중요함
= git merge <branchname> = 다른 브렌치 이름을 넣어줘야함
= git checkout master
= git branch
= git merge div
= git log
this is - this is merge test와는 달리
this is merge test - this is conflict test 처럼 같은 선상에 다른 내용이 있을 때
hello, noma를 만들자
= git branch
= cat > test.txt
= hello, noma.
= git commit -m 'reset' test.txt
hello, noma를 카피함. 이동은 x
= git branch dev2
hello, zero를 만들자
= cat test.txt
= git branch
= git checkout master
= cat > test.txt
= hello, zero.
= cat test.txt
= git commit -m 'modify -zero' test.txt
hello, base를 만들자
= git checkout dev2
= cat > test.txt
= hello, base.
= git commit -m 'modify -base' test.txt
이때 양쪽이 같은 파일의 같은 부분을 수정했기 때문에 conflict 발생
= git checkout master
= git merge dev2
= merge conflict in test.txt
conflict 발생 후 아래와 같이 MergeTool을 실행하면 conflict난 파일들이 차례로 열림
= git mergetool
main branch와 dev2 branch의 diff를 <<<<, ====, >>>>로 표시
git add + git commit
= git add test.txt
= git commit
= git log