Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π²ΠΊΠ»ΡΡΠ²Π° 504 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΈΠ·Π³ΠΎΡΠ²Π΅Π½ΠΈ Ρ ΡΡΠ°ΡΡΠΈΠ΅ΡΠΎ Π½Π° 64 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΎΡ ΠΊΠΎΠΈΡΠΎ 12 ΡΡΠ°ΡΡΠ²Π°Ρ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π·Π° ΠΏΡΡΠ²ΠΈ ΠΏΡΡ.
- ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΎ
Π²ΡΠΎΡΠ° Π²Π΅ΡΡΠΈΡ ΠΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Git, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π° ΠΊΡΠΌ Git ΡΡΡΠ²ΡΡ. ΠΡΠΎΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° Ρ ΡΠΎΠ²Π°, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈ ΡΠ°Π³ΠΎΠ²Π΅ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΡΡΡΠ²ΡΡΠ°, Π²ΡΡΡΠ°ΠΉΠΊΠΈ ΡΡΠΊΡΠ°ΡΠ΅Π½ ΡΠΏΠΈΡΡΠΊ ΠΎΡ Π²ΡΡΠ·ΠΊΠΈ ΠΊΡΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π²ΡΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΡΠ»Π½ΠΈΡ ΡΠΏΠΈΡΡΠΊ Ρ ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠΈ Π² ΡΡΠ»ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π΄ΠΎΡΠΈ ΠΊΠΎΠ³Π°ΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΠΊΠ»ΠΎΠ½ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΡΠ΅ Π΄Π°Π»ΠΈ ΡΡΡ Π½ΠΎΡΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π΅ Π°ΠΊΡΡΠ°Π»Π½ΠΎ. ΠΡΡΠ³Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΠΎΠ²Π°ΡΠΈΡ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΡΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΡΡΠ°Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠ°. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΡ ΠΊΠΎΠ΄ ΠΎΡΡΠ°Π²Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ ΡΡΡ ΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΡΠΎ Ρ Π½ΠΎΠ²ΠΈ, ΡΠ°ΠΊΠ° ΠΈ ΡΡΡ ΡΡΠ°ΡΠΈ ΡΡΡΠ²ΡΡΠΈ, ΠΊΠ°ΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ Π²ΡΡΡΠ° ΠΊΡΠΌ ΠΏΡΡΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, Π°ΠΊΠΎ ΡΡΡΠ²ΡΡΡΡ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π²ΡΠΎΡΠ°ΡΠ°. - ΠΠΏΡΠΈΡΡΠ° β-show-scopeβ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit configβ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΡΡΡΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. Git Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΡΠ°: Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ (.git/info/config), Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ (~/.gitconfig), Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π·Π° ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° (/etc/gitconfig) ΠΈ ΡΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠΏΡΠΈΠΈ Π·Π° Π»ΠΈΠ½ΠΈΡ ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°. ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ βgit configβ Π΅ Π΄ΠΎΡΡΠ° ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΡΠ΄Π΅ ΡΠΎΡΠ½ΠΎ Π΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° ΠΆΠ΅Π»Π°Π½Π°ΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°. ΠΠ° Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π±Π΅ΡΠ΅ Π½Π°Π»ΠΈΡΠ½Π° ΠΎΠΏΡΠΈΡΡΠ° β--show-originβ, Π½ΠΎ ΡΡ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ°ΠΌΠΎ ΠΏΡΡΡ Π΄ΠΎ ΡΠ°ΠΉΠ»Π°, Π² ΠΊΠΎΠΉΡΠΎ Π΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π°ΠΊΠΎ Π²ΡΠ·Π½Π°ΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ Π΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΉΠ»Π°, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΌΠ°Π³Π°, Π°ΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΡΡΠ΅Π· βgit configβ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΠΏΡΠΈΠΈ β--systemβ, β--globalβ ΠΈΠ»ΠΈ β-localβ. ΠΠΎΠ²Π°ΡΠ° ΠΎΠΏΡΠΈΡ "--show-scope" ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π°Π΅Π΄Π½ΠΎ Ρ -show-origin:
$ git --list --show-scope --show-origin
Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΡΠ°ΠΉΠ»:/home/user/.gitconfig diff.interhunkcontext=1
Π³Π»ΠΎΠ±Π°Π»Π΅Π½ ΡΠ°ΠΉΠ»:/home/user/.gitconfig push.default=current
[β¦] local file:.git/config branch.master.remote=origin
Π»ΠΎΠΊΠ°Π»Π΅Π½ ΡΠ°ΠΉΠ»:.git/config branch.master.merge=refs/heads/master$ git config --show-scope --get-regexp 'diff.*'
global diff.statgraphwidth 35
Π»ΠΎΠΊΠ°Π»Π΅Π½ ΡΠ°Π·Π».colormoved ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½$ git config --global --unset diff.statgraphwidth
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π·Π° ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½Π΅
Π°ΠΊΡΠ΅Π΄ΠΈΡΠΈΠ²Π½ΠΈ ΠΏΠΈΡΠΌΠ° Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°ΡΠΊΠΈ Π² URL Π°Π΄ΡΠ΅ΡΠΈΡΠ΅. ΠΡΠΈΡΠΊΠΈ HTTP Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² Git ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΠΊΠ°ΠΊΡΠΎ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π²ΡΡΠ·ΠΊΠΈ (http.extraHeader, credential.helper), ΡΠ°ΠΊΠ° ΠΈ Π·Π° Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° URL Π²ΡΡΠ·ΠΊΠΈ (credential.https://example.com.helper, credential.https: //example. com.helper). ΠΠΎΡΠ΅Π³Π° Π·Π°ΠΌΠ΅ΡΡΠ²Π°ΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ ΠΊΠ°ΡΠΎ *.example.com Π±ΡΡ Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ ΡΠ°ΠΌΠΎ Π·Π° HTTP Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, Π½ΠΎ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π° Π·Π° ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ. Π Git 2.26 ΡΠ΅Π·ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈ ΡΠ° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°Π½ΠΈ ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅ ΠΊΡΠΌ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ, ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅:[ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ "https://*.example.com"]
ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅ = ttaylorr
- Π Π°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Π½Π΅ (ΡΠ°ΡΡΠΈΡΠ½ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅) ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΡΡΠ΅ ΡΠ°ΠΌΠΎ ΡΠ°ΡΡ ΠΎΡ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ Π½Π΅ΠΏΡΠ»Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΄ΠΎΠ±Π°Π²Ρ Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° "git sparse-checkout add", ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π·Π° Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° "checkout" ΡΠ°ΠΌΠΎ ΠΊΡΠΌ ΡΠ°ΡΡ ΠΎΡ ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ Π΄ΡΡΠ²ΠΎ, Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° ΠΈΠ·Π±ΡΠΎΡΠ²Π°ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΊΠΈΠ²Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π°Π²Π΅Π΄Π½ΡΠΆ ΡΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° "git sparse-checkout set" (ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π΅Π΄Π½Π° ΠΏΠΎ Π΅Π΄Π½Π° Π΅Π΄Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π±Π΅Π· Π΄Π° ΠΏΠΎΡΠΎΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ΅Π»ΠΈΡ ΡΠΏΠΈΡΡΠΊ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΡ).
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° ΠΊΠ»ΠΎΠ½ΠΈΡΠ°ΡΠ΅ git/git Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π±Π΅Π· Π°Π½Π³Π°ΠΆΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ΅ΡΠ½Π°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° ΡΠ°ΠΌΠΎ Π΄ΠΎ Π³Π»Π°Π²Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ ΠΊΠΎΠΏΠΈΠ΅ ΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈΡΠ΅ "t" ΠΈ "ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ", ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅:$ git clone --filter=blob:none --sparse [ΠΈΠΌΠ΅ΠΉΠ» Π·Π°ΡΠΈΡΠ΅Π½]:git/git.git
$ cd git
$ git sparse-checkout init --cone$ git sparse-checkout add t
....
$ git sparse-checkout add ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
....
$ git sparse-ΡΠΏΠΈΡΡΠΊ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
t - ΠΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit grepβ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° ΡΡΡΡΠ΅Π½Π΅ ΠΊΠ°ΠΊΡΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ, ΡΠ°ΠΊΠ° ΠΈ Π² ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ, Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π°. ΠΠ° Π΄Π° ΡΠ΅ ΡΡΠΊΠΎΡΠΈ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ, Π±Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠΊΠ°Π½ΠΈΡΠ° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ Π΄ΡΡΠ²ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½ΠΈΡΠΊΠΈ (βgit grep βthreadsβ), Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Π² ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ Π±Π΅ΡΠ΅ Π΅Π΄Π½ΠΎΠ½ΠΈΡΠΊΠΎΠ²ΠΎ. Π‘Π΅Π³Π° ΡΠΎΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΎ ΡΡΠ΅Π· ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΎΡ ΠΎΠ±Π΅ΠΊΡΠ½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π±ΡΠΎΡΡ Π½Π° Π½ΠΈΡΠΊΠΈΡΠ΅ Π΅ ΡΠ°Π²Π΅Π½ Π½Π° Π±ΡΠΎΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅ ΡΠ΄ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ Π²Π΅ΡΠ΅ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·ΡΠΈΡΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΡΡΠ° β-threadsβ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΏΡΡΠΈΡΠ°, Π²ΡΡΠ·ΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit worktreeβ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΊΠΎΠΏΠΈΡ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠΊΠΈ ΡΠ²Π΅ΡΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ ANSI Π΅ΠΊΡΠ°Π½ΠΈΡΠ°ΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π·Π° ΡΠ²Π΅ΡΠΎΠ²Π΅ Π·Π° ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Π²Π°Π½Π΅ βgit config βcolorβ ΠΈΠ»ΠΈ βgit diff βcolor-movedβ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ β%C(brightblue)β ΡΡΠ΅Π· ΠΎΠΏΡΠΈΡΡΠ° β--formatβ Π·Π° ΡΡΠΊΠΎ ΡΠΈΠ½ΡΠΎ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΡΠΊΡΠΈΠΏΡΠ°
fsmonitor-ΠΏΠ°Π·Π°Ρ , ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°Facebook ΠΏΠ°Π·Π°Ρ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. Π‘Π»Π΅Π΄ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° gitΡΠΌΠ΅Π½Π΅ΡΠ΅ ΠΊΡΠΊΠ° Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ. - ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΡΡΠΈΡΠ½ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΠ½Π³ΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°ΡΡΠ΅ΡΠ½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
(ΠΌΠ°ΡΠΈΠ½Π° Π·Π° ΡΠ°ΡΡΠ΅ΡΠ½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ), Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΏΡΠ»Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ ΠΏΡΠΈ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π°. ΠΠ΅ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΠΏΠ΅ΡΠ½Π° (βfilter=blob:none ΠΈ βfilter=blob:limit=n) ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Π½Π΅
Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ. GitHub ΠΎΠ±ΡΠ²ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Ρ ΡΠ΅Π·ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Π½Π΅. - ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit rebaseβ Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½Π° Π² Π΄ΡΡΠ³ Π±Π΅ΠΊΠ΅Π½Π΄, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° βΡΠ»ΠΈΠ²Π°Π½Π΅β ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π·Π° βrebase -iβ) Π²ΠΌΠ΅ΡΡΠΎ βpatch+applyβ. ΠΠ΅ΠΊΠ΅Π½Π΄ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°Ρ ΠΏΠΎ Π½ΡΠΊΠΎΠΈ ΠΌΠ°Π»ΠΊΠΈ Π½Π°ΡΠΈΠ½ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ»Π΅Π΄ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»Π΅Π΄ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ (git rebase --continue), Π½ΠΎΠ²ΠΈΡΡ Π±Π΅ΠΊΠ΅Π½Π΄ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° Π°Π½Π³Π°ΠΆΠΈΡΠ°Π½Π΅, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΡΠ°ΡΠΈΡΡ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠ°ΡΠΎΡΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠ° Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ΡΠ΅ ΠΊΡΠΌ ΡΡΠ°ΡΠΎΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° β--applyβ ΠΈΠ»ΠΈ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° βrebase.backendβ Π½Π° βapplyβ.
- ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ Π·Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅, ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ ΡΡΠ΅Π· .netrc, Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ Π΄ΠΎ ΡΠΎΡΠΌΠ°, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΈΠ·Π²ΡΠ½ ΠΊΡΡΠΈΡΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° gpg.minTrustLevel Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΏΠΈΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ β--pathspec-from-fileβ ΠΊΡΠΌ βgit rmβ ΠΈ βgit stashβ.
- ΠΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π² ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π·Π° ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΊΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Π·Π° Ρ Π΅ΡΠΈΡΠ°Π½Π΅ SHA-2 Π²ΠΌΠ΅ΡΡΠΎ SHA-1.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru