๋ถ„์‚ฐ ์†Œ์Šค ์ œ์–ด ์‹œ์Šคํ…œ Git 2.27 ์ถœ์‹œ

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

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

  • ์ด์ „ ๋ฆด๋ฆฌ์Šค์— ๊ตฌํ˜„๋œ ๊ธฐ๋ณธ ํ™œ์„ฑํ™”๊ฐ€ ๋˜๋Œ๋ ค์กŒ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๋ฒ„์ „ ํด๋ผ์ด์–ธํŠธ๊ฐ€ Git ์„œ๋ฒ„์— ์›๊ฒฉ์œผ๋กœ ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” Git ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ๊ณ ๋ ค๊ฐ€ ํ•„์š”ํ•œ ๋ฏธ๋„๋Ÿฌ์šด ๋ฌธ์ œ์˜ ์‹๋ณ„๋กœ ์ธํ•ด ํ”„๋กœํ† ์ฝœ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„์ง ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.
  • ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šคํ•  ๋•Œ SSL ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ์˜ต์…˜ ์„ธํŠธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 'ํด๋ฆฐ' ๋ฐ '์Šค๋จธ์ง€' ๋ณ€ํ™˜ ํ•„ํ„ฐ ์‚ฌ์šฉ ์‹œ ํ‘œ์‹œ๋˜๋Š” ์ •๋ณด๊ฐ€ ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด์ œ ๊ฐœ์ฒด๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋‚˜๋ฌด ๊ฐ™์€, ๋ณ€ํ™˜ํ•  blob์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  • ํ˜ผ๋ž€์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์ปค๋ฐ‹๊ณผ ๊ด€๋ จ๋œ ๊ต์ฒด๋œ ํƒœ๊ทธ๊ฐ€ ์‹๋ณ„๋˜๋ฉด ์ด์ œ "git explain" ๋ช…๋ น์€ ํ•ญ์ƒ ํ™•์žฅ ์ถœ๋ ฅ ๋ชจ๋“œ("--long")๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ์ปค๋ฐ‹์„ ์„ค๋ช…ํ•˜๋Š” ์„œ๋ช…๋˜๊ฑฐ๋‚˜ ์ฃผ์„์ด ๋‹ฌ๋ฆฐ ํƒœ๊ทธ๊ฐ€ ์ถœ๋ ฅ๋˜์—ˆ๋”๋ผ๋„ "refs/tags/" ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ์ด๋ฆ„์ด ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ์ด๋™๋˜์—ˆ์œผ๋ฉฐ "git show tag^0" ๋ช…๋ น์ด ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. "refs/tags/tag"๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๊ฑฐ๋‚˜ ์‹ฌ์ง€์–ด ๋‹ค๋ฅธ ํƒœ๊ทธ๊ฐ€ ๋ฐ˜ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ "git pull"์„ ์‹คํ–‰ํ•  ๋•Œ pull.rebase ๊ตฌ์„ฑ ๋ณ€์ˆ˜๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •๋˜๊ณ  "--[no-]rebase" ๋˜๋Š” "--ff-only" ์˜ต์…˜์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ•œ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ฒ ์ด์Šค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์˜๋„๊ฐ€ ์—†๋Š” ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด ๋ณ€์ˆ˜๋ฅผ false๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • "git fetch"์— ์ผ๋ฐ˜์ ์ธ "git pull" ์˜ต์…˜์ด ๊ฒ€ํ† ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์–ธ๊ธ‰๋˜์ง€ ์•Š์€ ์œ ์‚ฌํ•œ ์˜ต์…˜์ด ๋ฌธ์„œํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ ๋ˆ„๋ฝ๋œ ์˜ต์…˜์ด git fetch๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
  • "commit.gpgSign" ์„ค์ •์„ ์žฌ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด "git rebase" ๋ช…๋ น์— "--no-gpg-sign" ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋น„ASCII ๋ฌธ์ž๋ฅผ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๊ณ  "From:" ๋ฐ "Subject:" ํ—ค๋”๋ฅผ ๋ณ€๊ฒฝ ์—†์ด ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด "git format-patch" ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • "-show-pulls" ์˜ต์…˜์ด "git log"์— ์ถ”๊ฐ€๋˜์–ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ ์šฉ๋œ ์ปค๋ฐ‹๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ณ„๋„์˜ ๋ธŒ๋žœ์น˜์—์„œ ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณ‘ํ•ฉํ•˜๊ธฐ ์œ„ํ•œ ์ปค๋ฐ‹๋„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ๋Œ€ํ™”ํ˜• ์ž…๋ ฅ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ฉํ•˜๊ณ  ์ž…๋ ฅ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ํ‘œ์‹œ๋œ ํ›„ ์ฝ๊ธฐ ์ž‘์—… ์ „์— fflush()์— ๋Œ€ํ•œ ํ˜ธ์ถœ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • "git rebase"๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋จผ์ € "์ฒดํฌ์•„์›ƒ" ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ ๋„ ๋ชจ๋“  ๋กœ์ปฌ ์ปค๋ฐ‹์„ ๋‹ค์‹œ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์ปค๋ฐ‹์ด ์ด์ „์— ์—…์ŠคํŠธ๋ฆผ๋˜์—ˆ๋”๋ผ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.
  • ์ด์ „์— ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹คํ—˜์ ์ด๋ผ๊ณ  ์„ ์ „๋˜์—ˆ๋˜ ์ตœ์ ํ™”๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด 'pack.useSparse' ๊ตฌ์„ฑ ๋ณ€์ˆ˜๊ฐ€ 'true'๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • "git merge"์— "--autostash" ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • "์ŠคํŒŒ์Šค ์ฒดํฌ์•„์›ƒ" ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • "git update-ref --stdin"์— ๋ช‡ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ์ž‘์—…์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ์˜ˆ๋ฅผ ๋“ค์–ด ์—ฌ๋Ÿฌ ์ €์žฅ์†Œ์— ๊ฑธ์ณ XNUMX๋‹จ๊ณ„ ์›์ž ๋งํฌ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋งํฌ ์—…๋ฐ์ดํŠธ ํŠธ๋žœ์žญ์…˜์„ ์ง์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Markdown ๋ฌธ์„œ์— ๋Œ€ํ•œ userdiff ํ…œํ”Œ๋ฆฟ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋นˆ ์ž‘์—… ํŠธ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ŠคํŒŒ์Šค ์ฒดํฌ์•„์›ƒ ํ…œํ”Œ๋ฆฟ์˜ ๋ชจ๋“  ๊ฒฝ๋กœ๋ฅผ ์ œ์™ธํ•˜๋Š” ์ œํ•œ ์‚ฌํ•ญ์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ "git Restore --staged --worktree" ์ž‘์—…์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๋Œ€์‹  "HEAD" ๋ถ„๊ธฐ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • SHA-2 ๋Œ€์‹  SHA-1 ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ์ž‘์—…์ด ๊ณ„์†๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • GnuPG์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์žฌ์ž‘์—…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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