ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ Π΅ ΡΠ΅Π»ΠΈΠ· Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Git 2.56. ΠΠΎΠ΄ΡΡ Π½Π° Git ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ GPLv2+ Π»ΠΈΡΠ΅Π½Π·. Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ 748 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈ Ρ ΡΡΠ°ΡΡΠΈΠ΅ΡΠΎ Π½Π° 104 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΎΡ ΠΊΠΎΠΈΡΠΎ 39 Π·Π° ΠΏΡΡΠ² ΠΏΡΡ ΡΡΠ°ΡΡΠ²Π°Ρ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Git. ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ (1, 2, 3):
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠ΅ΠΆΠΈΠΌ βgit add βresolvedβ Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ ΠΏΡΠΈ ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π·Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ°ΡΠΊΠ΅ΡΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΈ, ΠΏΡΠΈ ΠΎΡΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΡΠ°ΠΊΡΠ² ΠΌΠ°ΡΠΊΠ΅Ρ Π² ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ ΡΠ°ΠΉΠ», Π΄Π°Π²Π° Π³ΡΠ΅ΡΠΊΠ°, Π½Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ° Π½ΠΈΡΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠΏΠΈΡΡΠΊ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΠΏΡΠ°Π²Π΅Π½ΠΈ. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit add βupdateβ, Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΡΠ°ΠΌΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π² ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, Π° ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°, ΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Ρ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ΡΠΎ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ Π² ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈΠΌΠ° ΠΈ Π΄ΡΡΠ³ΠΈ Π½Π΅Π·Π°Π²ΡΡΡΠ΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ (ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit add βupdateβ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ).
- ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ ΡΡΠΊΠΎΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΡΡΠ΅Π· ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Π·Π° Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΎΠ±ΡΠΈ ΠΊΠΎΠΌΠΈΡΠΈ ΠΏΡΠΈ ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈ ΡΡΠ°Π²Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΈΡΠΈ. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΠ΅Π³Π° ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΊΠΎΠΌΠΈΡΠΈΡΠ΅, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ ΠΎΡΠΊΡΠΈΡΠΈΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΠΎΠ±ΡΠΈ ΠΏΡΠ΅Π΄ΡΠΈ, Π±Π΅Π· Π΄Π° ΡΠ΅ Π³ΡΠ±ΠΈ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΡΠ΅Π½ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅. Π Π΅Π΄Π½ΠΎ ΠΎΡ ΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΡΡΡΠ΅Π½Π΅ ΡΠ΅ Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»Π° ΡΡΠ΅Π΄Π½ΠΎ 20 ΠΏΡΡΠΈ, Π° Π² Π΄ΡΡΠ³ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ Π±ΠΈΠ»ΠΎ Π΄ΠΎ 70 ΠΏΡΡΠΈ. ΠΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit merge-base βall v4.8 v4.9β Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Ρ ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux Π±ΡΠΎΡΡ Π½Π° ΡΡΡΠΏΠΊΠΈΡΠ΅ Π·Π° ΠΎΠ±Ρ ΠΎΠ΄ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ ΠΎΡ 167 Ρ ΠΈΠ»ΡΠ΄ΠΈ Π½Π° 3.8 Ρ ΠΈΠ»ΡΠ΄ΠΈ.
- ΠΠ° ΡΡΡΠ²ΡΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π΅ Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½ ΡΠ΅ΠΆΠΈΠΌΡΡ Π·Π° ΠΏΡΠ΅Π½Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ββpath-walkβ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎ-ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΈ pack-ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΡΠ΅Π· Π³ΡΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ ΠΏΠΎ ΡΠ΅Ρ Π½ΠΈΡ ΠΏΡΡ Π² Π΄ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Fluent UI ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ββpath-walkβ Π΅ Π½Π°ΠΌΠ°Π»ΠΈΠ»ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° pack-ΡΠ°ΠΉΠ»Π° ΠΎΡ 558 ΠΠ Π½Π° 164 ΠΠ). Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° ββpath-walkβ ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ Π±ΠΈΡΠΎΠ²ΠΈ ΠΊΠ°ΡΡΠΈ Π½Π° Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΡΠ° (reachability bitmap) ΠΈ Π΄Π΅Π»ΡΡΠ°-ΠΎΡΡΡΠΎΠ²ΠΈ (delta island), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΡ git-Ρ ΠΎΡΡΠΈΠ½Π³ΠΈΡΠ΅ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΈ ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° ΡΠΎΡΠΊΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
- ΠΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈ ΡΠ° ΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΌΠ΅ΡΡΠ°, Π²ΠΎΠ΄Π΅ΡΠΈ Π΄ΠΎ ΠΈΠ·Π»ΠΈΡΠ½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°: ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΡΠ° Π½Π΅Π½ΡΠΆΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡ Π² reftable; ΠΈΠ·Π±Π΅Π³Π½Π°ΡΠΎ Π΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΏΠΈΡΡΠΊΠ° ΠΏΡΠΈ Π²ΡΡΠΊΠΎ Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° Π½ΠΎΠ² pack-ΡΠ°ΠΉΠ»; ΡΡΠΊΠΎΡΠ΅Π½ΠΈ ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Ρ reftable, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π΅ Π½Π°ΡΡΡΠΏΠ°Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΈΡΠΈ Π·Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅; ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° βgit diffβ ΠΏΡΠΈ Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΠΏΡΡΠΈΡΠ°. Π‘Π»Π΅Π΄ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅, ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ reftable ΠΏΡΠΈ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΠΈΠ·ΡΡΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅ Π΅ ΡΡΠΊΠΎΡΠΈΠ»Π° 65 ΠΏΡΡΠΈ (ΠΎΡ 13 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π΄ΠΎ 0.2 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ), Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° βgit diffβ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Chromium Ρ 500000 Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΠΎΡΠ½Π΅ΠΌΠ° 0.07 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π²ΠΌΠ΅ΡΡΠΎ 8 ΠΌΠΈΠ½ΡΡΠΈ.
- Π Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈΡ Π΅ΠΊΠΈΠΏ Β«git historyΒ», ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΠΏΡΠ΅ΠΈΠ·ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Β«git history dropΒ» Π·Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π±ΡΠ°Π½ commit Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ²Π°Π½Π΅ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΡΠΈ ΠΊΡΠΌ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΈΡ commit.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«git branch βdelete-merged βorigin*β βtopic-*'Β» Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° Π³ΡΡΠΏΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅, ΡΠΈΠΉΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²Π΅ΡΠ΅ ΡΠ° ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° Π²ΡΠ½ΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠ° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°ΡΠΊΠΈ. ΠΠ° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΈΡΠ΅ Π·Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅, Π±Π΅Π· Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ»Π°Π³ΡΡ Β«βdry-runΒ».
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«git refs create|update|delete|renameΒ», Π² ΠΊΠΎΡΡΠΎ ΡΠ° ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ Π½ΠΈΡΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅, ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅, ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ.
- Π ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«git bisect runΒ» Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡΡΠ° Β«βreset-when-found=[]Β», ΠΊΠΎΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΡΠ΅Π½Π΅ΡΠΎ ΠΈΠ»ΠΈ ΠΎΡΡΠ°Π²Ρ Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΈΡ commit, Π±Π΅Π· Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΎΡΠ΄Π΅Π»Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«git bisect resetΒ».
- Π ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«git replayΒ» Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΡΠ»Π°Π³ΡΡ Β«βlinearizeΒ» Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ»ΠΎΡΠΊΠ° ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡ Π½Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π½Π° Β«git rebase βno-rebase-mergesΒ», Π½ΠΎ Π±Π΅Π· Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ Π΄ΡΡΠ²ΠΎ.
- Π ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«git log βfollowΒ» Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½Π° ΠΈΡΡΠΎΡΠΈΡ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΠΎΠ½ΠΈ. ΠΡΡΡΡ Π΄ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠ΅Π³Π° ΡΠ΅ ΡΠΈΠΊΡΠΈΡΠ° ΠΎΡΠ΄Π΅Π»Π½ΠΎ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΈ commit, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ ΠΎΡ ΡΠ΅Π΄Π° Π½Π° ΠΎΠ±Ρ ΠΎΠ΄Π° Π½Π° ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° commit-ΠΈΡΠ΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«git repack -a βfilter=blob:limit=1m βdrop-filteredΒ» Π·Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ blob ΠΎΠ±Π΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π·Π°ΡΠ΅Π΄Π΅Π½ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ²Π°Π½Π΅ ΠΎΡ Π²ΡΠ½ΡΠ΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² ΡΠ΅ΠΊΡΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ΅Π·ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ ΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π·Π°ΡΠ΅Π΄Π΅Π½ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ.
- Π ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«git log βgraphΒ» Π·Π° Π³ΡΠ°ΡΠΈ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΠΊΠΎΡΠ΅Π½ΠΈ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΎΡΡΡΡΠΏΠΈ Π·Π° ΡΡΠ½ΠΎ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π½Π΅ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΊΠΎΠΌΠΈΡΠΈ.
- ΠΠ°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΎ Π΅ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠΏΠΈΡΠ½ΠΈ ΠΏΠ΅ΡΠ°ΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠ°ΡΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Β«git push origin/mainΒ» Π²ΠΌΠ΅ΡΡΠΎ Β«git push origin mainΒ» ΠΈΠ»ΠΈ Β«git branch βset-upstream-to origin mainΒ» Π²ΠΌΠ΅ΡΡΠΎ Β«git branch βset-upstream-to=origin/mainΒ», ΠΈ ΡΠ΅ ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
