ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠ΅Π»ΠΈΠ· ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ Git 2.53. Git ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π±Π°Π·ΠΈΡΡΡΡΠΈΠ΅ΡΡ Π½Π° ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ. ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ Β«Π·Π°Π΄Π½ΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌΒ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ΡΠ²Π½ΠΎΠ΅ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ΅Π³ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠΎΠ΄ Git ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPLv2+.
ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠΎΡΠ»ΡΠΌ Π²ΡΠΏΡΡΠΊΠΎΠΌ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ 466 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΠΈ 70 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² (21 Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΠΈΠ½ΡΠ»ΠΈ ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Git). ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π°:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Β«geometricΒ» (Β«git repack βgeometricΒ») ΠΊ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Β«promisorΒ» (Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄ΠΎΠ³ΡΡΠΆΠ°ΡΡΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ). ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ Ρ ΠΎΠΏΡΠΈΠΉ Β«βgeometricΒ» pack-ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Β«.promisorΒ» ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ Β«geometricΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΊΡΡΠΏΠ½ΡΡ ΠΌΠΎΠ½ΠΎΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², Π·Π° ΡΡΡΡ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΡΠΌΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²ΡΠ΅Ρ pack-ΡΠ°ΠΉΠ»ΠΎΠ² (ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° pack-ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ pack-ΡΠ°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π² Π΄Π²Π° ΡΠ°Π·Π° Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ).
- Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«git fast-importΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«βsigned-commits=strip-if-invalidΒ» Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ· ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΡΠ°Π²ΡΠΈΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΡΠ°ΡΡΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π»ΠΈΠ±ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ, Π»ΠΈΠ±ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ, Π±Π΅Π· ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈ ΠΏΠΎΡΠ΅ΡΡΠ²ΡΠΈΠ΅ ΡΠΌΡΡΠ». ΠΠΏΡΠΈΡ Β«strip-if-invalidΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΠΏΠΎΡΠ΅ΡΡΠ²ΡΠΈΠΌΠΈ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΌΠΈ.
- Π Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«git repo structureΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ Π²ΡΠ΅Ρ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (reachable) Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠΎΠΉ ΠΏΠΎ ΠΈΡ ΡΠΈΠΏΠ°ΠΌ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΎΠ±ΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π΄ΠΈΡΠΊΠ΅. $ git repo structure | Repository structure | Value | | βββββββ | βββ- | | * References | | | * Count | 1.78 k | | * Branches | 5 | | * Tags | 1.03 k | | * Remotes | 749 | | * Others | 0 | | | | | * Reachable objects | | | * Count | 421.37 k | | * Commits | 88.03 k | | * Trees | 169.95 k | | * Blobs | 162.40 k | | * Tags | 994 | | * Inflated size | 7.61 GiB | | * Commits | 60.95 MiB | | * Trees | 2.44 GiB | | * Blobs | 5.11 GiB | | * Tags | 731.73 KiB | | * Disk size | 301.50 MiB | | * Commits | 33.57 MiB | | * Trees | 77.92 MiB | | * Blobs | 189.44 MiB | | * Tags | 578.13 KiB |
- Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«git maintenanceΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«is-neededΒ» Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π² ΡΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
- Π ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Β«git replayΒ» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΎΠΊ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°, ΠΊΡΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΠΈ, Π±Π΅Π· ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
- Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«git blameΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΡΠ΅Π½ΠΊΠΈ ΠΎΡΠ»ΠΈΡΠΈΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΡΠΈΠΈ Β«βdiff-algorithm=<algo>Β».
- Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«git repo infoΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«βallΒ».
- ΠΠ· Git-for-Windows ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Windows.
Π ΡΠΎΡΡΠ°Π² ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Rust Π² Git 2.53. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² Π²Π΅ΡΡΠΈΠΈ Git 2.53 Π»ΠΈΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Rust (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ Π±Π΅Π· GNU sed), Π½ΠΎ ΡΠ±ΠΎΡΠΊΠ° Ρ Rust ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Makefile ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΡΠ½Π½ΠΎΠΉ (ΡΡΠ΅Π±ΡΠ΅Ρ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π°Π³Π° WITH_RUST), Π° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Meson Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° rustc. Π Π²Π΅ΡΡΠΈΠΈ Git 3.0 ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Rust Π½Π°ΠΌΠ΅ΡΠ΅Π½Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΡΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru

