๋ถ์ฐ ์์ค ์ ์ด ์์คํ 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