Π‘Π»Π΅Π΄ ΡΡΠΈ ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π΅ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΠΊΠΎΠ΄Π° Git 2.40. Git Π΅ Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅, Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΈ Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π³ΡΠ²ΠΊΠ°Π²ΠΈ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅ ΠΈ ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ. ΠΠ° Π΄Π° ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΠΈΡΡΠΎΡΠΈΡΡΠ° ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΡΡ Π·Π°Π΄Π½Π° Π΄Π°ΡΠ°, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠΌΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Ρ Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ»Π°ΡΠ° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π° ΠΈΡΡΠΎΡΠΈΡ Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΈΡ, ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ°Π³ΠΎΠ²Π΅ ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ Ρ ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅.
Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, Π² Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π±ΡΡ Π° ΠΏΡΠΈΠ΅ΡΠΈ 472 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Ρ ΡΡΠ°ΡΡΠΈΠ΅ΡΠΎ Π½Π° 88 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΎΡ ΠΊΠΎΠΈΡΠΎ 30 ΡΡΠ°ΡΡΠ²Π°Ρ Π° Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π·Π° ΠΏΡΡΠ²ΠΈ ΠΏΡΡ. ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ:
- Π‘ΠΊΡΠΈΠΏΡΡΡ git-jump Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Emacs Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Vim. Git-jump ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π²ΡΠ² ΡΠ°ΠΉΠ» ΠΊΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠ² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π·Π° Π±ΡΡΠ·Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΊΡΠΌ ΠΊΠΎΠ΄ Π·Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΌΡΡΡΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ git-jump ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠ΅ΡΠΊΠ°ΡΠ°Π½Π΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΏΡΠΎΠΈΠ·ΡΠΈΡΠ°ΡΠΈ ΠΎΡ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ ΠΏΡΠΈ ΡΠ»ΠΈΠ²Π°Π½Π΅, ΠΎΡΠ΅Π½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΡΠ΅Π½ΠΈΡ (ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ "git jump grep foo" ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π±ΡΡΠ·ΠΎ Π΄Π° ΠΏΡΠ΅ΡΠΊΠ°ΡΠ°ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ Π·Π°ΠΌΠ΅ΡΡΠ²Π°ΡΠΈΡΡ Π·Π½Π°ΠΊ "foo" Π²ΡΠ·Π½ΠΈΠΊΠ²Π°).
- "git cat-file" ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΠΈΡΠ΅ "-s" ΠΈ "--batch-check" Π·Π°Π΅Π΄Π½ΠΎ Ρ "--use-mailmap" Π·Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠ°, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΠΎΠ΄ΠΌΡΠ½Π°ΡΠ° Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½ΠΈΡ Π·Π° ΠΈΠΌΠ΅ΠΉΠ», ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ Π²ΡΠ² ΡΠ°ΠΉΠ»Π° mailmap (ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΎΠΏΡΠΈΡΡΠ° β--use-mailmapβ Π·Π°ΡΡΠ³Π°ΡΠ΅ ΡΠ°ΠΌΠΎ ΠΈΠ·Ρ ΠΎΠ΄Π° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ, Π½ΠΎ Π½Π΅ Π²Π·Π΅ΠΌΠ°ΡΠ΅ ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ ΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈΡΠ΅ Π΄Π²ΠΎΠΉΠΊΠΈ ΠΈΠΌΠ΅/ΠΈΠΌΠ΅ΠΉΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΈ).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ β--sourceβ ΠΊΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit check-attrβ, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π΄ΡΡΠ²ΠΎ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡ ΡΠ°ΠΉΠ» β.gitattributesβ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΈ, Π°ΠΊΠΎ ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΠΉΠ»Π° β.gitattributesβ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ.
- ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit bisectβ Π΅ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° C ΠΈ Π΅ Π²Π³ΡΠ°Π΄Π΅Π½ΠΎ Π² Π³Π»Π°Π²Π½ΠΈΡ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ ΡΠ°ΠΉΠ» Π½Π° git (ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π±Π΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΠΊΡΠΈΠΏΡ Π½Π° Shell).
- Π‘ΡΠ°ΡΠ°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Shell Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit add βinteractiveβ Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ° (Π² git 2.26 Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½Π° C Π²Π΅ΡΡΠΈΡ, Π½ΠΎ ΡΡΠ°ΡΠ°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Shell ΠΎΡΡΠ°Π½Π° Π½Π°Π»ΠΈΡΠ½Π° ΠΈ ΡΠ΅ ΡΠ΅Π³ΡΠ»ΠΈΡΠ° ΠΎΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° add.interactive.useBuiltin).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ β--merge-baseβ ΠΊΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit merge-treeβ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ "--abbrev=" ΠΊΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° "git range-diff". "
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°ΠΌΡΠ½Π° Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π½Π° ΡΠΏΠΈΡΡΠΊ Π·Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° rebase ΡΡΠ΅Π· Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° GIT_SEQUENCE_EDITOR ΡΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit varβ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° βgit var GIT_EDITORβ.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° Π°ΠΊΠ°ΡΠ½ΡΠΈΡΠ΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠ°ΡΠΎΠ»ΠΈ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π½Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ.
- Π‘ΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ Π·Π° Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π·Π° Bash Π²Π΅ΡΠ΅ ΠΈΠΌΠ°Ρ ΡΠ΅ΠΆΠΈΠΌ Π±Π΅Π· ΡΠ΅Π³ΠΈΡΡΡΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru