λΆμ° μμ€ μ μ΄ μμ€ν μΆμ . Gitμ κ°μ₯ μΈκΈ° μκ³ μμ μ μΈ κ³ μ±λ₯ λ²μ μ μ΄ μμ€ν μ€ νλλ‘ λΆκΈ° λ° λ³ν©μ κΈ°λ°μΌλ‘ νλ μ μ°ν λΉμ ν κ°λ° λꡬλ₯Ό μ 곡ν©λλ€. κΈ°λ‘μ 무결μ±κ³Ό μκΈ λ³κ²½μ λν μ νμ 보μ₯νκΈ° μν΄ κ° μ»€λ°μμ μ 체 μ΄μ κΈ°λ‘μ μμμ ν΄μ±μ΄ μ¬μ©λλ©°, κ°λ°μμ λμ§νΈ μλͺ μΌλ‘ κ°λ³ νκ·Έμ 컀λ°μ μΈμ¦νλ κ²λ κ°λ₯ν©λλ€.
μ΄μ λ²μ μ λΉν΄ μ λ²μ μλ 583κ°μ λ³κ²½ μ¬νμ΄ ν¬ν¨λμμΌλ©°, 84λͺ μ κ°λ°μκ° μ°Έμ¬νμ¬ μ€λΉνμΌλ©°, μ΄ μ€ 32λͺ μ΄ μ²μμΌλ‘ κ°λ°μ μ°Έμ¬νμ΅λλ€. :
- λ°μ΄ν°μ μΌλΆλ§ μ μ‘νκ³ μ μ₯μμ λΆμμ ν 볡μ¬λ³ΈμΌλ‘ μμ
ν μ μλ λΆλΆ 볡μ λ μμ νλκ³ μμ ν μ€λΉ λ¨κ³μ μ μ΄λ€κ³ μμ΅λλ€. μΌλ°μ μΈ λ³΅μ λ³Έμ κ°μ λ΄μμ μλ λͺ¨λ νμΌμ λͺ¨λ λ²μ μ ν¬ν¨νμ¬ μ μ₯μμ λͺ¨λ λ°μ΄ν°λ₯Ό 볡μ¬ν©λλ€. λ§€μ° ν° μ μ₯μμ κ²½μ°, κ°λ°μκ° μΌλΆ νμΌμλ§ κ΄μ¬μ΄ μλλΌλ λ°μ΄ν°λ₯Ό 볡μ¬νλ©΄ νΈλν½κ³Ό λμ€ν¬ 곡κ°μ΄ μλΉν μ¦κ°ν©λλ€. μλ μ€μΈ μμ€ νΈλ¦¬μ μΌλΆλ§ μ½κ² μ»μ μ μλλ‘ μ΄λ² 릴리μ€μμλ μ€νμ "sparse-checkout" λͺ
λ Ήκ³Ό "clone" λͺ
λ Ήμ λν μλ‘μ΄ "--sparse" μ΅μ
μ λμ
νμ΅λλ€.
μ΄μ μλ μ νμ 볡μ νλ‘μΈμ€κ° μμ μ ν΅ν΄ μνλμμ΅λλ€. λΆνμν μ½ν μΈ λ₯Ό νν°λ§νκ³ , λλ½λ νμΌ λ³΄μΆ©μ λΉνμ±ννλ "--no-checkout" μ΅μ μ μ¬μ©νμ΅λλ€. κ·Έ ν, 체ν¬μμ μμ μ μννκΈ° μ μ core.sparseCheckout μ€μ μ νμ±ννκ³ .git/info/sparse-checkout νμΌμ μ μΈλ κ²½λ‘ ν¨ν΄ λͺ©λ‘μ μ μν΄μΌ νμ΅λλ€. μλ₯Ό λ€μ΄, λΈλ‘ μμ΄ λ³΅μ νκ³ κΉμ΄κ° 2 μ΄μμΈ μ€μ²© λλ ν°λ¦¬μμ νμΌμ μΆμΆνμ§ λͺ»νλλ‘ νλ €λ©΄ λ€μμ μ€νν μ μμ΅λλ€.
git clone --filter=blob:none --no-checkout /your/repository/here μ μ₯μ
$ CD μ μ₯μ
$ cat >.git/info/sparse-checkout
/*
!/*
EOF
$ git config core.sparseCheckout 1
$ git checkout .μλ‘μ΄ λͺ λ Ήμ΄ "git sparse-checkout"μ μμ μ ν¬κ² λ¨μννκ³ λΆμμ ν μ μ₯μμμ μμ μ ꡬμ±νλ νλ‘μΈμ€λ₯Ό λ€μ λͺ λ Ήμ΄λ‘ μ€μ¬μ€λλ€.
git clone --filter=blob:none --sparse /your/repository/here μ μ₯μ
git sparse-checkout /path/to/check/out μ€μ sparse-checkout λͺ λ Ήμ μ¬μ©νλ©΄ .git/info/sparse-checkoutμ μλμΌλ‘ ꡬμ±νμ§ μκ³ λ 체ν¬μμ κ²½λ‘ λͺ©λ‘μ μ€μ (set)ν μ μκ³ , νμ¬ κ²½λ‘ λͺ©λ‘μ μΈμ(list)νκ³ λΆλΆ 체ν¬μμμ νμ±ν λλ λΉνμ±ν(enable/disable)ν μ μμ΅λλ€.
λ§€μ° ν° μ μ₯μ λ° ν νλ¦Ώ λͺ©λ‘ μμ μ μ΅μ ννλ €λ©΄ ""λ νμ©λλ ν¨ν΄μ μ νν©λλ€(μμμ .gitignore ν¨ν΄ λμ , μ£Όμ΄μ§ νμ λλ ν°λ¦¬μ λͺ¨λ κ²½λ‘μ λͺ¨λ νμΌμ 체ν¬μμν μ§ μ¬λΆλ₯Ό μ§μ ν μ μμ΅λλ€). μλ₯Ό λ€μ΄, λκ·λͺ¨ μ μ₯μμ "A/B/C" λλ ν°λ¦¬κ° μκ³ λͺ¨λ μμ μ΄ νμ λλ ν°λ¦¬ "C"μ μ§μ€λμ΄ μλ κ²½μ°, sparseCheckoutCone λͺ¨λκ° νμ±νλμ΄ μμΌλ©΄ "git sparse-checkout set A/B/C" λͺ λ Ήμ "C"μ μ 체 λ΄μ©μ 체ν¬μμνμ§λ§, "A"μ "B"μμλ "C" μμ μ νμν λΆλΆλ§ 체ν¬μμν©λλ€.
- μ€λͺ μ('git rebase -h')μμ '--preserve-merges' μ΅μ μ λν λͺ¨λ μ°Έμ‘°κ° μ κ±°λμμ΅λλ€. μ΄ μ΅μ μ λ μ΄μ μ¬μ©λμ§ μμΌλ©°, λμ '--preserve-merges'λ₯Ό μ¬μ©νμ¬ μ»€λ° μΈνΈλ₯Ό λ§μ΄κ·Έλ μ΄μ ν΄μΌ ν©λλ€.".
- λ©μΌλ§ 리μ€νΈμ μ μ‘λ ν¨μΉ λ©μμ§μ κ°λ μ±μ κ°μ νκΈ° μν΄ "git format-patch --cover-from-description subject" μ΅μ μ΄ μΆκ°λμμ΅λλ€. μ΄ μ΅μ μ μ§μ νλ©΄ λΈλμΉ μ€λͺ ν μ€νΈμ 첫 λ²μ§Έ λ¬Έλ¨μ΄ ν¨μΉ μΈνΈμ λν νμ§ νΈμ§μ μ λͺ©μΌλ‘ μ¬μ©λ©λλ€.
- "git apply --3way" λͺ λ Ήκ³Ό "merge.conflictStyle" μ€μ μ ν¨κ» μ¬μ©ν μ μλ μ§μμ ꡬννμ΅λλ€("git apply"λ μ΄μ ν¨μΉκ° ν¬ν¨λ νμΌμ μ μ₯μμ μ μ©νλ €κ³ μλν ν μΆ©λμ ν΄κ²°ν΄μΌ ν λ merge.conflictStyleμ μΆ©λ μ€λͺ μ€νμΌμ κ³ λ €ν©λλ€).
- "git diff/grep --show-function/--function-context"μ κ°μ μμ μμ μ¬μ©λλ ν¨μ μ μ μ½λλ λ€μ μΈμ΄λ‘ μμ±λ νλ‘κ·Έλ¨μμ ν¨μ κ²½κ³λ₯Ό μ μνλ κ²μ μ§μνλλ‘ νμ₯λμμ΅λλ€. .
- "git add", "git commit", "git reset" λ° κΈ°ν λͺ λ Ήμ μλ‘μ΄ μ΅μ "--pathspec-from-file"μ΄ μΆκ°λμ΄ λͺ λ Ήμ€μ κ²½λ‘λ₯Ό λμ΄νλ λμ νμΌμ΄λ μ λ ₯ μ€νΈλ¦Όμμ κ²½λ‘ λͺ©λ‘μ λ‘λν μ μμ΅λλ€.
- 컀λ°μ μμ±ν λ λλ ν°λ¦¬ μμ€ μ΄λ¦ λ³κ²½μ κ°μ§νλ λ° λ°μνλ λ¬Έμ κ° ν΄κ²°λμμ΅λλ€. νμ λλ ν 리μ λ΄μ©μ΄ μ μ₯μμ 루νΈλ‘ μ΄λλ κ²½μ° μ μκ° μλνμ§ μμ΅λλ€.
- μμ λ μ½ν μΈ λ₯Ό λννμΌλ‘ μΆκ°ν μ μλλ‘ νλ μ¬μμ λ "git add -i" λͺ λ Ήμ μ΄κΈ° ꡬνμ μ μνλ©°, Perlμμ Cλ‘ μ¬μμ±νμ΅λλ€. "git add -p" λͺ λ Ήλ μ μ¬νκ² μ¬μμ μ€μ λλ€.
- μ μ₯μμ λ³κ²½ μ¬ν λ΄μμ κ·Έλνλ‘ λνλΈ ASCII μ΄λ―Έμ§λ₯Ό μμ±νλ "git log --graph" λͺ λ Ήμ΄ λ¦¬ν©ν λ§λμμ΅λλ€. μ¬μμ μ ν΅ν΄ κΈ°λ‘ κ΅¬μ‘°λ₯Ό μ곑νμ§ μκ³ λ μΆλ ₯μ ν¬κ² κ°μ νκ³ κ°μνν μ μμμ΅λλ€. μλ₯Ό λ€μ΄, μ΄λ―Έμ§κ° ν°λ―Έλ μ λλΉλ₯Ό λμ΄μλ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμμ΅λλ€.
- "git log --format=." μ΅μ
μ μ¬μ©νλ©΄ μΆλ ₯ νμμ λ³κ²½ν μ μμ΅λλ€.
"l/L" νλκ·Έμ λν μ§μμ νμ₯νμ¬ "@" κΈ°νΈ μμ μ§μ λ μ΄λ©μΌ μ£Όμμ μΌλΆλ§ μΆλ ₯ν©λλ€(μ: λͺ¨λ κ°λ°μκ° λμΌν λλ©μΈμ λͺ¨λ μ΄λ©μΌμ κ°μ§κ³ μλ κ²½μ° μ μ©ν¨). - "git submodule" λͺ λ Ήμ "set-url" νμ λͺ λ Ήμ μΆκ°νμ΅λλ€.
- ν
μ€νΈ ν€νΈλ μ νμ μ€λΉνκΈ° μν΄ μ
λ°μ΄νΈλμμ΅λλ€.
SHA-2 λμ SHA-1 ν΄μ± μκ³ λ¦¬μ¦μ μ¬μ©ν©λλ€.
μΆμ² : opennet.ru
