์ด์ ๋ฒ์ ์ ๋นํด ์ ๋ฒ์ ์๋ 505๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋์์ผ๋ฉฐ, 77๋ช
์ ๊ฐ๋ฐ์๊ฐ ์ฐธ์ฌํ์ฌ ์ค๋นํ์ผ๋ฉฐ, ์ด ์ค 26๋ช
์ด ์ฒ์์ผ๋ก ๊ฐ๋ฐ์ ์ฐธ์ฌํ์ต๋๋ค. ๊ธฐ์ด์ ์ธ
- ๋ธ๋์น ์กฐ์(์ ํ ๋ฐ ์์ฑ) ๋ฐ ์์ ๋๋ ํฐ๋ฆฌ์ ํ์ผ ๋ณต์("git checkout $commit - $filename")๊ณผ ๊ฐ์ด ๋์จํ๊ฒ ๊ฒฐํฉ๋ "git checkout" ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํ๊ธฐ ์ํด ์คํ์ ์ธ "git switch" ๋ฐ "git Restore" ๋ช ๋ น์ด ๋์ ๋์์ต๋๋ค. ๋๋ ์ค๋น ์์ญ์์ ์ฆ์(โโstagingโ, โgit checkoutโ๊ณผ ์ ์ฌํ์ง ์์). "git checkout"๊ณผ ๋ฌ๋ฆฌ "git Restore"๋ ๋ณต์ ์ค์ธ ๋๋ ํฐ๋ฆฌ์์ ์ถ์ ๋์ง ์์ ํ์ผ์ ์ ๊ฑฐํ๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก "--no-overlay").
- "-abort"์ ์ ์ฌํ๊ฒ "git merge โquit" ์ต์ ์ ์ถ๊ฐํ์ฌ ๋ธ๋์น ๋ณํฉ ํ๋ก์ธ์ค๋ฅผ ์ค์งํ์ง๋ง ์์ ๋๋ ํฐ๋ฆฌ๋ ๊ทธ๋๋ก ์ ์งํฉ๋๋ค. ์ด ์ต์ ์ ์๋ ๋ณํฉ ์ค์ ๋ณ๊ฒฝ๋ ์ฌํญ ์ค ์ผ๋ถ๋ฅผ ๋ณ๋์ ์ปค๋ฐ์ผ๋ก ์คํํ๋ ๊ฒ์ด ๋ ๋์ ๊ฒฝ์ฐ ์ ์ฉํ ์ ์์ต๋๋ค.
- "git clone", "git fetch" ๋ฐ "git push" ๋ช
๋ น์ ์ด์ ์ฐ๊ฒฐ๋ ์ ์ฅ์(
๋์ฒด ); -
์ถ๊ฐ๋จ "gitblame โignore-rev" ๋ฐ "-ignore-revs-file" ์ต์ ์ ์ฌ์ฉํ๋ฉด ์ฌ์ํ ๋ณ๊ฒฝ(์: ํ์ ์์ )์ ์ํํ๋ ์ปค๋ฐ์ ๊ฑด๋๋ธ ์ ์์ต๋๋ค. - ์ถฉ๋ํ๋ ์ปค๋ฐ์ ๊ฑด๋๋ฐ๊ธฐ ์ํ "git Cherry-pick โskip" ์ต์ ์ ์ถ๊ฐํ์ต๋๋ค("git Reset && git Cherry-pick โcontinue" ์ํ์ค์ ๊ธฐ์ต๋ ์๋ ๋ก๊ทธ).
- "git status -[no-]ahead-behind" ์ต์ ์ ์๊ตฌ์ ์ผ๋ก ์์ ํ๋ status.aheadBehind ์ค์ ์ ์ถ๊ฐํ์ต๋๋ค.
- ์ด๋ฒ ๋ฆด๋ฆฌ์ค๋ถํฐ "git log"๋ ๊ธฐ๋ณธ์ ์ผ๋ก git shortlog๊ฐ ์ด๋ฏธ ์ํํ๋ ๋ฐฉ์๊ณผ ์ ์ฌํ๊ฒ mailmap์ ์ํ ๋ณ๊ฒฝ ์ฌํญ์ ๊ณ ๋ คํฉ๋๋ค.
- 2.18์ ๋์ ๋ ์ปค๋ฐ ๊ทธ๋ํ(core.commitGraph)์ ์คํ์ ์บ์ ์ ๋ฐ์ดํธ ์์ ์ด ๋ํญ ๊ฐ์ํ๋์์ต๋๋ค. ๋ํ ์ฌ๋ฌ ํ ํ๋ฆฟ์ ์ฌ์ฉํ ๋ git for-each-ref๋ฅผ ๋ ๋น ๋ฅด๊ฒ ๋ง๋ค๊ณ "git fetch โmultiple"์์ auto-gc ํธ์ถ ํ์๋ฅผ ์ค์์ต๋๋ค.
- "git Branch --list"๋ ์ด์ ๋ก์ผ์ผ์ ๊ด๊ณ์์ด ํญ์ ๋ชฉ๋ก์ ๋งจ ์ฒ์์ ๋ถ๋ฆฌ๋ HEAD๋ฅผ ํ์ํฉ๋๋ค.
์ถ์ฒ : opennet.ru