Git 2.41 ์†Œ์Šค ์ œ์–ด ์‹œ์Šคํ…œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

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

์ด์ „ ๋ฆด๋ฆฌ์Šค์™€ ๋น„๊ตํ•˜์—ฌ 542๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฐธ์—ฌํ•˜์—ฌ ์ค€๋น„ํ•œ ์ƒˆ ๋ฒ„์ „์—๋Š” 95๊ฐœ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ ์šฉ๋˜์—ˆ์œผ๋ฉฐ ์ด ์ค‘ 29๋ช…์ด ์ฒ˜์Œ์œผ๋กœ ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ํ˜์‹ :

  • ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์ฐธ์กฐ๋˜์ง€ ์•Š๋Š” ๋„๋‹ฌํ•  ์ˆ˜ ์—†๋Š” ๊ฐœ์ฒด์˜ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋ถ„๊ธฐ ๋˜๋Š” ํƒœ๊ทธ๋Š” ์ฐธ์กฐ๋˜์ง€ ์•Š์Œ). ๋„๋‹ฌํ•  ์ˆ˜ ์—†๋Š” ๊ฐœ์ฒด๋Š” ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ์— ์˜ํ•ด ์ œ๊ฑฐ๋˜์ง€๋งŒ ๊ฒฝํ•ฉ ์ƒํƒœ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ฑฐํ•˜๊ธฐ ์ „์— ํŠน์ • ์‹œ๊ฐ„ ๋™์•ˆ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„๋‹ฌํ•  ์ˆ˜ ์—†๋Š” ๊ฐœ์ฒด์˜ ๊ธฐ๊ฐ„์„ ์ถ”์ ํ•˜๋ ค๋ฉด ์œ ์‚ฌํ•œ ๊ฐœ์ฒด์˜ ๋ณ€๊ฒฝ ์‹œ๊ฐ„์œผ๋กœ ๋ ˆ์ด๋ธ”์„ ๋ฐ”์ธ๋”ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ชจ๋“  ๊ฐœ์ฒด๊ฐ€ ๊ณตํ†ต ๋ณ€๊ฒฝ ์‹œ๊ฐ„์„ ๊ฐ–๋Š” ํ•˜๋‚˜์˜ ํŒฉ ํŒŒ์ผ์— ์ €์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ๋„๋‹ฌํ•  ์ˆ˜ ์—†๋Š” ๊ฐ ๊ฐœ์ฒด๊ฐ€ ๋ณ„๋„์˜ ํŒŒ์ผ์— ์ €์žฅ๋˜์–ด ์•„์ง ์‚ญ์ œ๋˜์ง€ ์•Š์€ ์ƒˆ๋กœ์šด ๋„๋‹ฌํ•  ์ˆ˜ ์—†๋Š” ๊ฐœ์ฒด๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ "cruft packs" ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ๊ฐœ์ฒด๋ฅผ ์••์ถ•ํ•˜์—ฌ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ๋ชจ๋“  ๊ฐœ์ฒด๋ฅผ ํ•˜๋‚˜์˜ ํŒฉ ํŒŒ์ผ์— ์ €์žฅํ•˜๊ณ  ๊ฐ ๊ฐœ์ฒด์˜ ์ˆ˜์ • ์‹œ๊ฐ„์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์žฅ์ž๊ฐ€ ".mtimes"์ธ ํŒŒ์ผ๊ณผ ".idx" ํ™•์žฅ์ž๊ฐ€ ์žˆ๋Š” ์ƒ‰์ธ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งํฌ๋ฉ๋‹ˆ๋‹ค.
    Git 2.41 ์†Œ์Šค ์ œ์–ด ์‹œ์Šคํ…œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ํŒฉ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋””์Šคํฌ์˜ ์—ญ๋ฐฉํ–ฅ ์ธ๋ฑ์Šค(revindex) ์œ ์ง€๊ฐ€ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. torvalds/linux ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ํ…Œ์ŠคํŠธํ–ˆ์„ ๋•Œ ์—ญ๋ฐฉํ–ฅ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฆฌ์†Œ์Šค ์ง‘์•ฝ์ ์ธ "git push" ์ž‘์—…์˜ ์†๋„๋ฅผ 1.49๋ฐฐ ๋†’์ผ ์ˆ˜ ์žˆ์—ˆ๊ณ  "git cat- file --batch='%(objectsize:disk)' ยป 77๋ฒˆ. ์—ญ๋ฐฉํ–ฅ ์ƒ‰์ธ์ด ์žˆ๋Š” ํŒŒ์ผ(".rev")์€ ".git/objects/pack" ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ €์žฅ์†Œ ๋‚ด๋ถ€์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

    Git์€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ„๋„์˜ ํŒŒ์ผ์— ๋ฐฐ์น˜๋˜๋Š” ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ์ €์žฅํ•œ๋‹ค๋Š” ์ ์„ ์ƒ๊ธฐํ•˜์‹ญ์‹œ์˜ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ž‘์—…์˜ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๊ฐœ์ฒด๋Š” ํŒฉ ํŒŒ์ผ์— ์ถ”๊ฐ€๋กœ ๋ฐฐ์น˜๋˜๋ฉฐ ์ •๋ณด๋Š” ๊ฐœ์ฒด ์ŠคํŠธ๋ฆผ์˜ ํ˜•ํƒœ๋กœ ์ฐจ๋ก€๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค(git fetch ๋ฐ git์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ์ฒด๋ฅผ ์ „์†กํ•  ๋•Œ ์œ ์‚ฌํ•œ ํ˜•์‹์ด ์‚ฌ์šฉ๋จ). ํ‘ธ์‹œ ๋ช…๋ น). ๊ฐ ํŒฉ ํŒŒ์ผ์— ๋Œ€ํ•ด ์ธ๋ฑ์Šค ํŒŒ์ผ(.idx)์ด ์ƒ์„ฑ๋˜๋ฏ€๋กœ ์ง€์ •๋œ ๊ฐœ์ฒด๊ฐ€ ๊ฐœ์ฒด ์‹๋ณ„์ž๋กœ ์ €์žฅ๋˜๋Š” ํŒฉ ํŒŒ์ผ์˜ ์˜คํ”„์…‹์„ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

    ์˜ˆ๋ฅผ ๋“ค์–ด, ์ง์ ‘ ์ƒ‰์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด์˜ ๋‚ด์šฉ์„ ํ‘œ์‹œํ•˜๋Š” ์ž‘์—…์€ ์œ„์น˜-๊ฐ์ฒด ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ‰์ธ๋˜์ง€ ์•Š์€ ๊ฐ์ฒด์˜ ํฌ๊ธฐ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ž‘์—…๋ณด๋‹ค 62๋ฐฐ ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค. ์—ญ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ํ›„ ์ด๋Ÿฌํ•œ ์ž‘์—…์€ ๊ฑฐ์˜ ๊ฐ™์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ญ๋ฐฉํ–ฅ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๋””์Šคํฌ์—์„œ ์ง์ ‘ ์ „์†กํ•˜์—ฌ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ ํ‘ธ์‹œ ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ ๊ฐœ์ฒด ์ „์†ก ์ž‘์—… ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    Git 2.41 ์†Œ์Šค ์ œ์–ด ์‹œ์Šคํ…œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

  • ์ œํ•œ๋œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์•ก์„ธ์Šคํ•  ๋•Œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” "์ž๊ฒฉ ์ฆ๋ช… ๋„์šฐ๋ฏธ" ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ž๊ฒฉ ์ฆ๋ช… ์ฒ˜๋ฆฌ๊ธฐ์™€ ์ธ์ฆ ์„œ๋น„์Šค ๊ฐ„์˜ WWW-Authenticate ํ—ค๋” ์ „๋‹ฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. WWW-Authenticate ํ—ค๋” ์ง€์›์„ ํ†ตํ•ด OAuth ๋ฒ”์œ„ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ๋ณด๋‹ค ์„ธ๋ถ„ํ™”๋œ ์‚ฌ์šฉ์ž ์•ก์„ธ์Šค๋กœ ์ „๋‹ฌํ•˜๊ณ  ์š”์ฒญ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ˜•์‹ ์˜ต์…˜ "%(ahead-behind: )"๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๋ถ„๊ธฐ์™€ ๋น„๊ตํ•˜์—ฌ ํŠน์ • ๋ถ„๊ธฐ์— ์กด์žฌํ•˜๊ฑฐ๋‚˜ ์—†๋Š” ์ปค๋ฐ‹ ์ˆ˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ฆ‰์‹œ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ปค๋ฐ‹ ์ˆ˜์ค€์—์„œ ํ•œ ๋ถ„๊ธฐ๊ฐ€ ๋‹ค๋ฅธ ๋ถ„๊ธฐ๋ณด๋‹ค ๋’ค์ฒ˜์ง€๊ฑฐ๋‚˜ ์•ž์„œ๋Š” ์ •๋„). ์ด์ „์—๋Š” ์ด ์ •๋ณด๋ฅผ ์–ป์œผ๋ ค๋ฉด ๋ถ„๊ธฐ์— ๊ณ ์œ ํ•œ ์ปค๋ฐ‹ ์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” "git rev-list --count main..my-feature" ๋ช…๋ น๊ณผ "git rev-list --count my-feature.." ๋ช…๋ น์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. main"์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ˆ„๋ฝ๋œ ์ปค๋ฐ‹ ์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์ด์ œ ์ด๋Ÿฌํ•œ ๊ณ„์‚ฐ์„ ๋‹จ์ผ ๋ช…๋ น์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ•ธ๋“ค๋Ÿฌ ์“ฐ๊ธฐ๊ฐ€ ๊ฐ„์†Œํ™”๋˜๊ณ  ์‹คํ–‰ ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ณ‘ํ•ฉ๋˜์ง€ ์•Š์€ ๋ถ„๊ธฐ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ๊ธฐ๋ณธ ๋ถ„๊ธฐ๋ณด๋‹ค ๋’ค์— ์žˆ๋Š”์ง€ ์•ž์— ์žˆ๋Š”์ง€ ํ‰๊ฐ€ํ•˜๋ ค๋ฉด ํ•œ ์ค„์งœ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. $ git for-each-ref --no-merged=origin/HEAD \ --format=' %(refname:short) %(ahead-behind:origin/HEAD)' \ refs/heads/tb/ | column -t tb/cruft-extra-tips 2 96 tb/for-each-refโ€”exclude 16 96 tb/roaring-bitmaps 47 3 ์ด์ „์— ์‚ฌ์šฉ๋œ ์Šคํฌ๋ฆฝํŠธ ๋Œ€์‹  17๋ฐฐ ๋” ๋Š๋ฆผ: $ git for-each-ref โ€” format='%(refname:short)' --no-merged=origin/HEAD \ refs/heads/tb | while read ref do ahead="$(git rev-list --count origin/HEAD..$ref)" behind="$(git rev-list --count $ref..origin/HEAD)" printf "%s %d %d\n" "$ref" "$ahead" "$behind" ์™„๋ฃŒ โ€‹โ€‹| column -t tb/cruft-extra-tips 2 96 tb/for-each-refโ€”exclude 16 96 tb/roaring-bitmaps 47 3
  • "git fetch" ๋ช…๋ น์— "--porcelain" ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์–ด " โ€, ๋œ ์ฝ๊ธฐ ์‰ฝ์ง€๋งŒ ์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๋ฐ ๋” ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • "fetch.hideRefs" ์„ค์ •์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์„œ๋ฒ„๊ฐ€ ๊ฐœ์ฒด์˜ ์ „์ฒด ์„ธํŠธ๋ฅผ ๋ณด๋ƒˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋‹จ๊ณ„์—์„œ ๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋งํฌ ์ผ๋ถ€๋ฅผ ์ˆจ๊น€์œผ๋กœ์จ "git ๊ฐ€์ ธ์˜ค๊ธฐ" ์ž‘์—… ์†๋„๋ฅผ ๋†’์ด๊ณ  ํ™•์ธ์„ ์„œ๋ฒ„๋กœ๋งŒ ์ œํ•œํ•˜์—ฌ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์ง์ ‘ ๊ฒ€์ƒ‰๋˜๋Š” ๊ณณ. ์˜ˆ๋ฅผ ๋“ค์–ด ์ถ”์ ๋œ ์™ธ๋ถ€ ๋งํฌ๊ฐ€ ๋งŽ์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์žˆ๋Š” ์‹œ์Šคํ…œ์—์„œ ํ…Œ์ŠคํŠธํ•  ๋•Œ $remote ๋Œ€์ƒ ์„œ๋ฒ„๋กœ ์ฃผ์†Œ ์ง€์ •๋œ ๋งํฌ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋งํฌ๋ฅผ ์ œ์™ธํ•˜๋ฉด "git ๊ฐ€์ ธ์˜ค๊ธฐ" ์ž‘์—…์ด 20๋ถ„์—์„œ 30์ดˆ๋กœ ๋‹จ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค. $ git -c fetch.hideRefs=refs -c fetch.hideRefs=!refs/remotes/$remote \ ๊ฐ€์ ธ์˜ค๊ธฐ $remote
  • "git fsck" ๋ช…๋ น์€ ์ ‘๊ทผ์„ฑ ๋น„ํŠธ๋งต ๋ฐ ์—ญ๋ฐฉํ–ฅ ์ธ๋ฑ์Šค์—์„œ ์†์ƒ, ์ฒดํฌ์„ฌ ์ผ์น˜ ๋ฐ ๊ฐ’์˜ ์ •ํ™•์„ฑ์„ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • "git clone --local" ๋ช…๋ น์€ ์ด์ œ $GIT_DIR ๋‚ด๋ถ€์— ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ํฌํ•จ๋œ ์ €์žฅ์†Œ์—์„œ ๋ณต์‚ฌํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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