Skip to content

Latest commit

Β 

History

History
32 lines (25 loc) Β· 2.13 KB

13_conflict.md

File metadata and controls

32 lines (25 loc) Β· 2.13 KB

Merge Conflict와 Merge Tool

Merge Conflict

  • mergeλ₯Ό ν•˜λ €κ³  ν•˜λŠ” κ³Όμ •μ—μ„œ, 두 branchκ°€ λ™μΌν•œ file을 μˆ˜μ •ν–ˆλ‹€λ©΄, conflictκ°€ λ°œμƒν•œλ‹€
  • μ•„λž˜μ˜ test caseλ₯Ό μ‚΄νŽ΄λ³΄μž. master branch와 fix branchκ°€ λ™μΌν•œ νŒŒμΌμ„ μˆ˜μ •ν•œ κ²½μš°μ΄λ‹€

  • 이런 μƒν™©μ—μ„œ mergeλ₯Ό ν•˜κ²Œ 되면, merge conflictκ°€ λ°œμƒν•˜κ²Œ λœλ‹€

  • λ§Œμ•½ merge λ₯Ό μ·¨μ†Œν•˜κ³  μ‹Άλ‹€λ©΄ git merge --abortλͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜λ©΄ λœλ‹€

  • λ˜λŠ” conflictκ°€ λ°œμƒν•œ 뢀뢄을 μˆ˜μ •ν•˜κ³  mergeλ₯Ό μ™„λ£Œν•  μˆ˜λ„ μžˆλ‹€
  • merge conflictκ°€ λ°œμƒν•œ file을 열어보면, 두 branch의 μˆ˜μ •μ‚¬ν•­μ΄ λͺ¨λ‘ μ ν˜€μ Έ μžˆλŠ” 것을 λ³Ό 수 μžˆλ‹€
  • ν•΄λ‹Ή νŒŒμΌμ„ 직접 μˆ˜μ •ν•œ ν›„, μ €μž₯ν•˜κ³  λ‚˜μ„œ git add ν•˜κ³ , git merge --continue ν•˜λ©΄ conflictκ°€ ν•΄κ²°λœλ‹€



Merge Tool μ„€μ •ν•˜κ³  μ‚¬μš©ν•΄λ³΄κΈ°

  • merge conflictκ°€ λ°œμƒν–ˆμ„ λ•Œ, 직접 ν•΄λ‹Ή νŒŒμΌμ„ 직접 μˆ˜μ •ν•˜μ§€ μ•Šκ³ , editorλ₯Ό μ΄μš©ν•΄ μˆ˜μ •ν•˜λŠ” 방법이 μžˆλ‹€
  • git config --global -eμ—μ„œ μ•„λž˜μ˜ λͺ…λ Ήμ–΄λ₯Ό κΈ°μž…ν•˜κ³  μ €μž₯ν•˜μž (visual studio codeκ°€ μžˆλŠ” κ²½μš°μ— ν•œν•¨)
  • [merge] tool = vscode [mergetool "vscode"] cmd = code --wait $MERGED

  • merge tool을 μ„€μ •ν•˜κ³  merge conflictκ°€ λ°œμƒν–ˆλ‹€λ©΄, git mergetool λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•΄λ³΄μž
  • vs codeμ—μ„œ μ œκ³΅ν•˜λŠ” 4가지 option듀을 λ³Ό 수 μžˆλŠ”λ°, 이λ₯Ό ν™œμš©ν•˜μ—¬ 변경사항을 λ§Œλ“  ν›„ μ €μž₯ν•˜λ©΄ λœλ‹€