ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠΎΡΠ»ΡΠΌ Π²ΡΠΏΡΡΠΊΠΎΠΌ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ 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Β» ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
(
Π·Π°ΠΌΠ΅Π½ΠΈΡΠΈ ); -
ΠΠΎΠ΄Π°ΡΠΎ ΠΎΠΏΡΠΈΠΈ Β«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 Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΠΏΠΈΡΠΊΠ° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π»ΠΎΠΊΠ°Π»ΠΈ.
ΠΠ·Π²ΠΎΡ: ΠΎΠΏΠ΅Π½Π½Π΅Ρ.ΡΡ