Π‘Π»Π΅Π΄ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΠΊΠΎΠ΄Π° Git 2.39 Π±Π΅ΡΠ΅ ΠΏΡΡΠ½Π°ΡΠ°. Git Π΅ Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅, Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΈ Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ° Π³ΡΠ²ΠΊΠ°Π²ΠΈ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅ ΠΈ ΡΠ»ΠΈΠ²Π°Π½Π΅. ΠΠ° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΠΈΡΡΠΎΡΠΈΡΡΠ° ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΡΡ Π·Π°Π΄Π½Π° Π΄Π°ΡΠ°, Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΈΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠΌΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Ρ Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ»Π°ΡΠ° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π° ΠΈΡΡΠΎΡΠΈΡ; ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ°Π³ΠΎΠ²Π΅ ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ Ρ ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅.
Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π²ΠΊΠ»ΡΡΠ²Π° 483 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Ρ ΡΡΠ°ΡΡΠΈΠ΅ΡΠΎ Π½Π° 86 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΎΡ ΠΊΠΎΠΈΡΠΎ 31 ΡΠ° ΡΡΠ°ΡΡΠ²Π°Π»ΠΈ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π·Π° ΠΏΡΡΠ²ΠΈ ΠΏΡΡ. ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ:
- ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit shortlogβ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠ΅Π·ΡΠΌΠ΅ΡΠ° ΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΎΡ ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° ΠΎΠΏΡΠΈΡ β-groupβ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ Π³ΡΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ ΠΏΠΎ ΠΏΠΎΠ»Π΅ΡΠ°, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ Π΄ΠΎ Π°Π²ΡΠΎΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΈΡΠ°ΡΠΎΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΡΠ΅ ΡΠΏΠΈΡΡΠΊ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π±ΡΠΎΡ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΠΊΠ°ΡΠΎ Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΡΠΈΡΠ΅, ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈ Π² ΠΏΠΎΠ»Π΅ΡΠΎ "Π‘ΡΠ°Π²ΡΠΎΡ ΠΎΡ", ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°: git shortlog -ns --group=author - -group=trailer:co-authored-by
ΠΠ·Ρ ΠΎΠ΄ΡΡ ΠΎΡ Shortlog ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅, Π° ΠΎΠΏΡΠΈΡΡΠ° β--groupβ ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΠΎΠΏΡΠΎΡΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΎΡΡΠ΅ΡΠΈ ΠΈ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΡΠΎΡΡΠΈΡΠ°Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΎΡΡΠ΅Ρ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ Π·Π° Π΄Π°Π΄Π΅Π½Π° Π²Π΅ΡΡΠΈΡ ΡΠ° ΠΏΡΠΈΠ΅ΡΠΈ Π²ΡΠ΅ΠΊΠΈ ΠΌΠ΅ΡΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅: git shortlog v2.38.0.. βdate='format:%Y-%m' βgroup=' %cd' -s 2 2022-08 47 2022-09 405 2022-10 194 2022-11 5 2022-12 ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π°, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΡΠ΅ΡΠ΅ Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° ΡΠΎΡΡΠΈΡΠ°Π½Π΅ ΠΈ uniq: git log v2.38.0 .. βdate='format:%Y -%m' βformat='%cd' | ΡΠΎΡΡΠΈΡΠ°Π½Π΅ | ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ -c
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° βcruft packsβ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π·Π° ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ (Π½Π΅ ΡΠ° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ ΠΎΡ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΡΠ°Π³ΠΎΠ²Π΅), ΡΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ. ΠΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΈΡΠ΅ ΠΎΠ±Π΅ΠΊΡΠΈ ΡΠ΅ ΠΈΠ·ΡΡΠΈΠ²Π°Ρ ΠΎΡ ΡΡΠ±ΠΈΡΠ°ΡΠ° Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ, Π½ΠΎ ΠΎΡΡΠ°Π²Π°Ρ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΡΡΠΈΡΠΈ, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅. ΠΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡΡ βcruft packsβ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΡ
ΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΡΠ°ΠΉΠ» ΠΈ Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π°ΡΠ΅ Π΄Π°Π½Π½ΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΠ±Π΅ΠΊΡ Π² ΠΎΡΠ΄Π΅Π»Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°, ΡΡΡ
ΡΠ°Π½Π΅Π½Π° Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ°ΠΉΠ» Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ β.mtimesβ, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° Π½Π΅ ΡΠ΅ ΠΏΡΠΈΠΏΠΎΠΊΡΠΈΠ²Π° Ρ ΠΎΠ±ΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
ΠΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΏΡΠ΅Π· ΠΊΠΎΠ΅ΡΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΈΡΠ΅ ΠΎΠ±Π΅ΠΊΡΠΈ ΠΎΡΡΠ°Π²Π°Ρ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π±ΡΠ΄Π°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΡΡΠΈΡΠΈ, ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΎΡ ΠΎΠΏΡΠΈΡΡΠ° ββprune=β " ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π΄ΠΎΠΊΠ°ΡΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π΅ Π΄ΠΎΡΡΠ° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° ΡΡΡΡΠ΅Π·Π°Π½ΠΈΠ΅, ΡΠΎ Π½Π΅ Π΅ 100% Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ. ΠΠ° Π΄Π° ΡΠ»Π΅ΡΠ½ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π΅Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π»ΠΈΠΏΡΠ²Π°ΡΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ ΡΡΠ΅Π· Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΎΠΏΡΠΈΡΡΠ° β--expire-toβ ΠΊΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit repackβ, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ΅Π½ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ·ΡΡΠΈΡΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡΠ΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠ»ΠΈ ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 5 ΠΌΠΈΠ½ΡΡΠΈ Π²ΡΠ² ΡΠ°ΠΉΠ»Π° backup.git, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°: git repack --cruft --cruft-expiration=5.minutes.ago -d --expire -to=../backup.git
- ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° (Π΄ΠΎ 70%) ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° "git grep -cached" ΠΏΡΠΈ ΡΡΡΡΠ΅Π½Π΅ Π² ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Π½Π΅ (sparse-checkout) ΠΈ Π·Π° ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ° ΡΠ°ΡΡΠΈΡΠ½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ (sparse index). ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΏΡΠΈ ΠΏΠΎΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΡΡΠ° β-cachedβ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΏΡΡΠ²ΠΎ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡ, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π² ΡΠ°ΡΡΠΈΡΠ½ΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΈ Π·Π°Π±Π°Π²ΡΠ½ΠΈΡ ΠΏΡΠΈ ΡΡΡΡΠ΅Π½Π΅ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
- ΠΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° Π·Π° ΠΊΠΎΡ Π΅ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ° Π½Π° Π½ΠΎΠ²ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ, ΠΏΡΠ΅Π΄ΠΈ ΡΠ΅ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° βgit pushβ, Π΅ ΡΡΠΊΠΎΡΠ΅Π½Π°. Π§ΡΠ΅Π· ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΊΡΠΌ ΠΎΡΡΠΈΡΠ°Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, Π² ΡΠ΅ΡΡΠΎΠ²ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΡΡ 7 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Π²ΡΡΠ·ΠΊΠΈ, ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ°ΠΌΠΎ 3% ΡΠ° ΠΎΠ±Ρ Π²Π°Π½Π°ΡΠΈ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π·Π° Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅, Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Ρ 4.5 ΠΏΡΡΠΈ.
- ΠΠ° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠ°Π·ΠΈ ΠΎΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½ΠΎ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π² ΠΊΠΎΠ΄Π°, ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° "git apply" ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΠΏΠ°ΡΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ. ΠΠΊΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡΡΠ° Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° 1 GB, ΡΠ΅Π³Π° ΡΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ Π³ΡΠ΅ΡΠΊΠ°.
- ΠΠ° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π½Π΅Π½ΡΠΆΠ½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ Π·Π°Π³Π»Π°Π²ΠΊΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° h2h3 Ρ ΠΎΠΏΡΠΈΡΡΠ° GIT_TRACE_CURL=1 ΠΈΠ»ΠΈ GIT_CURL_VERBOSE=1 Π·Π°Π΅Π΄Π½ΠΎ Ρ HTTP/2.
- ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠ»ΠΎΠ½, ΠΊΠΎΠΉΡΠΎ Π΅ ΡΠΈΠΌΠ²ΠΎΠ»Π½Π° Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ Π΄ΡΡΠ³ ΠΊΠ»ΠΎΠ½, ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° "git symbolic-ref HEAD" Π²Π΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠ΅Π»Π΅Π²ΠΈΡ ΠΊΠ»ΠΎΠ½, Π° Π½Π΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»Π½Π°ΡΠ° Π²ΡΡΠ·ΠΊΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° @{-1} ΠΊΡΠΌ ΠΎΠΏΡΠΈΡΡΠ° β--edit-descriptionβ (βgit branch βedit-description @{-1}β) Π·Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ΅Π½ ΠΊΠ»ΠΎΠ½.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° "git merge-tree --stdin" Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΏΠΈΡΡΠΊ Ρ ΠΎΠΏΡΠΈΠΈ ΡΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ Π²Ρ ΠΎΠ΄.
- Π ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΡΡ fsmonitor, ΠΊΠΎΠΉΡΠΎ ΡΠ»Π΅Π΄ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru