ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ n ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°ΡΡ.
ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ Π΄ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°ΡΡ.
ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ
Π·Π°ΠΏΠΈΡΡ author ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ.
ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ
Π·Π°ΠΏΠΈΡΡ committer ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ.
ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ.
ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠ²Π»Π΅ΠΊΠ»ΠΎ Π·Π° ΡΠΎΠ±ΠΎΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π² ΠΊΠ°ΠΊΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ
ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΡΡΠΎΠ²ΡΡ
ΡΠ°ΠΉΠ»Π°Ρ
Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Git Π² ΠΎΠΊΡΡΠ±ΡΠ΅ 2008 Π³ΠΎΠ΄Π°, Π°Π²ΡΠΎΡΠΎΠΌ ΠΊΠΎΡΠΎΡΡΡ
Π±ΡΠ» Junio Hamano ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ· ΠΏΠΎΡΡΠΈ 40 000 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Git, ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ 6, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΡΠΈΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ
Git Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
. Π£ΡΠΎΠΊ 5.
ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΡ
ΠΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ
ΠΠΎΠ½ΡΠΏΠ΅ΠΊΡ ΡΡΠΎΠΊΠ°
ΠΡΠ°ΡΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΊΠ°, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΡΠΎΠ²Π΅ΡΡ.
ΠΠ»Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
Π£ΡΠΎΠΊ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ. ΠΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΠΎΠΌΠ°Π½Π΄Π° git log
ΠΠ° ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git log. Π ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
git log, ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΎΡ Π½ΠΎΠ²ΡΡ
ΠΊ ΡΡΠ°ΡΡΠΌ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ
ΠΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ git log, Π½ΠΎ Π΅ΡΠ΅ ΠΈ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΡΠ°ΠΉΠ»Π°Ρ
ΠΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ. ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ
ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ commit message
ΠΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅ΡΠ΅Π²Π°, Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΡΠ΅Π²Π΄ΠΎΠ³ΡΠ°ΡΠΈΠΊΠΎΠΉ. ΠΠ»ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². Π Π΄Π΅ΡΠ΅Π²Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΌΡ Π²Π΅ΡΠ½Π΅ΠΌΡΡ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ.
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ
ΠΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Π»ΠΈΠ½ΡΠΊΡΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
ΠΠΎΠΈΡΠΊ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ
ΠΠΎΠΌΠΌΠΈΡΡ, Π·Π°ΡΡΠΎΠ½ΡΠ²ΡΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ»
ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π°Π²ΡΠΎΡΡ
ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ Π΄Π°Ρ
ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΎΠΏΡΠΈΠΉ
ΠΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΎΠΏΡΠΈΠΈ git ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ ΠΈΡ
Π»ΠΈΠ½ΡΠΊΡΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ
ΠΠ°ΠΊΠΈΠ΅ Π΅ΡΠ΅ Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ git log Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΎΠΏΡΠΈΠΉ. ΠΡΠ΅ ΠΈΡ
ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π°, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΡΡΠ°ΠΉΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΡΠΎΡΠΌΠΎΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, git show
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π½ΡΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ Π΅Π³ΠΎ Ρ
ΡΡ. Π₯ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git log, Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π±Π΅Π·. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
Π‘ΠΌΠΎΡΡΠΈΠΌ Π²ΡΠΎΡΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
ΠΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅:
ΠΠΎΡΠΎΡΠΊΠΈΠΉ Ρ
ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² PhpStorm
Π ΠΎΠΊΠ½Π΅ Local Changes, Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Log ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ. Π ΡΠΏΠΈΡΠΊΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΈΡ
commit message, Π°Π²ΡΠΎΡ ΠΈ Π΄Π°ΡΠ°. ΠΠ»ΠΈΠΊ Π½Π° Π½ΡΠΆΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΎΡΠΊΡΠΎΠ΅Ρ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ»ΠΈΠΊ Π½Π° Π½ΡΠΆΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈ Ctrl/Cmd+D ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ git diff.
Π ΡΠ΅ΠΊΡΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ Π² PhpStorm ΡΠ»ΠΎΠΆΠ½ΠΎ, ΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ.
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ
ΠΡΠΆΠ½ΠΎ ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π² Π΄Π²ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
:
1. ΠΡΠΈ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠΌ Π΄Π΅ΠΏΠ»ΠΎΠ΅, ΠΊΠΎΠ³Π΄Π° Π²ΡΠΊΡΡΠ»Π°ΡΡ ΠΊΡΠΈΡΠΈΡΠ½Π°Ρ Π±Π°Π³Π°. ΠΡΠ»ΠΈ Π±Π°Π³Π° ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΈ ΠΏΠΎΡΠΈΠΊΡΠΈΡΡ Π΅Π΅ Π±ΡΡΡΡΠΎ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΡΠ°Π±ΠΎΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΈ ΡΠΆΠ΅ ΠΏΠΎΡΠΎΠΌ ΡΠΈΠ½ΠΈΡΡ Π±Π°Π³Ρ.
2. ΠΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅. ΠΠΎΠ³Π΄Π° Π² ΠΊΠΎΠ΄ Π·Π°ΠΊΡΠ°Π»Π°ΡΡ Π±Π°Π³Π° ΠΈ ΠΌΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π΅ΠΌΡΡ «Π½Π°Π·Π°Π΄ Π² ΠΏΡΠΎΡΠ»ΠΎΠ΅» ΠΈ ΠΈΡΠ΅ΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎ-ΡΠΎ ΡΠ»ΠΎΠΌΠ°Π»ΠΎΡΡ
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅
Π§ΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΎΠ±ΡΠ°Π½ΠΎ, Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π½ΡΠΆΠ½ΠΎ Π½Π°Π±ΡΠ°ΡΡ
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ Π² PhpStrom
ΠΠΊΠ»Π°Π΄ΠΊΠ° Log, ΠΏΡΠ°Π²ΡΠΉ ΠΊΠ»ΠΈΠΊ Π½Π° Π½ΡΠΆΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ ΠΈ Checkout Revision. ΠΡΠ΅. ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½Π° ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π²ΡΡ, Π½ΠΎ Π½Π°ΠΏΡΠΎΡΠΈΠ² ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡΡΡ Π·Π½Π°ΡΠΎΠΊ HEAD Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ «!»
Π§ΡΠΎ ΠΌΠΎΠ³Ρ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ git push ΠΈ git pull.
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Git
ΠΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΠΉ Π²ΠΈΠ΄
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»Π½ΡΠΉ Π³ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² c ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΌΠΈ Ρ
Π΅ΡΠ°ΠΌΠΈ, ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π΄Π°ΡΠΎΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ: ΡΠΈΠ½ΠΈΠΉ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ Ρ
Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π·Π΅Π»ΡΠ½Π°Ρ Π΄Π°ΡΠ°, Π±Π΅Π»ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π²ΡΠΎΡ, ΠΆΡΠ»ΡΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»Π½ΡΠΉ Π³ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² c ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΌΠΈ Ρ
Π΅ΡΠ°ΠΌΠΈ, ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΉ Π΄Π°ΡΠΎΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ: ΡΠΈΠ½ΠΈΠΉ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ Ρ
Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π³ΠΎΠ»ΡΠ±Π°Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½Π°Ρ Π΄Π°ΡΠ°, Π·Π΅Π»ΡΠ½Π°Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π΄Π°ΡΠ°, ΠΆΡΠ»ΡΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ, Π±Π΅Π»ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π²ΡΠΎΡ.
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»Π½ΡΠΉ Π³ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΎΡΠ²ΠΎΠ΄Ρ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»Π½ΡΠΉ Π³ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² c ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ Π΄Π°ΡΠ΅, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π² ΠΊΡΠ°ΡΠΊΠΎΠΉ ΡΠΎΡΠΌΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ: ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ Ρ
Π΅Ρ, Π΄Π°ΡΠ°, Π°Π²ΡΠΎΡ, Π·Π΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π²ΠΈΠ΄
ΠΡΠ²ΠΎΠ΄ ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ diff Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ.
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ.
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π° ΡΡΡΠΎΡΠΊΠ΅.
ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΠ΅ΡΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°: ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΠΉ Ρ
Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π°Π²ΡΠΎΡ, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π΄Π°ΡΠ°, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
ΠΡΠ»ΠΈ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, ΡΠΎ Π²ΡΡ ΡΠ°ΠΊΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΡΠΈΡΡΠ½Π΅Π΅ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π° Π½Π΅ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΠΈΡΠ½ΠΎ Ρ ΠΎΡΠ΅Π½Ρ Π»ΡΠ±Π»Ρ GitExtensions:
Π’Π°ΠΊΠΆΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠΈΠ»ΠΈΡΡ gitk:
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
ΠΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log Π½Π΅ Π½ΡΠΆΠ½Ρ, Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Ρ
ΠΎΡΠΎΡΠΎ Π±Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ. ΠΡΠΈΠ²Π΅Π΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ
ΠΎΠ΄ΠΎΠ²ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΡΡΠΎΡΠ½ΠΈΠΊ
19 ΡΠΎΠ²Π΅ΡΠΎΠ² ΠΏΠΎ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git

ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Git, ΡΠΎ Π²Π°ΠΌ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΠ²Π΅ΡΡ ΠΈΠ· ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π² ΡΡΠΎΠΌ ΠΏΠΎΠΊΠ° Π½ΠΎΠ²ΠΈΡΠΎΠΊ, ΡΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Git Cheat Sheet. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ°ΠΊ, Π΄Π°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ΅Ρ
, Ρ ΠΊΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΎΠΏΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Git ΠΎΡ ΡΡΡΡ
ΠΌΠ΅ΡΡΡΠ΅Π². ΠΡΡΠΎΡΠΎΠΆΠ½ΠΎ: ΡΡΠ°ΡΡΠΈΠΊ, Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ!
1. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π»ΠΎΠ³Π°
ΠΠΎΠΎΠ±ΡΠ΅, Π² Git Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΡΠΊΠΈΡ
ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΡΠΎΡΡΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ man git-log ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΡΡΠΎΡΠΈΠΈ. ΠΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π²Π°Ρ Π½Π΅ ΡΡΡΡΠΎΠΈΡ, Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ —pretty, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π²ΡΠ΄Π°ΡΡ Π² ΡΠΈΡΠΎΠΊΠΈΡ
ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
.

2. ΠΡΠ²ΠΎΠ΄ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ»
ΠΠ°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠΈΠ»ΠΈΡΡ less, Π½Π°Π±ΡΠ°Π² Β«ΡΠ»Π΅ΡΒ» ΠΈ Π²Π²Π΅Π΄Ρ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ: /<<ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠΉ-Π·Π°ΠΏΡΠΎΡ>> (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΡΡ «n» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π±ΠΎΠ»ΡΡΡΡ «N» Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ):

3. ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΡΡΡΠΎΠΊΠ°Ρ
ΡΠ°ΠΉΠ»Π°
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git blame filename ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π°Π²ΡΠΎΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅.

ΠΡΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log Ρ ΡΠ»Π°Π³ΠΎΠΌ -L, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΠΈ Git ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ.

4. ΠΡΠΎΡΠΌΠΎΡΡ Π΅ΡΡ Π½Π΅ Π²Π»ΠΈΡΡΡ
Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΡΡ Π²Π΅ΡΠΊΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠΈΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΡΠ΄ΠΈΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡΠ΄Π΅ΠΉ, ΡΠΎ Π²Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ Π²Π»ΠΈΠ²Π°Π½ΠΈΡΠΌΠΈ (ΠΌΡΡΠΆΠ°ΠΌΠΈ) ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, master) Π² Π²Π΅ΡΠΊΡ Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠΈΡΠ΅ΠΉ. Π’Π°ΠΊΠΈΠ΅ ΠΌΡΡΠΆΠΈ Π·Π°ΡΡΡΠ΄Π½ΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π²Π΅ΡΠΊΠ΅ ΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ.
5. ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΈ
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git show some-branch:some-file.js
ΠΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ°ΠΉΠ» Π² Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡ Π½Π° Π½Π΅Ρ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git show some-branch-name:some-file-name.js, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ ΠΏΡΡΠΌΠΎ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π».
Π Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ ΠΎΡΠΊΡΡΡΡ Π΄Π²Π° ΡΠ°ΠΉΠ»Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² ΡΠ²ΠΎΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅: git show some-branch-name:some-file-name.js > deleteme.js.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΡΠ°Π²Π½ΠΈΡΡ Π΄Π²Π° ΡΠ°ΠΉΠ»Π°, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git diff some-branch some-filename.js
6. ΠΠ°ΡΠ° ΡΠ»ΠΎΠ² ΠΎ ΡΠ΅Π±Π΅ΠΉΠ·Π΅
Π Π°Π½Π΅Π΅ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
ΠΌΡΡΠΆΠ°Ρ
ΠΌΠ°ΡΡΠ΅ΡΠ° Π² ΡΠ°Π±ΠΎΡΡΡ Π²Π΅ΡΠΊΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΡ
ΠΈΠ· Π½ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rebase. ΠΠΎΠΎΠ±ΡΠ΅, ΡΠ΅Π±Π΅ΠΉΠ· β ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, Π±ΡΠ΄Π΅Ρ Π»ΡΡΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°. ΠΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅ Β«Pro GitΒ»:
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΠ΅ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°, Ρ ΡΠ΅Π±Π΅ΠΉΠ·Π° Π΅ΡΡΡ ΠΈ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ:
ΠΠ΅ Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ΅Π±Π΅ΠΉΠ· ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½Π°Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π²Π½Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅ΡΠ΅ ΡΡΠΎΠΌΡ ΡΠΎΠ²Π΅ΡΡ, ΡΠΎ Π²ΡΡ Π±ΡΠ΄Π΅Ρ Ρ
ΠΎΡΠΎΡΠΎ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ Π±ΡΠ΄ΡΡ Π²Π°Ρ Π½Π΅Π½Π°Π²ΠΈΠ΄Π΅ΡΡ, Π° Π΄ΡΡΠ·ΡΡ ΠΈ ΡΠ΅ΠΌΡΡ ΡΡΠ°Π½ΡΡ Π²Π°Ρ ΠΏΡΠ΅Π·ΠΈΡΠ°ΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅Π±Π΅ΠΉΠ·Π° Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΠΎΡΡΡΡΡ, ΠΏΡΠΎΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π½ΠΈΠΌ.

ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. Π Π² ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΡΠΎ-ΡΠΎ Π΅ΡΡ Π·Π°Π»ΠΈΠ» Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ ΠΊΠΎΠΏΠΈΡ Π²Π΅ΡΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π½Π΅Π΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΄Π°. ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°ΠΏΡΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Git ΡΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΈ ΡΡΠΎ Π²Π°ΠΌ ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ git pull Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°. ΠΠ°ΠΊ Π΄ΠΎΠ±ΡΠΎΠΏΠΎΡΡΠ΄ΠΎΡΠ½ΡΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π²Ρ ΡΠ°ΠΊ ΠΈ ΠΏΠΎΡΡΡΠΏΠΈΡΠ΅ ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git pull Π² ΠΈΡΡΠΎΡΠΈΠΈ Π²Π°ΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ Π²ΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ: Β«Merge remote-tracking branch ‘origin/master’Β».
7. Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΆΠ°

8. ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ
ΠΡΠΎΡ ΡΠΎΠ²Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΠ»ΠΈ ΠΈΡ
, Π° ΠΏΠΎΡΠΎΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Β«ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠ°Β», Π½ΠΎ Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎΠ»ΡΡΡΠ΅.
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΡ Π½Π΅ Π·Π°ΠΏΡΡΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ Π²Π΅ΡΠΊΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ Π²ΠΎΡ:
9. Π’ΡΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² Git ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ
ΠΠ°ΠΊ Π²Ρ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΡΠ°ΠΉΠ» Π² Git ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΡΡΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ:
(ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΅ΡΡΡ Π΅ΡΡ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΡΡΠ°ΡΡΡ untracked β ΡΠ°ΠΉΠ» Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ β ΠΏΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π².).

ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git status Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠΆΠ΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π΄Π»Ρ ΠΈΡ
ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log.
ΠΡΡΡ Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
Π‘Π±ΡΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
Π‘Π±ΡΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π²Π΅ΡΡΠΈΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Git. ΠΡΠ΅Π³ΠΎ Π΅ΡΡΡ ΡΡΠΈ Π²ΠΈΠ΄Π° ΡΠ±ΡΠΎΡΠ°:
ΠΠΎΠ½Π°Π»Π°ΡΡ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΡΠ½ΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΠ½Π° Π²Π°ΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π΄Π»Ρ ΡΠ΅Π±Ρ Π²ΡΠ΄Π΅Π»ΠΈΠ» Π²ΠΎΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄:
ΠΡΠ³ΡΡΠ·ΠΊΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±ΠΈΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ»ΠΈ Π²Π΅ΡΠΎΠΊ: git checkout some-branch-name file-name.js ΠΈ git checkout <> file-name.js.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠ³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Β«Staged for commitΒ», ΠΈ ΡΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ ΠΈΡ
ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git reset HEAD file-name.js. ΠΠ»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±Π΅ΡΠΈΡΠ΅ git checkout file-name.js Π΅ΡΡ ΡΠ°Π·.
10. ΠΡΠ³ΠΊΠ°Ρ ΠΎΡΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π° ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΠ°ΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΏΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΏΠΎΠΊΠΎΠΏΠ°ΡΡΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ
ΠΈ Π½Π°ΠΉΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ.
ΠΠ±ΡΡΠ½ΡΠΉ git revert Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΡ ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΊΠ°ΡΠΈΠ»ΠΈ, Π·Π°ΠΏΡΠΎΡΠΈΠ² Ρ Π²Π°Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΎΡΠΊΠ°ΡΠ°. Π€Π»Π°Π³ «-n» Π³ΠΎΠ²ΠΎΡΠΈΡ Π³ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠΎΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°Π» ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½ΠΎΠ²ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π΅Π΄Ρ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π½ΠΈΡ
.
11. ΠΡΠΎΡΠΌΠΎΡΡ Π΄ΠΈΡΡΠΎΠ² Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π° Π½Π΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ Π·Π° ΡΠ°Π·) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠΎΡ Π»ΡΠ±ΠΈΠΌΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ β Meld. Π― Π²Π»ΡΠ±ΠΈΠ»ΡΡ Π² Π½Π΅Ρ Π΅ΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΡΠ½ Linux, ΠΈ Ρ ΡΠ΅Ρ
ΠΏΠΎΡ ΠΎΠ½Π° Π²ΡΠ΅Π³Π΄Π° ΡΠΎ ΠΌΠ½ΠΎΠΉ.
Π―, ΠΊΡΡΠ°ΡΠΈ, Π½Π΅ ΠΏΡΡΠ°ΡΡΡ ΠΏΡΠΎΠΏΠ°Π³Π°Π½Π΄ΠΈΡΠΎΠ²Π°ΡΡ Meld. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ Π»ΡΠ±ΠΈΠΌΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈ, Π²Π΅ΡΠΎΡΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΎΠ½Π° ΡΠΌΠ΅Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Git, ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ². ΠΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π·Π°ΠΌΠ΅Π½ΠΈΠ² Β«meldΒ» Π½Π° ΡΠ²ΠΎΡ Π»ΡΠ±ΠΈΠΌΡΡ ΡΡΠΈΠ»ΠΈΡΡ:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΡ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ β Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git difftool some-file.js Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.

12. ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ²
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΌΠ΅Π½ΡΡΡ ΠΎΡΡΡΡΠΏΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, ΡΠΎ Π²Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ, ΠΏΠΎ ΠΌΠ½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git blame, Π²Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½Ρ Π·Π° Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠΈΡ
ΡΠ°ΠΉΠ»Π°Ρ
.
Π ΡΡΠ°ΡΡΡΡ, Git Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΌΡΠ½, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΊ ΡΠ΅ΠΌΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ git diff, git blame ΠΈ Ρ.Π΄.) Ρ ΡΠ»Π°Π³ΠΎΠΌ «-w» ΠΈ Git Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ (ΠΏΡΠΎΠ±Π΅Π», ΡΠ°Π±ΡΠ»ΡΡΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅).
13. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
ΠΡΠΎ-ΡΠΎ ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Git ΡΠ²Π½ΠΎ Π½Π΅ΡΠ°Π²Π½ΠΎΠ΄ΡΡΠ΅Π½ ΠΊ ΡΠ»Π°Π³Ρ «-p«, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ½ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΡΠΊΠΈ ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ.
Π ΡΠ»ΡΡΠ°Π΅ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git add, ΡΡΠΎΡ ΡΠ»Π°Π³ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΡΠ±ΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ²ΠΎΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΡ
ΠΏΡΠΎΡΠ΅ Π±ΡΠ»ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ.

14. ΠΠΎΠΈΡΠΊ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡ
Π²Π΅ΡΠΎΠΊ
ΠΠ°ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΎΠ±ΡΠ°ΡΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π²Π΅ΡΠΎΠΊ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
ΠΎΡΡΠ°ΡΡΡΡ ΡΠ°ΠΌ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ Π²ΠΌΡΡΠΆΠ΅Π½Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ (master). ΠΡΠ»ΠΈ Π²Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠ°Π½Π°Ρ ΡΠΈΡΡΠΎΡΡ (ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Π²ΠΎ Π²ΡΡΠΌ, ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ΄Π°), ΠΊΠ°ΠΊ ΠΈ Ρ, Π²Π°Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
Π²Π΅ΡΠΎΠΊ.

ΠΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΎΡΡΠΈΡΡΡΡ ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΊΠΈ Π²ΡΠ΅Ρ
ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ
Π²Π΅ΡΠΎΠΊ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ Π² Π½ΠΈΡ
ΠΈ Π΄Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π·Π½Π°Ρ, Π½Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π»ΡΠ³ΠΊΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΌΡΡΠΆΠ΅Π½Π½ΡΡ
Π²Π΅ΡΠΎΠΊ. Π’Π°ΠΊ ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Π΄Π²Π° ΡΠΏΠΈΡΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠΈΡΠ°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡ.
15. ΠΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΡΠ»ΠΈ Π²Ρ Π΅ΡΡ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git stash, ΡΠΎ ΠΎΠ½Π° ΠΏΡΠΎΡΡΠΎ ΠΊΠ»Π°Π΄ΡΡ Π²ΡΠ΅ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ΅ΠΊ Git. ΠΠΎΡΠΎΠΌ Π²Ρ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ git stash pop ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°Π·Π°Π΄. ΠΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΎΡ
ΡΠ°Π½ΡΠ½Π½ΡΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Π² ΡΡΠ΅ΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git stash list, Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΏΡΠ°Π²ΠΊΡ: man git-stash.
Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git stash Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ: ΠΎΠ½Π° ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π° ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡΠ»ΠΎΠΆΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌΠΈ.
ΠΠΎΠΌΠ½ΠΈΡΠ΅ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ»ΡΡ «-p«? Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git stash ΠΎΠ½ ΡΠΎΠΆΠ΅ Π΅ΡΡΡ, ΠΈ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΆΠ΅, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Π΄ΠΎΠ³Π°Π΄Π°Π»ΠΈΡΡ, ΡΡΠΎΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Git ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π²Π°ΠΌ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ»ΠΎΠΆΠΈΡΡ.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π½Π°ΠΆΠ°ΡΡ «?«, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΎΠΏΡΠΈΠΉ.

ΠΡΡΡ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ»ΠΎΠΆΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ:
16. Π₯ΠΎΡΠΎΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ°ΡΡΡ Β«ΠΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΒ».
ΠΠ΄Π΅ΡΡ ΠΆΠ΅ Ρ Ρ
ΠΎΡΡ ΠΎΡΠΎΠ±ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ ΠΎΠ΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ: Ρ
ΠΎΡΠΎΡΠ΅Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Β«ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ << ΡΠ΅ΠΊΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ >>Β». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
17. ΠΠ²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Git
ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ubuntu), Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π»Ρ Git Π² ΡΠ΅Π»Π»Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ (Π° Π² Mac OS X ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ), Π²Ρ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
18. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π»ΠΈΠ°ΡΠΎΠ² Π΄Π»Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄
TL;DR: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°Π»ΠΈΠ°ΡΡ Git ΠΈΠ»ΠΈ bash Π΄Π»Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ Git.
ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Git ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. Π Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ²ΠΎΠΈΡΡΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ β ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π΄Π΅Π»Π°ΡΡ Π²ΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΎΠ±ΡΡΠΌΠ΅ (Π½Π°Π±ΠΈΡΠ°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ). ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π°Π»ΠΈΠ°ΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Git ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π°Π»ΠΈΠ°ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
19. ΠΡΡΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠ»ΠΎΡ
ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git bisect
ΠΠΎΠΌΠ°Π½Π΄Π° git bisect ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏ Β«ΡΠ°Π·Π΄Π΅Π»ΡΠΉ ΠΈ Π²Π»Π°ΡΡΠ²ΡΠΉΒ» Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠ»ΠΎΡ
ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ Π²Π΅ΡΠ½ΡΠ»ΠΈΡΡ ΠΈΠ· ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΏΡΡΠΊΠ°. ΠΡ Π·Π°Π±ΠΈΡΠ°Π΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ° ΡΠΈΡΠ°, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°ΠΌΡΠΌ ΠΎΡΠΏΡΡΠΊΠΎΠΌ, ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡ β ΡΠ°ΠΌ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ΄Π½Π°ΠΊΠΎ Π·Π° Π²ΡΠ΅ΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΎΡΠΏΡΡΠΊΠ° Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠΎΡΠ½ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ· Π½ΠΈΡ
ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΠΏΠ»ΠΎΡ
ΠΈΠΌ ΠΈ ΡΠ»ΠΎΠΌΠ°Π» Π²Π°ΡΡ ΡΠΈΡΡ.

ΠΠ°Π²Π΅ΡΠ½ΡΠΊΠ° Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΡΠ°ΡΡΡΡ Π½Π°ΠΉΡΠΈ Π±Π°Π³, ΠΏΠΎΠ»ΠΎΠΌΠ°Π²ΡΠΈΠΉ Π²Π°ΡΡ ΡΠΈΡΡ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git blame Π½Π° Π·Π»ΠΎΠΏΠΎΠ»ΡΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ²ΠΈΡΡ ΠΏΡΠ΅ΡΠ΅Π½Π·ΠΈΡ. ΠΠΎ Π΅ΡΠ»ΠΈ Π±Π°Π³ ΡΡΡΠ΄Π½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΈΠ·ΡΡΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅ ΠΎΡΡΡΠΊΠ°ΡΡ ΠΏΠ»ΠΎΡ
ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠΎΡ Π²ΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ³ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git bisect. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π½Π°ΠΉΡΠΈ ΠΏΠ»ΠΎΡ
ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠ΅ ΡΡΠΎΠΊΠΈ.
Π’Π°ΠΊ ΡΡΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ git bisect?
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ (Β«ΠΏΠ»ΠΎΡ
ΠΎΠΉΒ» ΠΊΠΎΠΌΠΌΠΈΡ) ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ (Β«Ρ
ΠΎΡΠΎΡΠΈΠΉΒ» ΠΊΠΎΠΌΠΌΠΈΡ), git bisect ΡΠ°Π·Π΄Π΅Π»ΠΈΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡ Π² Π½ΠΎΠ²ΡΡ (Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΡ) Π²Π΅ΡΠΊΡ Π½Π° ΡΡΠΎΠΌ ΡΡΠ΅Π΄ΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ Π² Π½ΡΠΌ Π²Π°ΡΠ° ΡΠΈΡΠ°.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π² ΡΡΠΎΠΌ Β«ΡΡΠ΅Π΄ΠΈΠ½Π½ΡΠΉΒ» ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π’ΠΎΠ³Π΄Π° Π²Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ Π³ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git bisect good ΠΈ Ρ Π²Π°Ρ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΎΠ³ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ, ΠΏΠΎΠ»ΠΎΠΌΠ°Π²ΡΠ΅Π³ΠΎ Π²ΡΡ.
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git ΡΠ°Π·Π΄Π΅Π»ΠΈΡ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡ Π² Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΡ Π²Π΅ΡΠΊΡ Π½Π° Π½ΠΎΠ²ΠΎΠΌ ΡΡΠ΅Π΄ΠΈΠ½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ² Π²Π°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΠΈ. Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ ΡΠΎΡ ΡΠ°ΠΌΡΠΉ Β«ΠΏΠ»ΠΎΡ
ΠΎΠΉΒ» ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠΌΡ, ΡΡΠΎ Π²Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π΄Π΅Π»ΠΈΡΠ΅ Π³ΡΡΠΏΠΏΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ, Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ log(n) ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ (ΡΠΌ. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°).
Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π²Π°ΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ git bisect:
ΠΠ°Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΠ°.

ΠΠ΅ΡΠ΅Π²ΡΠ» Dreadatour, ΡΠ΅ΠΊΡΡ ΡΠΈΡΠ°Π» %username%.
ΠΡΡΠΎΡΠ½ΠΈΠΊ
2.3 ΠΡΠ½ΠΎΠ²Ρ Git β ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Β« simplegit Β». Π§ΡΠΎΠ±Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄:
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²) git log ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΊ Ρ
ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ β ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π²Π²Π΅ΡΡ
Ρ. ΠΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π΄Π°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ ΠΈΡ
ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΡΠΌΠΌΠ°ΠΌΠΈ SHA-1, ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠΎΠΉ Π°Π²ΡΠΎΡΠ°, Π΄Π°ΡΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΠΎΠΌΠ°Π½Π΄Π° git log ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΡΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΈΠ· Π½ΠΈΡ
.
Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠ°.
ΠΠ°ΠΌ Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π°Π²ΡΠΎΡΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠΎΠΌ. ΠΠ²ΡΠΎΡ β ΡΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°Π²ΡΠΈΠΉ ΡΠ°Π±ΠΎΡΡ, Π° ΠΊΠΎΠΌΠΌΠΈΡΠ΅Ρ β ΡΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ» ΡΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΠΏΠ°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡ ΡΡΠΎΡ ΠΏΠ°ΡΡ, Π²Ρ ΠΎΠ±Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΠ°ΡΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ° β Π²Ρ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΡ, Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ»Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ΅Ρ. ΠΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π½ΠΈΡΡ Π² Π³Π»Π°Π²Π΅ Β«Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ GitΒ».
ΠΠ°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΌ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅, Π³Π΄Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅.
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ
ΠΎΠΏΡΠΈΠΉ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log β Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΈΡ
Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅. Π’Π°Π±Π»ΠΈΡΠ° 2, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ
, ΡΠ°ΠΊ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π½ΠΎΠ²ΡΡ
ΠΎΠΏΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π²ΡΠ²ΠΎΠ΄Π°.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Π°
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π ΡΠ°Π±Π»ΠΈΡΠ΅ 3 Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π² ΠΊΠ°ΠΊΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ
ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΡΡΠΎΠ²ΡΡ
ΡΠ°ΠΉΠ»Π°Ρ
Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Git Π² ΠΎΠΊΡΡΠ±ΡΠ΅ 2008 Π³ΠΎΠ΄Π°, Π°Π²ΡΠΎΡΠΎΠΌ ΠΊΠΎΡΠΎΡΡΡ
Π±ΡΠ» Junio Hamano, ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ· ΠΏΠΎΡΡΠΈ 40 000 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Git, ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ 6, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΡΠΈΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ.
ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°
ΠΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡ
|