์ด๊ฒ์ Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ๊ณต๊ธ์์์ ์คํํ ์ ์๋ git-commit ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
git-commit - ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ณ๊ฒฝ ์ฌํญ ๊ธฐ๋ก
๊ฐ์
์์ ๋ฒํ๋ค [-์ | --๋ํํ | --ํจ์น] [-s] [-v] [-u ] [--๊ฐ์ ํ๋ค]
[--dry-run] [(-c | -C | --fixup | --squash) ]
[-NS | -๋ฏธ๋์ ] [--reset-author] [--ํ์ฉ-๋น์ด ์์]
[--allow-empty-message] [--no-verify] [-e] [--author= ]
[--๋ ์ง= ] [--์ ๋ฆฌ= ] [--[์๋์ค-]์ํ]
[-i | -o] [-S[ ]] [--] [ ...]
๊ธฐ์
์ธ๋ฑ์ค์ ํ์ฌ ๋ด์ฉ์ ๋ก๊ทธ ๋ฉ์์ง์ ํจ๊ป ์ ์ปค๋ฐ์ ์ ์ฅํฉ๋๋ค.
๋ณ๊ฒฝ ์ฌํญ์ ์ค๋ช ํ๋ ์ฌ์ฉ์.
์ถ๊ฐํ ๋ด์ฉ์ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ง์ ํ ์ ์์ต๋๋ค.
1. ์ฌ์ฉํ์ฌ ์์ ๋ํ๋ค ์ฌ์ฉํ๊ธฐ ์ ์ ์ธ๋ฑ์ค์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ง์ ์ผ๋ก "์ถ๊ฐ"ํ๋ ค๋ฉด ๋ฒํ๋ค
๋ช ๋ น(์ฐธ๊ณ : ์์ ๋ ํ์ผ๋ "์ถ๊ฐ"ํด์ผ ํจ);
2. ์ฌ์ฉํ์ฌ ์์ rm ์์ ํธ๋ฆฌ ๋ฐ ์ธ๋ฑ์ค์์ ํ์ผ์ ์ ๊ฑฐํ๊ธฐ ์ ์ ๋ค์
๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒํ๋ค ๋ช ๋ น;
3. ํ์ผ์ ์ธ์๋ก ๋์ดํ์ฌ ๋ฒํ๋ค ๋ช ๋ น, ์ด ๊ฒฝ์ฐ ์ปค๋ฐ์
์ธ๋ฑ์ค์ ์ค๋น๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฌด์ํ๊ณ ๋์ ํ์ฌ ๋ด์ฉ์ ๊ธฐ๋กํฉ๋๋ค.
๋์ด๋ ํ์ผ(Git์ ์ด๋ฏธ ์๋ ค์ ธ ์์ด์ผ ํจ)
4. -a ์ค์์น๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒํ๋ค ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์๋์ผ๋ก "์ถ๊ฐ"ํ๋ ๋ช ๋ น
์๋ ค์ง ํ์ผ(์ฆ, ์ด๋ฏธ ์์ธ์ ๋์ด๋ ๋ชจ๋ ํ์ผ) ๋ฐ ์๋์ผ๋ก
์์ ํธ๋ฆฌ์์ ์ ๊ฑฐ๋ ์ธ๋ฑ์ค์ "rm" ํ์ผ์ ์ฐพ์ ๋ค์
์ค์ ์ปค๋ฐ;
5. --interactive ๋๋ --patch ์ค์์น๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒํ๋ค ํ๋๋ฅผ ๊ฒฐ์ ํ๋ ๋ช ๋ น
ํ์ผ์ด๋ ๋ฉ์ด๋ฆฌ๊ฐ ์ปค๋ฐ์ ์ผ๋ถ์ฌ์ผ ํ๋ ํ์ผ์ ์ํด
์์ . ์ "๋ํํ ๋ชจ๋" ์น์ ์ ์ฐธ์กฐํ์ญ์์ค. ์์ ์ถ๊ฐ(1) ์กฐ์ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๊ธฐ ์ํด
์ด๋ฌํ ๋ชจ๋.
--dry-run ์ต์ ์
๋์ผํ ๋งค๊ฐ๋ณ์ ์ธํธ(์ต์ ๋ฐ ๊ฒฝ๋ก)๋ฅผ ์ ๊ณตํ์ฌ ๋ค์ ์ปค๋ฐ์ ์ํด ์์ ๋ด์ฉ์ ์ฐธ์กฐํ์ญ์์ค.
์ปค๋ฐํ๊ณ ๊ทธ ์งํ์ ์ค์๋ฅผ ์ฐพ์ผ๋ฉด ๋ณต๊ตฌํ ์ ์์ต๋๋ค.
๊ทธ๊ฒ๊ณผ ํจ๊ป ์์ ์ฌ์ค์ .
์ต์
-a, --๋ชจ๋
์์ ๋ฐ ์ญ์ ๋ ํ์ผ์ ์๋์ผ๋ก ์ค๋นํ๋๋ก ๋ช ๋ น์ ์ง์ํ์ง๋ง
Git์ ์๋ฆฌ์ง ์์ ์ ํ์ผ์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
-p, --ํจ์น
๋ํํ ํจ์น ์ ํ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ปค๋ฐํ ๋ณ๊ฒฝ ์ฌํญ์ ์ ํํฉ๋๋ค. ๋ณด๋ค
์์ ์ถ๊ฐ(1) ์์ธํ ๋ด์ฉ์.
-์จ , --์ฌ์ฌ์ฉ ๋ฉ์์ง=
๊ธฐ์กด ์ปค๋ฐ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ค๊ณ ๋ก๊ทธ ๋ฉ์์ง์ ์ ์๊ถ์ ์ฌ์ฌ์ฉํฉ๋๋ค.
์ปค๋ฐ์ ์์ฑํ ๋ ์ ๋ณด(ํ์์คํฌํ ํฌํจ).
-์จ , --reedit-๋ฉ์์ง=
์ฒ๋ผ -Cํ์ง๋ง,๊ณผ -c ํธ์ง๊ธฐ๊ฐ ํธ์ถ๋์ด ์ฌ์ฉ์๊ฐ ์ถ๊ฐ๋ก ํธ์งํ ์ ์์ต๋๋ค.
์ปค๋ฐ ๋ฉ์์ง.
--์์ =
rebase --autosquash์ ํจ๊ป ์ฌ์ฉํ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ์ปค๋ฐ ๋ฉ์์ง๋
"fixup!" ์ ๋์ฌ๊ฐ ์๋ ์ง์ ๋ ์ปค๋ฐ์ ์ ๋ชฉ ์ค์ด์ด์ผ ํฉ๋๋ค. ๋ณด๋ค ์์-
๋ฆฌ๋ฒ ์ด์ค(1) ์์ธํ ๋ด์ฉ์.
--์ค์ฟผ์=
rebase --autosquash์ ํจ๊ป ์ฌ์ฉํ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ์ปค๋ฐ ๋ฉ์์ง
์ ๋ชฉ ์ค์ "squash! "๋ผ๋ ์ ๋์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ๋ ์ปค๋ฐ์์ ๊ฐ์ ธ์ต๋๋ค. ์
์ถ๊ฐ ์ปค๋ฐ ๋ฉ์์ง ์ต์ (-m/-c/-C/-F)๊ณผ ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค. ๋ณด๋ค ์์ ๋ฆฌ๋ฒ ์ด์ค(1)
์ธ๋ถ.
--์ฌ์ค์ -์ ์
-C/-c/--amend ์ต์ ๊ณผ ํจ๊ป ์ฌ์ฉํ๊ฑฐ๋ ์ถฉ๋ ํ ์ปค๋ฐํ ๋
Cherry-pick, ๊ฒฐ๊ณผ ์ปค๋ฐ์ ์ ์๊ถ์ด ์ด์
์ปค๋ฏธํฐ. ์ด๋ ๊ฒ ํ๋ฉด ์์ฑ์ ํ์์คํฌํ๋ ๊ฐฑ์ ๋ฉ๋๋ค.
--์งง์
๋๋ผ์ด๋ฐ์ ํ ๋๋ ์ถ๋ ฅ๋ฌผ์ ์งง์ ํ์์ผ๋ก ์ ๊ณตํ์ญ์์ค. ๋ณด๋ค ์์ ์ํ(1)
์ธ๋ถ. --dry-run์ ์๋ฏธํฉ๋๋ค.
--๋๋ญ ๊ฐ์ง
์งง์ ํ์์ผ๋ก๋ ์ง์ ๋ฐ ์ถ์ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค.
--๋์๊ธฐ
๋๋ผ์ด ๋ฐ์ ํ ๋ ์ถ๋ ฅ๋ฌผ์ ๋์๊ธฐ ์ค๋น ํ์์ผ๋ก ์ ๊ณตํ์ญ์์ค. ๋ณด๋ค ์์ ์ํ(1)
์์ธํ ๋ด์ฉ์. --dry-run์ ์๋ฏธํฉ๋๋ค.
--๊ธด
๋๋ผ์ด ๋ฐ์ ํ ๋ ์ถ๋ ฅ์ ๊ธด ํ์์ผ๋ก ์ ๊ณตํ์ญ์์ค. --dry-run์ ์๋ฏธํฉ๋๋ค.
-z, --๋
์งง์ ๋๋ ๋์๊ธฐ ์ํ ์ถ๋ ฅ์ ํ์ํ ๋ ์ํ ์ถ๋ ฅ์์ โโํญ๋ชฉ์ ์ข ๋ฃํฉ๋๋ค.
LF ๋์ NUL๋ก. ํ์์ด ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ --porcelain ์ถ๋ ฅ ํ์์ ์๋ฏธํฉ๋๋ค.
-NS , --ํ์ผ=
์ฃผ์ด์ง ํ์ผ์์ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ์ฌ์ฉํ๋ค - ์ ๋ฉ์์ง๋ฅผ ์ฝ์ผ๋ ค๋ฉด
ํ์ค ์ ๋ ฅ.
--์ ์=
์ปค๋ฐ ์์ฑ์๋ฅผ ์ฌ์ ์ํฉ๋๋ค. ํ์ค AU Thor๋ฅผ ์ฌ์ฉํ์ฌ ๋ช ์์ ์์ฑ์ ์ง์
<[์ด๋ฉ์ผ ๋ณดํธ]> ํ์. ๊ทธ๋ ์ง ์์ผ๋ฉด ํจํด์ผ๋ก ๊ฐ์ฃผ๋์ด ์ฌ์ฉ๋ฉ๋๋ค.
ํด๋น ์์ฑ์์ ๊ธฐ์กด ์ปค๋ฐ ๊ฒ์(์: rev-list --all -i
--์ ์= ); ๊ทธ๋ฐ ๋ค์ ์ปค๋ฐ ์์ฑ์๋ ๋ฐ๊ฒฌ๋ ์ฒซ ๋ฒ์งธ ์ปค๋ฐ์์ ๋ณต์ฌ๋ฉ๋๋ค.
--๋ ์ง=
์ปค๋ฐ์ ์ฌ์ฉ๋ ์์ฑ์ ๋ ์ง๋ฅผ ์ฌ์ ์ํฉ๋๋ค.
-๋ฏธ๋์ , --๋ฉ์์ง=
์ฃผ์ด์ง ๊ฒ์ ์ฌ์ฉ ์ปค๋ฐ ๋ฉ์์ง๋ก. ์ฌ๋ฌ -m ์ต์ ์ด ์ฃผ์ด์ง๋ฉด,
๊ฐ์ ๋ณ๋์ ๋จ๋ฝ์ผ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
-NS , --ํ ํ๋ฆฟ=
์ปค๋ฐ ๋ฉ์์ง๋ฅผ ํธ์งํ ๋ ์ง์ ๋ ํ์ผ์ ๋ด์ฉ์ผ๋ก ํธ์ง๊ธฐ๋ฅผ ์์ํฉ๋๋ค.
commit.template ๊ตฌ์ฑ ๋ณ์๋ ์ข ์ข ์ด ์ต์ ์ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์์์ ์ผ๋ก ๋ช ๋ น์. ์ด ๋ฉ์ปค๋์ฆ์ ๊ฐ์ด๋๋ฅผ ์ํ๋ ํ๋ก์ ํธ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด๋ค ์์๋ก ๋ฉ์์ง์ ๋ฌด์์ ์ธ์ง์ ๋ํ ๋ช ๊ฐ์ง ํํธ์ ํจ๊ป ์ฐธ๊ฐ์. ๋ง์ฝ
์ฌ์ฉ์๊ฐ ๋ฉ์์ง๋ฅผ ํธ์งํ์ง ์๊ณ ํธ์ง๊ธฐ๋ฅผ ์ข ๋ฃํ๋ฉด ์ปค๋ฐ์ด ์ค๋จ๋ฉ๋๋ค. ์ด๊ฒ์ ์๋ค
๋ฉ์์ง๊ฐ ๋ค๋ฅธ ์๋จ(์: -m ๋๋ -F ์ต์ )์ผ๋ก ์ ๊ณต๋ ๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
-s, --์ฌ์ธ์คํ
์ปค๋ฐ ๋ก๊ทธ ๋ฉ์์ง ๋์ ์ปค๋ฏธํฐ๊ฐ ์๋ช ํ ์ค์ ์ถ๊ฐํฉ๋๋ค. NS
์ฌ์ธ์คํ์ ์๋ฏธ๋ ํ๋ก์ ํธ์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ํด๋น ์ปค๋ฏธํฐ๋ฅผ ์ธ์ฆํฉ๋๋ค.
๋์ผํ ๋ผ์ด์ ์ค๋ก ์ด ์ ์๋ฌผ์ ์ ์ถํ ๊ถ๋ฆฌ๊ฐ ์์ผ๋ฉฐ ๊ฐ๋ฐ์์๊ฒ ๋์ํฉ๋๋ค.
์์ฐ์ง ์ฆ๋ช ์(์ฐธ์กฐ http://developercertificate.org/ ) ์์ธํ ๋ด์ฉ์๋ฅผ์ํ.
-n, --ํ์ธํ์ง ์์
์ด ์ต์ ์ ์ฌ์ ์ปค๋ฐ ๋ฐ ์ปค๋ฐ ๋ฉ์์ง ํํฌ๋ฅผ ์ฐํํฉ๋๋ค. ๋ํ๋ณด์ญ์์ค gitooks(5).
--ํ์ฉ-๋น์ด ์์
์ผ๋ฐ์ ์ผ๋ก ๋จ๋ ๋ถ๋ชจ ์ปค๋ฐ๊ณผ ๋๊ฐ์ ํธ๋ฆฌ๋ฅผ ๊ฐ์ง ์ปค๋ฐ์ ๊ธฐ๋กํ๋ ๊ฒ์
์ค์ํ๊ณ ๋ช ๋ น์ ์ฌ์ฉํ๋ฉด ๊ทธ๋ฌํ ์ปค๋ฐ์ ์ํํ ์ ์์ต๋๋ค. ์ด ์ต์ ์
์์ ํ๋ฉฐ ์ฃผ๋ก ์ธ๊ตญ SCM ์ธํฐํ์ด์ค ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํฉ๋๋ค.
--ํ์ฉ-๋น ๋ฉ์์ง
--allow-empty์ ๊ฐ์ด ์ด ๋ช ๋ น์ ์ฃผ๋ก ์ธ๋ถ SCM ์ธํฐํ์ด์ค ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํฉ๋๋ค.
๋ฐฐ๊ด์ ์ฌ์ฉํ์ง ์๊ณ ๋น ์ปค๋ฐ ๋ฉ์์ง๋ก ์ปค๋ฐ์ ๋ง๋ค ์ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๋ช ๋ น ์์ ์ปค๋ฐ ํธ๋ฆฌ(1).
--์ ๋ฆฌ=
์ด ์ต์ ์ ์ ๊ณต๋ ์ปค๋ฐ ๋ฉ์์ง๊ฐ ์ด์ ์ ์ ๋ฆฌ๋๋ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํฉ๋๋ค.
์ปค๋ฐ. NS ์คํธ๋ฆฝ, ๊ณต๋ฐฑ, ๊ทธ๋๋ก, ๊ฐ์ ๋๋ ๊ธฐ๋ณธ๊ฐ์ด ๋ ์ ์์ต๋๋ค.
์กฐ๊ฐ
์ ํ ๋ฐ ํํ ๋น ์ค, ํํ ๊ณต๋ฐฑ, ์ฃผ์ ๋ฐ
์ฐ์์ ์ธ ๋น ์ค์ ์ ์ต๋๋ค.
๊ณต๋ฐฑ
#commentary๊ฐ ์ ๊ฑฐ๋์ง ์๋๋ค๋ ์ ์ ์ ์ธํ๊ณ ์คํธ๋ฆฝ๊ณผ ๋์ผํฉ๋๋ค.
์ถ ์ด์ ์ผ๋ก
๋ฉ์์ง๋ฅผ ์ ํ ๋ณ๊ฒฝํ์ง ๋ง์ญ์์ค.
๊ฐ์
"#" ์ค์ ๋ชจ๋ ํญ๋ชฉ(๋ฐ ํฌํจ)์ ์ ์ธํ๊ณ ๊ณต๋ฐฑ๊ณผ ๋์ผํฉ๋๋ค.
------------------------ >8 ------------------------ "๋ ๋ฉ์์ง๊ฐ ์๋ฆฝ๋๋ค.
์์ ๋ฉ๋๋ค. "#"์ core.commentChar๋ก ์ฌ์ฉ์ ์ ์ํ ์ ์์ต๋๋ค.
๋ํดํธ ๊ฐ
๋ฉ์์ง๊ฐ ํธ์ง๋๋ ๊ฒฝ์ฐ ์คํธ๋ฆฝ๊ณผ ๋์ผํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ณต๋ฐฑ.
๊ธฐ๋ณธ๊ฐ์ ๋ค์์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ปค๋ฐ.์ ๋ฆฌ ๊ตฌ์ฑ ๋ณ์(์ฐธ์กฐ ์์-
์ค์ (์ผ)).
-e, --edit
-F๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์์, -m์ ์ฌ์ฉํ์ฌ ๋ช ๋ น์ค์์, ๊ทธ๋ฆฌ๊ณ ๋ค์์ ์ฌ์ฉํ์ฌ ์ปค๋ฐ ๊ฐ์ฒด์์ ๊ฐ์ ธ์จ ๋ฉ์์ง
-C๋ ์ผ๋ฐ์ ์ผ๋ก ์์ ๋์ง ์์ ์ปค๋ฐ ๋ก๊ทธ ๋ฉ์์ง๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด
์ด ์์ค์์ ๊ฐ์ ธ์จ ๋ฉ์์ง๋ฅผ ํธ์งํ์ญ์์ค.
--์์ ๋ถ๊ฐ
ํธ์ง๊ธฐ๋ฅผ ์คํํ์ง ์๊ณ ์ ํํ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด git commit
--amend --no-edit ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ์ปค๋ฐ์ ์์ ํฉ๋๋ค.
--๊ณ ์น๋ค
์ ์ปค๋ฐ์ ๋ง๋ค์ด ํ์ฌ ๋ถ๊ธฐ์ ๋์ ๋ฐ๊ฟ๋๋ค. ๊ธฐ๋ก๋ ๋๋ฌด๋
ํ์์ ๊ฐ์ด ์ค๋น(-i ๋ฐ -o ์ต์ ๋ฐ ๋ช ์์
pathspec), ์๋ณธ ์ปค๋ฐ์ ๋ฉ์์ง๊ฐ ์์์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๋ช ๋ น์ค์์ ๋ค๋ฅธ ๋ฉ์์ง๊ฐ ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ๋น ๋ฉ์์ง ๋์
-m, -F, -c ๋ฑ๊ณผ ๊ฐ์ ์ต์ ์ ํตํด. ์ ์ปค๋ฐ์๋ ๋์ผํ ๋ถ๋ชจ์ ์์ฑ์๊ฐ ์์ต๋๋ค.
ํ์ฌ ๊ฒ(--reset-author ์ต์ ์ด ์ด์ ๋์ํ ์ ์์).
๋๋ต์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$ ์์ ์ฌ์ค์ --์ํํธ HEAD^
$ ... ์ฌ๋ฐ๋ฅธ ๋๋ฌด๋ฅผ ์ฐพ๊ธฐ ์ํด ๋ค๋ฅธ ์ผ์ ํ์ญ์์ค ...
$ ์์ ์ปค๋ฐ -c ORIG_HEAD
๊ทธ๋ฌ๋ ๋ณํฉ ์ปค๋ฐ์ ์์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ปค๋ฐ์ ์์ ํ๋ ๊ฒฝ์ฐ ๊ธฐ๋ก ๋ค์ ์์ฑ์ ์๋ฏธ๋ฅผ ์ดํดํด์ผ ํฉ๋๋ค.
์ด๋ฏธ ๊ฒ์๋์์ต๋๋ค. ("UPSTREAM REBASE์์ ๋ณต๊ตฌ" ์น์ ์ฐธ์กฐ ์์-
๋ฆฌ๋ฒ ์ด์ค(1).)
--์ฌํ ์ฌ์์ฑ ์์
์ฌ์์ฑ ํ ํํฌ๋ฅผ ์ฐํํฉ๋๋ค.
-i, --ํฌํจ
์ง๊ธ๊น์ง ์ค๋น๋ ๋ด์ฉ์ ์ปค๋ฐํ๊ธฐ ์ ์ ๊ฒฝ๋ก์ ๋ด์ฉ์ ์ค๋นํ์ญ์์ค.
๋ช ๋ น์ค์์๋ ์ ๊ณต๋ฉ๋๋ค. ์ด๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ๋น์ ์ด ์ํ์ง ์๋ ํ ๋น์ ์ด ์ํ๋ ๊ฒ์ด ์๋๋๋ค.
์ถฉ๋ ๋ณํฉ์ ์ข ๋ฃํฉ๋๋ค.
-์ค, --๋ง
์ง์ ๋ ๊ฒฝ๋ก์ ์ ๋ฐ์ดํธ๋ ์์ ํธ๋ฆฌ ๋ด์ฉ์ ๊ฐ์ ธ์ ์ปค๋ฐํฉ๋๋ค.
๋ช ๋ น์ค์์ ๋ค๋ฅธ ๊ฒฝ๋ก์ ๋ํด ์ค๋น๋ ๋ด์ฉ์ ๋ฌด์ํฉ๋๋ค.
์ ๊ธฐ๋ณธ ์๋ ๋ชจ๋์ ๋๋ค. ์์ ๋ฒํ๋ค ๊ฒฝ๋ก๊ฐ ์ฃผ์ด์ง ๊ฒฝ์ฐ
๋ช ๋ น์ค์์ ์ด ์ต์ ์ ์๋ตํ ์ ์์ต๋๋ค. ์ด ์ต์ ์ด ์ง์ ๋๋ฉด
์ ํจ๊ป --๊ณ ์น๋ค, ์์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ ํ์๊ฐ ์์ต๋๋ค.
์ด๋ฏธ ์ค๋น๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ์ง ์๊ณ ๋ง์ง๋ง ์ปค๋ฐํฉ๋๋ค.
-์ [ ], --์ถ์ ๋์ง ์์ ํ์ผ[= ]
์ถ์ ๋์ง ์์ ํ์ผ์ ํ์ํฉ๋๋ค.
๋ชจ๋ ๋งค๊ฐ๋ณ์๋ ์ ํ ์ฌํญ์ ๋๋ค(๊ธฐ๋ณธ๊ฐ์ ๋ชจ๋ ), ์ฒ๋ฆฌ๋ฅผ ์ง์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ถ์ ๋์ง ์์ ํ์ผ; -u๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ ํ์ค, ์ฆ ์ถ์ ๋์ง ์์ ํ์
ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ.
๊ฐ๋ฅํ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ยท ์๋ - ์ถ์ ๋์ง ์์ ํ์ผ์ ํ์ํ์ง ์์
ยท ํ์ค - ์ถ์ ๋์ง ์์ ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ํ์
ยท ๋ชจ๋ - ๋ํ ์ถ์ ๋์ง ์์ ๋๋ ํ ๋ฆฌ์ ๊ฐ๋ณ ํ์ผ์ ํ์ํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ์ status.showUntrackedFiles ๊ตฌ์ฑ์ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ ๋ฌธ์ํ๋ ๋ณ์ ์์ ๊ตฌ์ฑ(1).
-v, --์์ธํ
HEAD ์ปค๋ฐ๊ณผ ๋งจ ์๋์ ์ปค๋ฐ๋ ๋ด์ฉ ๊ฐ์ ํตํฉ๋ ์ฐจ์ด์ ํ์
์ฌ์ฉ์๊ฐ ์ปค๋ฐ์ ์ค๋ช ํ๋ ๋ฐ ๋์์ด ๋๋ ์ปค๋ฐ ๋ฉ์์ง ํ ํ๋ฆฟ
์ปค๋ฐ์ ๋ณ๊ฒฝ ์ฌํญ. ์ด diff ์ถ๋ ฅ์๋ ์ ๋์ด๊ฐ ๋ถ์ง ์์ต๋๋ค.
๊ณผ #. ์ด diff๋ ์ปค๋ฐ ๋ฉ์์ง์ ์ผ๋ถ๊ฐ ์๋๋๋ค.
๋ ๋ฒ ์ง์ ๋๋ฉด ์ปค๋ฐ๋ ํญ๋ชฉ ๊ฐ์ ํตํฉ๋ diff๋ฅผ ์ถ๊ฐ๋ก ํ์ํฉ๋๋ค.
๋ฐ ์์ ํธ๋ฆฌ ํ์ผ, ์ฆ ์ถ์ ๋ ํ์ผ์ ๋ํ ๋จ๊ณ์ ๋ณ๊ฒฝ์ด ์์ต๋๋ค.
-q, --์กฐ์ฉํ
์ปค๋ฐ ์์ฝ ๋ฉ์์ง๋ฅผ ํ์ํ์ง ์์ต๋๋ค.
-๊ฑด์กฐ
์ปค๋ฐ์ ๋ง๋ค์ง ๋ง๊ณ ์ปค๋ฐํ ๊ฒฝ๋ก ๋ชฉ๋ก์ ํ์ํฉ๋๋ค.
์ปค๋ฐ๋์ง ์์ ๋ก์ปฌ ๋ณ๊ฒฝ ์ฌํญ๊ณผ ์ถ์ ๋์ง ์์ ๊ฒฝ๋ก.
--์ํ
์ ์ถ๋ ฅ์ ํฌํจ ์์ ์ํ(1) ์ปค๋ฐ ๋ฉ์์ง ํ ํ๋ฆฟ์์ ์ฌ์ฉํ ๋
์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ค๋นํ๋ ํธ์ง๊ธฐ. ๊ธฐ๋ณธ๊ฐ์ on์ด์ง๋ง ์ฌ์ ์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ตฌ์ฑ ๋ณ์ commit.status.
--์ํ ์์
์ ์ถ๋ ฅ์ ํฌํจํ์ง ๋ง์ญ์์ค. ์์ ์ํ(1) ์ปค๋ฐ ๋ฉ์์ง ํ ํ๋ฆฟ์์ ์ฌ์ฉํ ๋
๊ธฐ๋ณธ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ค๋นํ๋ ํธ์ง๊ธฐ.
-NS[ ], --gpg ๊ธฐํธ[= ]
GPG ์๋ช ์ปค๋ฐ. keyid ์ธ์๋ ์ ํ ์ฌํญ์ด๋ฉฐ ๊ธฐ๋ณธ๊ฐ์ ์ปค๋ฏธํฐ์ ๋๋ค.
์ ์; ์ง์ ๋ ๊ฒฝ์ฐ ๊ณต๋ฐฑ ์์ด ์ต์ ์ ๊ณ ์ ๋์ด์ผ ํฉ๋๋ค.
--gpg-sign ์์
๊ฐ๊ฐ ๊ฐ์ ๋ก ์ค์ ๋๋ Countermand commit.gpgSign ๊ตฌ์ฑ ๋ณ์
์๋ช ํ ๊ฒ์ ์ฝ์ํฉ๋๋ค.
--
๋ ์ด์ ์ธ์๋ฅผ ์ต์ ์ผ๋ก ํด์ํ์ง ๋ง์ญ์์ค.
...
ํ์ผ์ด ๋ช ๋ น์ค์ ์ฃผ์ด์ก์ ๋, ๊ทธ ๋ช ๋ น์
์ด๋ฏธ ์ค๋น๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ธฐ๋กํ์ง ์๊ณ ๋ช ๋ช ๋ ํ์ผ. ์ด ํ์ผ์ ๋ด์ฉ
๋ํ ์ด์ ์ ์คํ ์ด์ง๋ ๊ฒ ์์ ๋ค์ ์ปค๋ฐ์ ์ํด ์คํ ์ด์ง๋ฉ๋๋ค.
๋ ์ง ํ์
GIT_AUTHOR_DATE, GIT_COMMITTER_DATE ํ๊ฒฝ ๋ณ์ ๋ฐ --date ์ต์
๋ค์ ๋ ์ง ํ์์ ์ง์ํฉ๋๋ค.
Git ๋ด๋ถ ํ์
๊ทธ๊ฒ์์ด๋ค , ์ด๋ ์ ์์ ๋๋ค
UNIX ์ํฌํฌ ์ดํ ์ด. ์์ ๋๋ ์์ ์คํ์ ์ ๋๋ค.
UTC์์. ์๋ฅผ ๋ค์ด CET(UTC๋ณด๋ค 2์๊ฐ ๋น ๋ฆ)๋ +0200์ ๋๋ค.
RFC 2822
RFC 2822์ ์ค๋ช ๋ ํ์ค ์ด๋ฉ์ผ ํ์(์: 07๋ 2005์ XNUMX์ผ ๋ชฉ์์ผ)
22:13:13 +0200.
ISO 8601
ISO 8601 ํ์ค์์ ์ง์ ํ ์๊ฐ ๋ฐ ๋ ์ง์ ๋๋ค(์: 2005-04-07T22:13:13). NS
ํ์๋ T ๋ฌธ์ ๋์ ๊ณต๋ฐฑ๋ ํ์ฉํฉ๋๋ค.
์ฃผ์ ์ฌํญ
๋ํ ๋ ์ง ๋ถ๋ถ์ YYYY.MM.DD ํ์์ผ๋ก ํ์ฉ๋ฉ๋๋ค.
MM/DD/YYYY ๋ฐ DD.MM.YYYY.
์ฌ์ฉ ์
์์ ์ ์์ ์ ๋ น์ํ ๋ ์์ ํธ๋ฆฌ์์ ์์ ๋ ํ์ผ์ ๋ด์ฉ์
"์ธ๋ฑ์ค"๋ผ๊ณ ํ๋ ์คํ ์ด์ง ์์ญ์ ์์๋ก ์ ์ฅ๋ฉ๋๋ค. ์์ ๋ํ๋ค. ํ์ผ ์
์์ ํธ๋ฆฌ๊ฐ ์๋ ์ธ๋ฑ์ค์์๋ง ๋ง์ง๋ง ์ปค๋ฐ์ผ๋ก ๋๋๋ฆฝ๋๋ค.
git reset HEAD ์ฌ์ฉ -- , ํจ๊ณผ์ ์ผ๋ก ๋๋๋ฆฌ๋ ์์ ๋ํ๋ค ๋ณ๊ฒฝ์ ๋ฐฉ์งํฉ๋๋ค.
๋ค์ ์ปค๋ฐ์ ์ฐธ์ฌํ์ง ๋ชปํ๋๋ก ์ด ํ์ผ๋ก ์ด๋ํฉ๋๋ค. ์ํ๋ฅผ ๊ตฌ์ถํ ํ
์ด ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์ฆ๋ถ ์ปค๋ฐ, git commit(๊ฒฝ๋ก ์ด๋ฆ ๋งค๊ฐ๋ณ์ ์์ด)
์ง๊ธ๊น์ง ์งํ๋ ๋ด์ฉ์ ๊ธฐ๋กํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๊ฒ์ ๋ช ๋ น์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ์ ๋๋ค.
์ :
$ ํธ์ง hello.c
$ git rm ์๋ณ ์ธ์ฌ.c
$ ์์ ์ถ๊ฐ hello.c
$ ์์ ์ปค๋ฐ
๊ฐ ๊ฐ๋ณ ๋ณ๊ฒฝ ํ ํ์ผ์ ์ค๋นํ๋ ๋์ git commit์ ์๋ฆด ์ ์์ต๋๋ค.
์์ ํธ๋ฆฌ์์ ๋ด์ฉ์ด ์ถ์ ๋๊ณ ์ํ๋๋ ํ์ผ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ
ํด๋นํ๋ git add ๋ฐ git rm. ์ฆ, ์ด ์์ ๋ ๋ค์๊ณผ ๋์ผํฉ๋๋ค.
์์ ํธ๋ฆฌ์ ๋ค๋ฅธ ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ ๊ฒฝ์ฐ ์ด์ ์:
$ ํธ์ง hello.c
$ rm ์๋ .c
$ ์์ ์ปค๋ฐ -a
git commit -a ๋ช ๋ น์ ๋จผ์ ์์ ํธ๋ฆฌ๋ฅผ ๋ณด๊ณ ์์ ํ์์ ํ์ธํฉ๋๋ค.
hello.c๋ฅผ ์ ๊ฑฐํ๊ณ ์๋ณ ์ธ์ฌ.c๋ฅผ ์ ๊ฑฐํ๊ณ ํ์ํ git add ๋ฐ git rm์ ์ํํฉ๋๋ค.
๋ง์ ํ์ผ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ์ค๋นํ ํ ๋ณ๊ฒฝ ์ฌํญ์ด ๊ธฐ๋ก๋๋ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
git commit์ ๊ฒฝ๋ก ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. ๊ฒฝ๋ก ์ด๋ฆ์ด ์ง์ ๋๋ฉด ๋ช ๋ น์ด ์ปค๋ฐํฉ๋๋ค.
๋ช ๋ช ๋ ๊ฒฝ๋ก์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ๋ง ๊ธฐ๋กํฉ๋๋ค.
$ ํธ์ง hello.c hello.h
$ git add hello.c hello.h
$ ๋ฉ์ดํฌํ์ผ ์์
$ git commit ๋ฉ์ดํฌํ์ผ
์ด๊ฒ์ Makefile์ ๋ํ ์์ ์ฌํญ์ ๊ธฐ๋กํ๋ ์ปค๋ฐ์ ๋ง๋ญ๋๋ค. ๋ค์์ ์ํด ์ค๋น๋ ๋ณ๊ฒฝ ์ฌํญ
hello.c ๋ฐ hello.h๋ ๊ฒฐ๊ณผ ์ปค๋ฐ์ ํฌํจ๋์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ค์ ๋ณํ๋
์์ค๋์ง ์์ - ๊ทธ๋ค์ ์ฌ์ ํ โโ์ค๋น๋๊ณ ๋จ์ง ๋ณด๋ฅ๋ฉ๋๋ค. ์์ ์์๊ฐ ๋๋๋ฉด
ํด์ผ ํ ๊ฒ:
$ ์์ ์ปค๋ฐ
์ด ๋ ๋ฒ์งธ ์ปค๋ฐ์ ์์๋๋ก hello.c ๋ฐ hello.h์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ๊ธฐ๋กํฉ๋๋ค.
๋ณํฉ ํ(์ ์ํด ์์๋จ ์์ ๋ณํฉ or ์์ ๋น๊ฒจ) ์ถฉ๋๋ก ์ธํด ์ค์ง, ๊น๋ํ๊ฒ
๋ณํฉ๋ ๊ฒฝ๋ก๋ ์ด๋ฏธ ์ปค๋ฐ๋๋๋ก ์ค๋น๋์ด ์์ผ๋ฉฐ ์ถฉ๋ํ๋ ๊ฒฝ๋ก๋
๋ณํฉ๋์ง ์์ ์ํ๋ก ๋จ์ ์์ต๋๋ค. ์ด๋ค ๊ฒฝ๋ก๊ฐ ์ถฉ๋ํ๋์ง ๋จผ์ ํ์ธํด์ผ ํฉ๋๋ค. ์์
์ง์ ์์ ํธ๋ฆฌ์์ ์๋์ผ๋ก ์์ ํ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ค๋นํฉ๋๋ค.
ํ์์ ์์ ๋ํ๋ค:
$ ์์ ์ํ | ๋ณํฉ๋์ง ์์ grep
๋ณํฉ๋์ง ์์: hello.c
$ ํธ์ง hello.c
$ ์์ ์ถ๊ฐ hello.c
์ถฉ๋์ ํด๊ฒฐํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ค๋นํ ํ git ls-files -u ์ธ๊ธ์ ์ค์งํฉ๋๋ค.
๊ฐ๋ฑ์ ๊ธธ. ์๋ฃ๋๋ฉด git commit์ ์คํํ์ฌ ๋ง์ง๋ง์ผ๋ก ๋ณํฉ์ ๊ธฐ๋กํฉ๋๋ค.
$ ์์ ์ปค๋ฐ
์์ ์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ธฐ๋กํ๋ ๊ฒฝ์ฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก -a ์ต์ ์ ์ฌ์ฉํ์ฌ ์ ๋ ฅ์ ์ ์ฅํ ์ ์์ต๋๋ค. ํ๋
์ฐจ์ด์ ์ ๋ณํฉ ํด๊ฒฐ ์ค์ ๊ฒฝ๋ก ์ด๋ฆ๊ณผ ํจ๊ป git commit์ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
๋ณํฉ์ด ๋ค์์ผ๋ก ๊ธฐ๋ก๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ปค๋ฐ๋ ์์๋ฅผ ๋ณ๊ฒฝ
๋จ์ผ ์ปค๋ฐ. ์ฌ์ค, ๋ช ๋ น์ ๊ฒฝ๋ก ์ด๋ฆ์ด ์ฃผ์ด์ก์ ๋ ์คํ์ ๊ฑฐ๋ถํฉ๋๋ค(๊ทธ๋ฌ๋ -i
์ ํ๊ถ).
ํ ๋ก
ํ์๋ ์๋์ง๋ง ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์งง์ ๋ฉ์์ง ํ๋๋ก ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
(50์ ๋ฏธ๋ง) ๋ณ๊ฒฝ ์ฌํญ์ ์์ฝํ๋ ์ค, ๋น ์ค, ๊ทธ ๋ค์
๋ ์์ธํ ์ค๋ช . ์ปค๋ฐ ๋ฉ์์ง์ ์ฒซ ๋ฒ์งธ ๋น ์ค๊น์ง์ ํ ์คํธ๋
์ปค๋ฐ ์ ๋ชฉ์ผ๋ก ์ทจ๊ธ๋๋ฉฐ ํด๋น ์ ๋ชฉ์ Git ์ ์ฒด์์ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์์-
ํ์ ํจ์น(1) ์ปค๋ฐ์ ์ด๋ฉ์ผ๋ก ๋ณํํ๊ณ ์ ๋ชฉ ์ค์ ์ ๋ชฉ์ ์ฌ์ฉํ๊ณ
๋๋จธ์ง ์ปค๋ฐ์ ๋ณธ๋ฌธ์ ์์ต๋๋ค.
Git์ ์ด๋ ์ ๋ ๋ฌธ์ ์ธ์ฝ๋ฉ ๋ถ๊ฐ์ง๋ก ์ ๋๋ค.
ยท Blob ๊ฐ์ฒด์ ๋ด์ฉ์ ํด์๋์ง ์์ ๋ฐ์ดํธ ์ํ์ค์ ๋๋ค. ์๋ค
ํต์ฌ ์์ค์์ ๋ฒ์ญ์ ์ธ์ฝ๋ฉํฉ๋๋ค.
ยท ๊ฒฝ๋ก ์ด๋ฆ์ UTF-8 ์ ๊ทํ ํ์ C๋ก ์ธ์ฝ๋ฉ๋ฉ๋๋ค. ์ด๋ ํธ๋ฆฌ ๊ฐ์ฒด์ ์ ์ฉ๋๋ฉฐ,
์ธ๋ฑ์ค ํ์ผ, ์ฐธ์กฐ ์ด๋ฆ ๋ฐ ๋ช ๋ น์ค ์ธ์์ ๊ฒฝ๋ก ์ด๋ฆ,
ํ๊ฒฝ ๋ณ์ ๋ฐ ๊ตฌ์ฑ ํ์ผ(.git/config( ์์ ๊ตฌ์ฑ(์ผ)), Gitignore(5)
Gitattributes(5)๊ณผํ๋ฉด ์์ ๋ชจ๋(์ผ)).
ํต์ฌ ์์ค์ Git์ ๊ฒฝ๋ก ์ด๋ฆ์ ๋จ์ํ NUL์ด ์๋ ์ํ์ค๋ก ์ทจ๊ธํฉ๋๋ค.
๋ฐ์ดํธ์ด์๋ ๊ฒฝ๋ก ์ด๋ฆ ์ธ์ฝ๋ฉ ๋ณํ์ด ์์ต๋๋ค(Mac ๋ฐ Windows ์ ์ธ).
๋ฐ๋ผ์ ASCII๊ฐ ์๋ ๊ฒฝ๋ก ์ด๋ฆ์ ์ฌ์ฉํ๋ฉด ๋๋ถ๋ถ ํ๋ซํผ ๋ฐ ํ์ผ์์๋ ์๋ํฉ๋๋ค.
๋ ๊ฑฐ์ ํ์ฅ ASCII ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ๋ ์์คํ . ๊ทธ๋ฌ๋ ์ ์์ฑ๋ ๋ฆฌํฌ์งํ ๋ฆฌ
์ด๋ฌํ ์์คํ ์ UTF-8 ๊ธฐ๋ฐ ์์คํ (์: Linux, Mac, Windows)์์ ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค.
๊ทธ ๋ฐ๋. ๋ํ ๋ง์ Git ๊ธฐ๋ฐ ๋๊ตฌ๋ ๋จ์ํ ๊ฒฝ๋ก ์ด๋ฆ์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ ํฉ๋๋ค.
UTF-8์ด๋ฉฐ ๋ค๋ฅธ ์ธ์ฝ๋ฉ์ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ํ์ง ๋ชปํฉ๋๋ค.
ยท ์ปค๋ฐ ๋ก๊ทธ ๋ฉ์์ง๋ ์ผ๋ฐ์ ์ผ๋ก UTF-8๋ก ์ธ์ฝ๋ฉ๋์ง๋ง ๋ค๋ฅธ ํ์ฅ๋ ASCII ์ธ์ฝ๋ฉ
๋ ์ง์๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ ISO-8859-x, CP125x ๋ฐ ๊ธฐํ ์ฌ๋ฌ ํญ๋ชฉ์ด ํฌํจ๋์ง๋ง ์ง์
UTF-16/32, EBCDIC ๋ฐ CJK ๋ฉํฐ๋ฐ์ดํธ ์ธ์ฝ๋ฉ(GBK, Shift-JIS, Big5, EUC-x, CP9xx
๋ฑ).
์ปค๋ฐ ๋ก๊ทธ ๋ฉ์์ง๊ฐ UTF-8๋ก ์ธ์ฝ๋ฉ๋๋ ๊ฒ์ ๊ถ์ฅํ์ง๋ง ์ฝ์ด์
Git Porcelain์ ํ๋ก์ ํธ์์ UTF-8์ ๊ฐ์ ์คํํ์ง ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ง์ฝ ๋ชจ๋ ์ฐธ๊ฐ์๊ฐ
ํน์ ํ๋ก์ ํธ๋ ๋ ๊ฑฐ์ ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ํธ๋ฆฌํ๋ค๊ณ ์๊ฐํ์ง๋ง Git์ ๊ธ์งํ์ง ์์ต๋๋ค.
๊ทธ๊ฒ. ๊ทธ๋ฌ๋ ๋ช ์ฌํด์ผ ํ ๋ช ๊ฐ์ง ์ฌํญ์ด ์์ต๋๋ค.
1. ์์ ๋ฒํ๋ค ๊ณผ ์์ ์ปค๋ฐ ํธ๋ฆฌ ์ปค๋ฐ ๋ก๊ทธ ๋ฉ์์ง๊ฐ ์ฃผ์ด์ง๋ฉด ๊ฒฝ๊ณ ๋ฅผ ๋ฐํํฉ๋๋ค.
ํ๋ก์ ํธ์์ ๋ค์์ ์ฌ์ฉํ๋ค๊ณ ๋ช ์์ ์ผ๋ก ๋งํ์ง ์๋ ํ ์ ํจํ UTF-8 ๋ฌธ์์ด์ฒ๋ผ ๋ณด์ด์ง ์์ต๋๋ค.
๋ ๊ฑฐ์ ์ธ์ฝ๋ฉ. ์ด๊ฒ์ ๋งํ๋ ๋ฐฉ๋ฒ์ .git/config์ i18n.commitencoding์ด ์๋ ๊ฒ์ ๋๋ค.
๋ค์๊ณผ ๊ฐ์ ํ์ผ:
[i18n]
์ปค๋ฐ ์ธ์ฝ๋ฉ = ISO-8859-1
์์ ์ค์ ์ผ๋ก ์์ฑ๋ ์ปค๋ฐ ๊ฐ์ฒด๋ i18n.commitencoding์ ๊ฐ์ ๊ธฐ๋กํฉ๋๋ค.
์ธ์ฝ๋ฉ ํค๋์์. ์ด๊ฒ์ ๋์ค์ ๊ทธ๋ค์ ๋ณด๋ ๋ค๋ฅธ ์ฌ๋๋ค์ ๋๊ธฐ ์ํ ๊ฒ์ ๋๋ค. ๋ถ์กฑ
์ด ํค๋๋ ์ปค๋ฐ ๋ก๊ทธ ๋ฉ์์ง๊ฐ UTF-8๋ก ์ธ์ฝ๋ฉ๋์์์ ์๋ฏธํฉ๋๋ค.
2. ์์ ๊ธฐ๋ก, ์์ ํ์, ์์ ๋น๋ ๊ทธ๋ฆฌ๊ณ ์น๊ตฌ๋ค์ ์ปค๋ฐ์ ์ธ์ฝ๋ฉ ํค๋๋ฅผ ๋ด ๋๋ค.
๊ฐ์ฒด๋ฅผ ์ ๊ฑฐํ๊ณ ๋ฌ๋ฆฌ ์ง์ ๋์ง ์๋ ํ ๋ก๊ทธ ๋ฉ์์ง๋ฅผ UTF-8๋ก ๋ค์ ์ฝ๋ฉํด ๋ณด์ญ์์ค. ๋
.git/config์์ i18n.logoutputencoding์ผ๋ก ์ํ๋ ์ถ๋ ฅ ์ธ์ฝ๋ฉ์ ์ง์ ํ ์ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ ํ์ผ:
[i18n]
logoutputencoding = ISO-8859-1
์ด ๊ตฌ์ฑ ๋ณ์๊ฐ ์์ผ๋ฉด i18n.commitencoding์ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋์ ์ฌ์ฉ๋ฉ๋๋ค.
์ปค๋ฐ์ด ์๋ฃ๋ ๋ ์ปค๋ฐ ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ๋ค์ ์ฝ๋ฉํ์ง ์๋๋ก ์๋์ ์ผ๋ก ์ ํํ์ต๋๋ค.
UTF-8๋ก ๋ค์ ์ฝ๋ฉํ๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ์ปค๋ฐ ๊ฐ์ฒด ์์ค์์ UTF-8์ ๊ฐ์ ์คํํฉ๋๋ค.
๋ฐ๋์ ๋๋๋ฆด ์ ์๋ ์์ .
ํ๊ฒฝ ๋ฐ ๊ตฌ์ฑ ๋ณ์
์ปค๋ฐ ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ํธ์งํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํธ์ง๊ธฐ๋ GIT_EDITOR์์ ์ ํ๋ฉ๋๋ค.
ํ๊ฒฝ ๋ณ์, core.editor ๊ตฌ์ฑ ๋ณ์, VISUAL ํ๊ฒฝ
๋ณ์ ๋๋ EDITOR ํ๊ฒฝ ๋ณ์(์์๋๋ก). ๋ณด๋ค ์์ ๋ณ์(1) ์์ธํ ๋ด์ฉ์.
ํํฌ
์ด ๋ช ๋ น์ commit-msg, prepare-commit-msg, pre-commit ๋ฐ post-commit ํํฌ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
๋ง๋๋ค gitooks(5) ์์ธํ ๋ด์ฉ์.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ git-commit ์จ๋ผ์ธ ์ฌ์ฉ