ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠΎΡΠ»ΡΠΌ Π²ΡΠΏΡΡΠΊΠΎΠΌ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ 505 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ
ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΠΈ 77 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
26 Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΠΈΠ½ΡΠ»ΠΈ ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅
- ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ «git switch» ΠΈ «git restore», ΠΏΡΠΈΠ·Π²Π°Π½Π½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ°Π»ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ «git checkout», ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡ Π²Π΅ΡΠΊΠ°ΠΌΠΈ (ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅) ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ («git checkout $commit — $filename») ΠΈΠ»ΠΈ ΡΡΠ°Π·Ρ Π² staging area («—staging», Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π°Π½Π°Π»ΠΎΠ³Π° Π² «git checkout»). Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ «git checkout», «git restore» ΡΠ΄Π°Π»ΡΠ΅Ρ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ («—no-overlay» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ «git merge —quit», ΠΊΠΎΡΠΎΡΠ°Ρ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ «—abort», ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π²Π΅ΡΠΎΠΊ, Π½ΠΎ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π΅ΡΡΠΎΠ½ΡΡΠΎΠΉ. ΠΠ°Π½Π½Π°Ρ ΠΎΠΏΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π½Π΅ΡΡΠ½Π½ΡΡ Π² Ρ ΠΎΠ΄Π΅ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ ΠΎΡΠΎΡΠΌΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
- ΠΠΎΠΌΠ°Π½Π΄Ρ «git clone», «git fetch» ΠΈ «git push» ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
(
alternates ); -
ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΡΠΈΠΈ «git blame —ignore-rev» ΠΈ «—ignore-revs-file», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Π½Π΅ΡΠ΅Π½Ρ Π½Π΅Π·Π½Π°ΡΠΈΠΌΡΠ΅ ΠΏΡΠ°Π²ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ); - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ «git cherry-pick —skip» Π΄Π»Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° (Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡΠΉ Π°Π½Π°Π»ΠΎΠ³ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ «git reset && git cherry-pick —continue»);
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° status.aheadBehind, ΡΠΈΠΊΡΠΈΡΡΡΡΠ°Ρ ΠΎΠΏΡΠΈΡ «git status —[no-]ahead-behind» Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π΅;
- Π‘ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° «git log» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΡΠ½Π½ΡΠ΅ mailmap, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠΎΠΌΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠΆΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² git shortlog;
- Π‘ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² 2.18 ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ΅ΡΠ° Π³ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² (core.commitGraph). Π’Π°ΠΊΠΆΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ git for-each-ref Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² auto-gc Π² «git fetch —multiple»;
- «git branch —list» ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ detached HEAD Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΠΏΠΈΡΠΊΠ° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π»ΠΎΠΊΠ°Π»ΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru