๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ

 

merge ์‹ค์ˆ˜ ๊ด€๋ จ ๋ช…๋ น์–ด

  1. revert : ํ˜„์žฌ์— ์žˆ์œผ๋ฉด์„œ ๊ณผ๊ฑฐ์˜ ํŠน์ • ์‚ฌ๊ฑด(commit)๋“ค๋งŒ ์—†๋˜ ์ผ๋กœ ๋งŒ๋“ ๋‹ค.
  2. git revert HEAD -m 1
  3. ๊ณผ๊ฑฐ์˜ ์ปค๋ฐ‹๋‚ด์šฉ์ด mergeํ•  ๋•Œ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์— ์˜ํ–ฅ์„ ์ฃผ์–ด 2๋ฒˆ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉ
  4. reset : ์‹œ๊ฐ„์„ ์•„์˜ˆ ๊ณผ๊ฑฐ์˜ ํŠน์ • ์‚ฌ๊ฑด(commit)์œผ๋กœ ๋˜๋Œ๋ฆฐ๋‹ค.
  • git reset HEAD^ : ์ตœ์‹  commit ์—†์• ๋ฒ„๋ฆฌ๊ธฐ
  • git push origin origin/OOO-- force: no-ff ์˜ต์…˜ ๋ถ™์—ฌ mergeํ–ˆ์„ ๋•Œ push๊ฐ€ ์•ˆ๋˜๋ฉด ๊ฐ•์ œ๋กœ ์˜ฌ๋ฆฌ๊ธฐ

 

 

merge ์‹ค์ˆ˜ ๊ด€๋ จ ๋ช…๋ น์–ด

  • git merge origin/OOO : merge
  • git merge --abort : merge ๋ช…๋ น์–ด ์ทจ์†Œ
  • git reset --hard HEAD: ๋ณ‘ํ•ฉ ํ›„ ํŽธ์ง‘๊นŒ์ง€ ํ–ˆ์ง€๋งŒ, ์ทจ์†Œํ•˜๊ณ  ์‹ถ์„ ๋•Œ
  • git merge -Xours targetBranch : ํ˜„์žฌ ๋ธŒ๋žœ์น˜ ๊ธฐ์ค€์œผ๋กœ ๋ฎ์–ด์”€ (use our sources)
  • git merge -Xtheirs targetBranch : ํƒ€๊ฒŸ ๋ธŒ๋žœ์น˜ ๊ธฐ์ค€์œผ๋กœ ๋ฎ์–ด์”€ (use their sources)
  • git status: ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํ™•์ธ
  • git log: ์ปค๋ฐ‹ ํ˜„ํ™ฉ์„ ํŒŒ์•…

 

 

merge confilct: three-way-merge

๊ทธ๋™์•ˆ ๋ณ‘ํ•ฉ์ถฉ๋Œ์€ ์–ด๋А ๋ฐฉ์‹์—์„œ๋“  ๊ฐ™์€ ํŒŒ์ผ์˜ ๊ฐ™์€ ๊ณณ์„ ์ˆ˜์ •ํ•˜๋ฉด ๋ฌด์กฐ๊ฑด์ ์œผ๋กœ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์—ˆ๋‹ค. ๊ทผ๋ฐ ํ•ด๋‹น ์ถฉ๋Œ์ด ์ผ์–ด๋‚˜๋Š” ๋ฐฉ์‹์€ 3-way-merge์—์„œ๋งŒ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ!

๋ฐ˜์‘ํ˜•