Git 2.38 ์†Œ์Šค ์ œ์–ด ์‹œ์Šคํ…œ ์ถœ์‹œ

๋ถ„์‚ฐ ์†Œ์Šค ์ œ์–ด ์‹œ์Šคํ…œ Git 2.38์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Git์€ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๊ณ  ์•ˆ์ •์ ์ธ ๊ณ ์„ฑ๋Šฅ ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ ์ค‘ ํ•˜๋‚˜๋กœ ๋ถ„๊ธฐ ๋ฐ ๋ณ‘ํ•ฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์œ ์—ฐํ•œ ๋น„์„ ํ˜• ๊ฐœ๋ฐœ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ก์˜ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์†Œ๊ธ‰ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์ €ํ•ญ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ์ปค๋ฐ‹์—์„œ ์ „์ฒด ์ด์ „ ๊ธฐ๋ก์˜ ์•”์‹œ์  ํ•ด์‹ฑ์ด ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ฐœ๋ฐœ์ž์˜ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ณ„ ํƒœ๊ทธ์™€ ์ปค๋ฐ‹์„ ์ธ์ฆํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ๋ฒ„์ „์— ๋น„ํ•ด ์ƒˆ ๋ฒ„์ „์—๋Š” 699๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฐธ์—ฌํ•˜์—ฌ 92๊ฐœ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์—ˆ์œผ๋ฉฐ, ์ด ์ค‘ 24๋ช…์ด ์ฒ˜์Œ์œผ๋กœ ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ํ˜์‹ :

  • ์ฃผ์š” ๊ตฌ์กฐ์—๋Š” Microsoft๊ฐ€ ๋Œ€๊ทœ๋ชจ ์ €์žฅ์†Œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœํ•œ "์Šค์นผ๋ผ" ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์›๋ž˜ C#์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์ง€๋งŒ git์—๋Š” ์ˆ˜์ •๋œ C ๋ฒ„์ „์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๋งค์šฐ ํฐ ์ €์žฅ์†Œ๋กœ ์ž‘์—…ํ•  ๋•Œ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฐ ์„ค์ •์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”ํ•œ๋‹ค๋Š” ์ ์—์„œ git ๋ช…๋ น๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์Šค์นผ๋ผ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • ๋ถˆ์™„์ „ํ•œ ์ €์žฅ์†Œ ๋ณต์‚ฌ๋ณธ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ถ€๋ถ„ ๋ณต์ œ์ž…๋‹ˆ๋‹ค.
    • ์ „์ฒด ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์ง€ ์•Š๊ณ ๋„ ํŒŒ์ผ ์‹œ์Šคํ…œ(FSMonitor)์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋‹ค์–‘ํ•œ ํŒฉ ํŒŒ์ผ(๋ฉ€ํ‹ฐํŒฉ)์˜ ๊ฐœ์ฒด๋ฅผ ํฌํ•จํ•˜๋Š” ์ธ๋ฑ์Šค์ž…๋‹ˆ๋‹ค.
    • ์ปค๋ฐ‹ ์ •๋ณด์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ปค๋ฐ‹ ๊ทธ๋ž˜ํ”„ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๋Š” ์ปค๋ฐ‹ ๊ทธ๋ž˜ํ”„ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
    • ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ €์žฅ์†Œ์˜ ์ตœ์  ๊ตฌ์กฐ๋ฅผ ๋Œ€ํ™”ํ˜• ์„ธ์…˜์„ ์ฐจ๋‹จํ•˜์ง€ ์•Š๊ณ  ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ฃผ๊ธฐ ์ž‘์—…(์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์‚ฌ์ „์— ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์ปค๋ฐ‹ ๊ทธ๋ž˜ํ”„๋กœ ํŒŒ์ผ์„ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์ž‘์—…์€ ํ•œ ์‹œ๊ฐ„์— ํ•œ ๋ฒˆ์”ฉ ์ˆ˜ํ–‰๋˜๋ฉฐ, ํŒจํ‚นํ•˜๋Š” ๊ณผ์ •) ์ €์žฅ์†Œ๋Š” ๋งค์ผ ๋ฐค ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค).
    • ๋ถ€๋ถ„ ๋ณต์ œ ์ค‘์— ํ—ˆ์šฉ๋˜๋Š” ํŒจํ„ด์„ ์ œํ•œํ•˜๋Š” "sparseCheckoutCone" ๋ชจ๋“œ.
  • ํ•„์š”ํ•œ ์ปค๋ฐ‹์œผ๋กœ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ์ข…์† ๋ถ„๊ธฐ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ฒดํฌ์•„์›ƒํ•  ํ•„์š” ์—†์ด ์ด๋™ ์ค‘์ธ ๋ถ„๊ธฐ์™€ ๊ฒน์น˜๋Š” ์ข…์† ๋ถ„๊ธฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด "git rebase" ๋ช…๋ น์— --update-refs ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ถ€๋ถ„ ์ธ๋ฑ์Šค์™€ ํ˜ธํ™˜๋˜๋Š” "git rm" ๋ช…๋ น์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
  • "cone" ๋ชจ๋“œ์˜ ๋ถ€๋ถ„ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๋Š” ์ž‘์—… ๊ณต๊ฐ„์—์„œ ์ด ๋ชจ๋“œ๊ฐ€ ์—†๋Š” ์™ธ๋ถ€ ์˜์—ญ์œผ๋กœ ํŒŒ์ผ์„ ์ด๋™ํ•  ๋•Œ "git mv A B" ๋ช…๋ น์˜ ๋™์ž‘์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋น„ํŠธ๋งต ํŒŒ์ผ ํ˜•์‹์€ ๋Œ€๊ทœ๋ชจ ์ €์žฅ์†Œ ์ž‘์—…์— ์ตœ์ ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„ ํƒํ•œ ์ปค๋ฐ‹ ๋ฐ ํ•ด๋‹น ์˜คํ”„์…‹ ๋ชฉ๋ก์ด ํฌํ•จ๋œ ์„ ํƒ์  ์ธ๋ฑ์Šค ํ…Œ์ด๋ธ”์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • "git merge-tree" ๋ช…๋ น์€ ์ง€์ •๋œ ๋‘ ๊ฐœ์˜ ์ปค๋ฐ‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งˆ์น˜ ์ด๋Ÿฌํ•œ ์ปค๋ฐ‹์˜ ๊ธฐ๋ก์ด ๋ณ‘ํ•ฉ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณ‘ํ•ฉ ๊ฒฐ๊ณผ๊ฐ€ ํฌํ•จ๋œ ํŠธ๋ฆฌ๊ฐ€ ๊ณ„์‚ฐ๋˜๋Š” ์ƒˆ๋กœ์šด ๋ชจ๋“œ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค๋ฅธ Git ์ €์žฅ์†Œ ๋‚ด์—์„œ ๋ฒ ์–ด ์ €์žฅ์†Œ(์ž‘์—… ํŠธ๋ฆฌ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ์ €์žฅ์†Œ)๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด "safe.barerepository" ์„ค์ •์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. "explicit"๋กœ ์„ค์ •ํ•˜๋ฉด ์ตœ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์—๋งŒ ์žˆ๋Š” ๋ฒ ์–ด ์ €์žฅ์†Œ๋กœ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๊ธฐ๋ณธ ์ €์žฅ์†Œ๋ฅผ ๋ฐฐ์น˜ํ•˜๋ ค๋ฉด "all" ๊ฐ’์„ ์‚ฌ์šฉํ•˜์„ธ์š”.
  • "git grep" ๋ช…๋ น์—๋Š” "-m"("-max-count") ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” GNU grep์˜ ๋™์ผํ•œ ์ด๋ฆ„ ์˜ต์…˜๊ณผ ์œ ์‚ฌํ•˜๋ฉฐ ํ‘œ์‹œ๋˜๋Š” ์ผ์น˜ ํ•ญ๋ชฉ ์ˆ˜๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • "ls-files" ๋ช…๋ น์€ "--format" ์˜ต์…˜์„ ๊ตฌํ˜„ํ•˜์—ฌ ์ถœ๋ ฅ ํ•„๋“œ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค(์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ์ฒด ์ด๋ฆ„, ๋ชจ๋“œ ๋“ฑ์˜ ์ถœ๋ ฅ์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).
  • "git cat-file"์—์„œ๋Š” ๊ฐ์ฒด์˜ ๋‚ด์šฉ์„ ํ‘œ์‹œํ•  ๋•Œ mailmap ํŒŒ์ผ์— ์ง€์ •๋œ ์ž‘์„ฑ์ž-์ด๋ฉ”์ผ ๋ฐ”์ธ๋”ฉ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€