CONFLICT (content): Merge conflict in index.html Automatic merge failed; fix conflicts and then commit the result. Git — ࠳ے৬ Merge ӝୡ $ git status On branch master You have unmerged paths. (fix conflicts and run "git commit") Unmerged paths: (use "git add <file>..." to mark resolution) both modified: index.html no changes added to commit (use "git add" and/or "git commit -a”) vi index.html <<<<<<< HEAD:index.html <div id="footer">contact : [email protected]</div> ======= <div id="footer"> please contact us at [email protected] </div> >>>>>>> iss53:index.html
ruby def hello <<<<<<< ours puts 'hola world' ======= puts 'hello mundo' >>>>>>> theirs end hello() • ours current change : 현재 브랜치의 작업 내역 • Theirs incoming change : 병합 할 파일을 가져온 쪽 ⚠ Rebase 에서는 ours 가 합쳐질 내역이라 정반대입니다. ߽ ழਸ ೞӝ ী ޖ ߄Շח ഛੋೞ۰ݶ git di ff ۽ ঌ ࣻ णפ. • git diff ——our: 병합 후의 결과를 병합 전의 내용과 비교 • git diff ——theirs: 병합 할 파일을 가져온 쪽과 비교
git checkout --conflict=diff3 hello.rb #! /usr/bin/env ruby def hello <<<<<<< ours puts 'hola world' ||||||| base puts 'hello world' ======= puts 'hello mundo' >>>>>>> theirs end hello() git checkout conflict: 충돌 난 부분을 수정 중에 원래대로 되 돌리고 다시 고쳐볼려고 할때 사용 • conflict diff3 : base 버전의 내용까지 제공한다. • base: 공통 조상 커밋의 내용 항상 쓰고 싶다면 git config ——global merge.conflictstyle diff3 를 터미널에 입력하세요!
• 충돌이 나기 전에 두 브랜치 중 한쪽을 선택하라고 알려줄 수 있다. • merge 명령에 - Xours 나 Xtheirs 옵션을 추가하면 된다. • git merge - Xours branch name • 이래도 충돌이 날 수도 있는데 어느 한쪽을 그대로 가져오고 싶을 때 • —s ours branch name
않은 작업이 이동할 브랜치의 이력과 충돌한다면 브랜치 이동이 차단이 됩니다. 어딘가에 작업 내역을 보관하고 싶다면 Stash 를 사용하면 된다. • git stash add/push: 스택에 집어넣기, git stash pop: 스택에 빼내기 • git stash apply: 스택 맨위 안빼고 가져오기 error: Your local changes to the following files would be overwritten by checkout: file A file B Please commit your changes or stash them before you switch branches. Aborting Git - Stashingҗ Cleaning
area 만 추가하기 • git stash push ——staged staging area 만 추가하기 • git stash ——patch: 대화형 수정 • git stash branch name : name 이름의 stash를 적용한 apply 브랜치를 만듬 • git clean: 추적 중이지 않은 파일을 제거 Git - Stashingҗ Cleaning
area 만 추가하기 • git stash push ——staged staging area 만 추가하기 • git stash ——patch: 대화형 수정 • git stash branch name : name 이름의 stash를 적용한 apply 브랜치를 만듬 • git clean: 추적 중이지 않은 파일을 제거 Git - Stashingҗ Cleaning