ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ github
ΠΡΠ½ΠΎΠ²Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° ΡΠ°ΠΊ:
ΠΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ ΡΠ°ΠΉΡΠΎΠΌ.
ΠΡ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π²Π΅ΡΠΊΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅.
ΠΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅.
Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π° ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°, ΡΡΠ΅Π±ΡΡΡΠ°Ρ ΡΠΊΠΎΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ°ΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ.
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΈΡΡ Π²Π΅ΡΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ.
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π°Π·Π°Π΄ Π² ΡΡ Π²Π΅ΡΠΊΡ, Π³Π΄Π΅ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΡΠ°ΡΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠ½ΠΎΠ²Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΈ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΡΠΎ ΠΈ:
ΠΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ ΡΠ²ΠΎΠΈΠΌ ΡΠ°ΠΉΡΠΎΠΌ ΠΈ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²Π΅ΡΠΊΠ° iss53 Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ Π½Π° Π½Π΅Π΅ ΡΠ°Π½Π΅Π΅ ( HEAD ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π½Π΅Π΅).
ΠΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ β ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π»ΠΈΠ±ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠΈΠ΅ Ρ Π²Π΅ΡΠΊΠΎΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ, ΡΠΎ Git Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ Π²Π΅ΡΠΊΠΈ. ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΈΠ· ΡΠΈΡΡΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΠΎ (ΠΏΡΠΈΠΏΡΡΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (stash) ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (amend)), Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠΈΠΏΡΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΈΡΡΠΊΠ° Π³Π»Π°Π²Ρ 7. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π²ΡΠ΅ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π²Π΅ΡΠΊΡ master :
Π‘ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²Π°Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π²ΠΈΠ΄, ΠΊΠ°ΠΊΠΎΠΉ Π±ΡΠ» ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ #53, ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠΠ°ΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ: ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ Π²Π΅ΡΠΊΠΈ, Git Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΊ ΡΠΎΠΌΡ Π²ΠΈΠ΄Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ½ ΠΈΠΌΠ΅Π» Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΡΡΡ Π²Π΅ΡΠΊΡ. ΠΠ½ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ, ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π»ΠΎ ΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΠΌ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ³Π½Π°ΡΡ ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Π°ΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ. Π Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ β Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ hotfix Ρ Π²Π΅ΡΠΊΠΎΠΉ master Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠ΄ΡΠΊΡ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git merge :
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° Π²Π΅ΡΠΊΡ iss53 ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ #53:
ΠΡΠ½ΠΎΠ²Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ
ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ½ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠΊΠΈ Π²ΠΏΠ΅ΡΡΠ΄, Git ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΡΡΡ ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΡΠΎΡ ΠΎΡΠΎΠ±ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ Π½Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΊΠ°.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ»ΠΈΡΡ, Π²Π΅ΡΠΊΠ° iss53 Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Π°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΡΡΡΡ Π·Π°Π΄Π°ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π²Π΅ΡΠΊΡ:
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ
Git Π½Π΅ ΡΠΎΠ·Π΄Π°Π» ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ½ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ» ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ. Π§ΡΠΎΠ±Ρ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ git status :
ΠΡΡ, Π³Π΄Π΅ Π΅ΡΡΡ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π½Π΅ΡΠ»ΠΈΡΠΎΠ΅. Π ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Git Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΡ Π²ΡΡΡΠ½ΡΡ. Π Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠ°Π·Π΄Π΅Π», Π²ΡΠ³Π»ΡΠ΄ΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π³Π»Π°Π²Ρ 7.
ΠΡΠ»ΠΈ ΡΡΠΎ Π²Π°Ρ ΡΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΠΈ Π²Ρ ΡΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π³Π΄Π΅ Π±ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡ β Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git commit Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΈΡΠ°Π΅ΡΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠΉ β ΠΎΠΏΠΈΡΠΈΡΠ΅ ΠΊΠ°ΠΊ Π±ΡΠ»ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ Π±ΡΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ.
Git Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
. Π£ΡΠΎΠΊ 9.
Π‘Π»ΠΈΡΠ½ΠΈΡ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠ΄ΠΆΠΈ Π²Π΅ΡΠΎΠΊ
ΠΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ
ΠΠΎΠ½ΡΠΏΠ΅ΠΊΡ ΡΡΠΎΠΊΠ°
ΠΡΠ°ΡΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΊΠ°, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΡΠΎΠ²Π΅ΡΡ.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠ°Π·Π½ΡΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡΡ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΡΡΡΠ°.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠ΅ΡΠ΄ΠΆ ΠΈΠ»ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΠ΅ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ ΠΌΠ΅ΡΠ΄ΠΆ ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π² ΠΌΠ°ΡΡΠ΅Ρ ΠΈ ΠΌΠ΅ΡΠ΄ΠΆ ΠΌΠ°ΡΡΠ΅ΡΠ° Π² ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ.
ΠΠ΅ΡΠ΄ΠΆ Π²Π΅ΡΠΊΠΈ Π² ΠΌΠ°ΡΡΠ΅Ρ
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git merge. Π§ΡΠΎΠ±Ρ Π²ΠΌΠ΅ΡΠ΄ΠΆΠΈΡΡ Π²Π΅ΡΠΊΡ Π² ΠΌΠ°ΡΡΠ΅Ρ, Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΌΠ°ΡΡΠ΅Ρ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ git merge branch_name.
ΠΡΠΈ ΡΡΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ
ΠΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅
ΠΠΎΠΊΠ° ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π°Π΄ Π²Π΅ΡΠΊΠΎΠΉ, Π² ΠΌΠ°ΡΡΠ΅ΡΠ΅ Π½Π΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
Π’ΠΎ Π΅ΡΡΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π²Π΅ΡΠΊΡ, ΠΏΠΎΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π°Π΄ Π½Π΅ΠΉ, ΡΠΎΠ±ΡΠ°Π»ΠΈΡΡ Π·Π°Π»ΠΈΠ²Π°ΡΡ Π΅Π΅ Π² ΠΌΠ°ΡΡΠ΅Ρ, Π° Π·Π° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ°ΠΌ Π½Π΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ. Π’ΠΎΠ³Π΄Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΊ
Git ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΠΏΠΎΠ²Π΅ΡΡ ΡΡΠ°ΡΠΎΠ³ΠΎ. ΠΡΠΎ ΠΏΡΠΎΡΡΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈ git Π½Π΅ Π·Π°Π΄Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ².
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΡΠ°Π·Ρ Π·Π°ΠΏΡΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΈΡ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ, ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ header, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Π°.
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΡΡΠ³Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ.
ΠΠΎΠΊΠ° ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π°Π΄ Π²Π΅ΡΠΊΠΎΠΉ, Π² ΠΌΠ°ΡΡΠ΅ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΎΡ ΠΊΠΎΠ»Π»Π΅Π³
Π‘Π½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π½Π° ΠΌΠ°ΡΡΠ΅Ρ
ΠΠΎΡΠ΅ΠΌΡ «is up-to-date»? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ Π΅ΡΠ΅ Π½Π΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ git pull. ΠΠ΅Π»Π°Π΅ΠΌ
ΠΠ΅ΡΠ΄ΠΆΠΈΠΌ ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ Π² ΠΌΠ°ΡΡΠ΅Ρ
Π Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ Π·Π°ΠΏΡΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
Π§ΡΠΎ Π΅ΡΠ»ΠΈ ΡΠ½Π°ΡΠ°Π»Π° Π½Π΅ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡ ΠΌΠ°ΡΡΠ΅Ρ, Π° ΡΠΌΠ΅ΡΠ΄ΠΆΠΈΡΡ ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ
ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ, Π½ΠΎ Π»ΡΡΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ΄Π΅Π»Π°ΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΡ ΠΌΠ°ΡΡΠ΅Ρ, Π° ΡΠΆΠ΅ ΠΏΠΎΡΠΎΠΌ Π·Π°Π»ΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π Π΅ΡΠ΅ Π»ΡΡΡΠ΅ Π΄Π΅ΡΠΆΠ°ΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ°ΡΡΠ΅ΡΠ°. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΡΠ°ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡ ΠΌΠ°ΡΡΠ΅Ρ Π² ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ Π² ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Ρ Π½Π°Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠΈΡΠΊΠ° ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠ»ΠΎΠΌΠ°ΡΡ. Π Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΠΎΠΌΠ°Π΅ΠΌ, ΡΠΎ Π»ΡΡΡΠ΅ ΡΠΈΠ½ΠΈΡΡ ΡΡΠΎ Π² ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅, Π° Π½Π΅ Π² ΠΌΠ°ΡΡΠ΅ΡΠ΅.
ΠΠ°ΠΊ Π²ΠΌΠ΅ΡΠ΄ΠΆΠΈΡΡ ΠΌΠ°ΡΡΠ΅Ρ Π² ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ
Π‘Π½Π°ΡΠ°Π»Π° ΠΈΠ΄Π΅ΠΌ Π² ΠΌΠ°ΡΡΠ΅Ρ, ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠΎ Π΅ΡΡΡ Π΄Π΅Π»Π°Π΅ΠΌ git pull. ΠΠ°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π² ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ git merge master
ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΠΎΠΌΠ°Π»ΠΎΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ΅ΡΠ΄ΠΆ ΠΊΠΎΠΌΠΌΠΈΡΡ
Π§Π΅ΠΌ ΡΠ°ΡΠ΅ ΠΌΠ΅ΡΠ΄ΠΆΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΌΠ΅ΡΠ΄ΠΆ-ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π΅ΠΌ ΠΌΠ°ΡΡΠ΅Ρ Π² ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ ΠΈΠ»ΠΈ ΡΠ»ΠΈΠ²Π°Π΅ΠΌ ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ Π² ΠΌΠ°ΡΡΠ΅Ρ. ΠΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π΅ Ρ ΡΠ°Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΎΠ½ΠΈ Ρ ΡΠ°Π½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΡ ΠΌΠ΅ΡΠ΄ΠΆΠ° ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ Π½Π°ΠΉΠ΄Π΅ΠΌ ΠΌΠ΅ΡΠ΄ΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ Ρ Ρ ΡΡΠ΅ΠΌ 051f754
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅
Π’ΠΎ Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΌΠ°ΡΡΠ΅Ρ Π±ΡΠ»Π° Π·Π°Π»ΠΈΡΠ° Π²Π΅ΡΠΊΠ° news. Π‘Π°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ Π² Π²Π΅ΡΠΊΠ΅ news, Π»Π΅ΠΆΠ°Ρ Π² Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ .
Π‘ΠΏΠΎΡΡ ΠΎ ΡΠΎΠΌ, Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·Π° ΠΎΡ ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π²Π΅Π΄ΡΡΡΡ Π³ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠ°ΡΡΡ, Π²ΠΈΠ΄ΠΈΠΌΠΎ, Π½ΠΈΠΊΠΎΠ³Π΄Π°.
ΠΠ΅ΡΠ΄ΠΆΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ ΡΠ°ΠΊ Π³Π»Π°Π΄ΠΊΠΎ?
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ ΡΠΏΡΠΎΡΠ°Π»ΠΈ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΡΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π΄ΡΡΠ³ΠΈΡ ΡΡΠ°ΡΡΠΊΠ°Ρ ΠΊΠΎΠ΄Π°. Π’ΠΎ Π΅ΡΡΡ ΠΌΡ Ρ Π½ΠΈΠΌΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π»ΠΈΡΡ. Π ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΡΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°. ΠΠ½ΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠ°Π²ΠΈΠΌ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΡΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΠΈ git Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΠ΅ΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°Ρ ΠΈ ΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅.
Π’ΠΎΠ½ΠΊΠΎΡΡΠΈ Π±Π»Π°Π³ΠΎΠΏΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ git-merge
ΠΡΡΡΠΏΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ
ΠΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π»Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ Π² Git ΡΠ²Π»ΡΡΡΡΡ git-branch, git-checkout, git-rebase, git-log ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, git-merge. ΠΠ»Ρ ΡΠ΅Π±Ρ Ρ ΡΡΠΈΡΠ°Ρ git-merge Π·ΠΎΠ½ΠΎΠΉ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅ΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ, ΡΠΎΡΠΊΠΎΠΉ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ½Π΅ΡΠ³ΠΈΠΈ ΠΈ Π±ΠΎΠ»ΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. ΠΠΎ ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΈ Π΄Π°ΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Git ΠΏΠΎΡΠΎΠΉ Π±ΡΠ²Π°Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΌ Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π΅Π΅ ΡΠΎΠ½ΠΊΠΎΡΡΠ΅ΠΉ ΠΈ ΡΠΌΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΅Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΎΠ½ΠΊΠΎΡΡΡΡ git-merge ΠΈ ΠΏΡΠΈΡΡΡΠΈΡΡ ΡΡΡ Π²Π΅Π»ΠΈΠΊΡΡ ΠΌΠ°Π³ΠΈΡ.
ΠΠ΄Π΅ΡΡ Ρ Ρ ΠΎΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΡΡΠ°ΠΉ Π±Π»Π°Π³ΠΎΠΏΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΌ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π±Π΅Π· ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ². ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² β ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°, Π΄ΠΎΡΡΠΎΠΉΠ½Π°Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ. Π― ΠΎΡΠ΅Π½Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΡΠΎ ΡΡΠ°ΡΡΠ΅ΠΉ ΠΠ½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Git: Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ merge, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΠΏΠΈΡΠ°ΡΡΡ.
ΠΠ½Π°ΡΠΎΠΌΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΡΠ»ΠΈ Π²Π΅ΡΠΈΡΡ ΠΌΠ°Π½ΡΠ°Π»Ρ, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΠΎ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΡΠ΅ΡΡ, Π² Git Π΅ΡΡΡ Π΄Π²Π° Π²ΠΈΠ΄Π° ΡΠ»ΠΈΡΠ½ΠΈΡ: ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° (fast-forward merge) ΠΈ Β«ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅Β» ΡΠ»ΠΈΡΠ½ΠΈΠ΅ (true merge). Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°Π΅Π².
Β«ΠΡΡΠΈΠ½Π½ΠΎΠ΅Β» ΡΠ»ΠΈΡΠ½ΠΈΠ΅ (true merge)
ΠΡ ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ΅ΠΌΡΡ ΠΎΡ Π²Π΅ΡΠΊΠΈ master, ΡΡΠΎΠ±Ρ Π²Π½Π΅ΡΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π°Π³ΠΎΠ² ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ. ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ Π½Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ:
ΠΡΠΏΠΎΠ»Π½ΠΈΠΌ Π½Π° Π²Π΅ΡΠΊΠ΅ master git merge feature :
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠΎΠ·Π΄Π°Π» ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ:
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ (M):
ΠΡ Π²ΠΈΠ΄ΠΈΠΌ Π΄Π²ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ, ΠΎΠ±ΡΠ΅ΠΊΡ-Π΄Π΅ΡΠ΅Π²ΠΎ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΡΠΎ Π²ΠΈΠ½ΠΎΠ²Π΅Π½ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΡΠ΄Π° ΡΡΡΠ»Π°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ master:
ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ½ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ½ΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ (M).
Squash ΠΈ no-commit
Π ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²Π΅ΡΠΊΠΈ feature Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² Π½Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ, Π½ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ Sq Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΠ΅ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
ΠΠΎΠ·ΠΆΠ΅, Π² ΡΠ»ΡΡΠ°Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Β«ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎΒ» git merge feature ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ. Π’ΠΎΠ³Π΄Π° ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
ΠΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° (fast-forward merge)
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²:
ΠΡΠ΅ ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡΠΎΡΠ»ΡΠΉ ΡΠ°Π·, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π² Π²Π΅ΡΠΊΠ΅ master Π½Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ fast-forward (ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ°). Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (Π²Π΅ΡΠΊΠ°) master ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ Y, ΡΡΠ΄Π° ΠΆΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈ Π²Π΅ΡΠΊΠ° feature:
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ resolve
ΠΠ΄Π΅ΡΡ C β ΠΎΠ±ΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π²ΡΡ Π²Π΅ΡΠΎΠΊ, Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Π·Π° ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΠΊΠ°. ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π² Π²Π΅ΡΠΊΠ°Ρ master ΠΈ feature ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° (M) ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ Π΄Π΅ΡΠ΅Π²Π° ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠ½ΠΊΡΠ°ΠΌΠΈ 4 ΠΈ 5 Π½Π°ΡΠ΅Π³ΠΎ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ recursive
ΠΠ»Ρ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ ΡΡΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΠΎΠ·Π°ΠΈΠΌΡΡΠ²ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ· ΡΡΠ°ΡΡΠΈ Merge recursive strategy ΠΈΠ· Π±Π»ΠΎΠ³Π° Β«The plasticscm blogΒ»:
ΠΡΠ°ΠΊ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ Π²Π΅ΡΠΊΠΈ: main ΠΈ task001. Π ΡΠ°ΠΊ Π²ΡΡΠ»ΠΎ, ΡΡΠΎ Π½Π°ΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π·Π½Π°ΡΡ ΡΠΎΠ»ΠΊ Π² ΠΈΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡΡ : ΠΎΠ½ΠΈ ΡΠ»ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ 15 ΠΈΠ· Π²Π΅ΡΠΊΠΈ main Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ 12 ΠΈΠ· Π²Π΅ΡΠΊΠΈ task001, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ 16 Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ 11. ΠΠΎΠ³Π΄Π° Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡ ΡΠ»ΠΈΡΡ Π²Π΅ΡΠΊΠΈ, ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΠΏΠΎΠΈΡΠΊ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΠΊΠ° β Π΄Π΅Π»ΠΎ Π½Π΅Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΠ΅, Π½ΠΎ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ recursive Ρ Π΅Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Β«Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎΒ» ΠΏΡΠ΅Π΄ΠΊΠ° Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ:
]
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ Ρ ΡΡΠΎΠΉ ΠΎΠΏΡΠΈΠ΅ΠΉ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ subtree, Π³Π΄Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Π΄Π΅ΡΠ΅Π²ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡΡΡ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ.
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ octopus
ΠΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π΄Π²ΡΡ Π²Π΅ΡΠΎΠΊ. ΠΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠΉΡΡ Π² ΠΈΡΠΎΠ³Π΅ ΠΊΠΎΠΌΠΌΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π±ΠΎΠ»ΡΡΠ΅ Π΄Π²ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ.
ΠΠ°Π½Π½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π±ΠΎΠ»ΡΡΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ². Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ ΠΏΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠΊΠ°Π· Π² ΡΠ»ΠΈΡΠ½ΠΈΠΈ ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ octopus.
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ ours
ΠΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΡΠ°ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ours ΠΈ ΠΎΠΏΡΠΈΡ ours ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ recursive.
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ ours β Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π΄ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ.
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ subtree
ΠΠ»Ρ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ· Π³Π»Π°Π²Ρ Π‘Π»ΠΈΡΠ½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠ΅Π²ΡΠ΅Π² ΠΊΠ½ΠΈΠ³ΠΈ Β«Pro GitΒ».
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, rack:
Π―ΡΠ½ΠΎ, ΡΡΠΎ Π²Π΅ΡΠΊΠΈ master ΠΈ rack_branch ΠΈΠΌΠ΅ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ. ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· rack_branch Π² master Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ squash, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π·Π°ΡΠΎΡΠ΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ Π½Π΅Π½ΡΠΆΠ½ΡΠΌΠΈ Π½Π°ΠΌ ΡΠ°ΠΊΡΠ°ΠΌΠΈ:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° rack Ρ Π½Π°Ρ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅.
ΠΠ°ΠΉΠ΄ ΠΏΠΎ Git : Π§Π°ΡΡΡ 2 : ΠΠ΅ΡΠΊΠΈ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌΡΡ Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ Π²Π΅ΡΠΎΠΊ Π² git. ΠΠ°ΠΊ ΡΠΌΠ΅ΡΠΆΠΈΡΡ ΠΎΠ΄Π½Ρ Π²Π΅ΡΠΊΡ Π² Π΄ΡΡΠ³ΡΡ, ΠΈ ΡΠ΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Merge ΠΎΡ Rebase.
ΠΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ (Π‘ΠΠ) Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠΎΡΠΌΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅, Π²Ρ ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ΅ΡΠ΅ΡΡ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π½Π΅Ρ, Π½Π΅ Π²ΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π»ΠΈΠ½ΠΈΡ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π‘ΠΠ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ β ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π·Π°ΡΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ΅ΡΠΊΠΈ Π² Git, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½Ρ. ΠΠ΅ΡΠΊΠ° Π² Git β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π½Π°ΡΡ Git ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΠΌΠ°Π½ΡΡΡ:
Π΄Π΅Π»Π°ΠΉ Π²Π΅ΡΠΊΠΈ ΡΡΠ°Π·Ρ, Π΄Π΅Π»Π°ΠΉ Π²Π΅ΡΠΊΠΈ ΡΠ°ΡΡΠΎ
ΠΠΎΠΌΠ°Π½Π΄Π° git branch ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π΅ΡΠΊΠΈ, Π½ΠΎ ΠΈ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅. ΠΠ΅ΡΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΎΠΉ.
Π‘ΠΎΠΎΠ±ΡΠΈΠΌ Git, ΡΡΠΎ Ρ ΠΎΡΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΠΊΡ:
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΡ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ Π²Π΅ΡΠΊΠ°ΠΌΠΈ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠΌΡΡ Π½Π° Π²Π΅ΡΠΊΡ main ΠΈ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ°ΠΌ.
ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ Π²ΠΎΡ ΡΠΎΠ²Π΅Ρ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π½Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Merge
ΠΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π΅ΡΠΊΠΈ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ Π½Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π’Π΅ΠΏΠ΅ΡΡ Π½Π°Π΄ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΠΎΠΊ, ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΠ²ΠΎΡ Π·Π°Π΄Π°ΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅.
Π‘Π»ΠΈΡΠ½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠΎΠ±ΡΠΉ Π²ΠΈΠ΄ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ°Π·Ρ Π΄Π²ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ. ΠΠΎΠΌΠΌΠΈΡ Ρ Π΄Π²ΡΠΌΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΈ Π²ΡΠ΅ΠΌΠΈ ΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ.
ΠΡΠ°ΡΠΈΠΌ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π²Π΅ΡΠΊΠΈ newImage Π² Π²Π΅ΡΠΊΡ main :
Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ log, ΡΠ±Π΅Π΄ΠΈΠΌΡΡ ΡΡΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ:
Rebase
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ Π·Π²ΡΡΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ rebase Π² ΡΠΎΠΌ, ΡΡΠΎ c Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠΈΡΡΡΠ΅ ΠΈ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΠΈΡΠ΅, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΠ΅ rebase.
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
Git Π΄ΠΎΠΏΠΈΡΠ°Π» ΠΊΠΎΠΏΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° C7 Π·Π° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ C6 ΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅Ρ ΡΡΠ΄Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ
Π£Π΄Π°Π»ΠΈΠΌ Π²Π΅ΡΠΊΡ bugFix ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ log:
ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ Π²ΠΎΡ Π²Π°ΠΌ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ ΠΎΡΠ»ΠΈΡΠΈΡ Merge ΠΎΡ Rebase:
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Merge ΠΈ Rebase
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π² Git ΠΈ ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ. Π ΠΈΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΡΡΡΠ΅ΠΌΡΡΡΡ Π²Π»ΠΈΡΡΡΡ Π² ΠΎΠ΄Π½Ρ.
ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Git Merge ΠΈ Git Rebase: Π·Π°ΡΠ΅ΠΌ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
Π§Π°ΡΡΠΎ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΡΠ±ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ Merge (ΡΠ»ΠΈΡΠ½ΠΈΠ΅) ΠΈ Rebase (ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅). Π ΠΡΠ³Π»Π΅ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ°Π·Π½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΎΠ²Π΅ΡΡΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Rebase, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π ΡΡΠ°ΡΡΠ΅ Ρ ΠΎΠ±ΡΡΡΠ½Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΠ΅ΠΌΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ (ΠΈΠ»ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
Git Merge ΠΈ Git Rebase ΠΏΡΠ΅ΡΠ»Π΅Π΄ΡΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΠ΅Π»Ρ. ΠΠ½ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ. Π₯ΠΎΡΡ ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠ΅Π»Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°Ρ, ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΡ ΡΠ°Π·Π½ΡΠ΅.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Rebase, Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Merge. Π ΡΡΠΎΠΌ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ.
Git Merge
Π‘Π»ΠΈΡΠ½ΠΈΠ΅ β ΠΎΠ±ΡΡΠ½Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ
ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠΎΠ·Π΄Π°Π½Ρ Π»ΠΈ Π²Π΅ΡΠΊΠΈ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅. Π‘Π»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²Π΅ΡΠΊΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΈΡ
Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ. Π ΡΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅Π²Π°Ρ Π²Π΅ΡΠΊΠ°. ΠΡΡΠΎΡΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ
Π²Π΅ΡΠΎΠΊ ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΠ»ΡΡΡ:
Π‘Π»Π΅ΠΉΡΠ΅ Π²Π΅ΡΠΊΡ master Π² Π²Π΅ΡΠΊΡ feature, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ checkout ΠΈ merge.
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Β«Merge commitΒ» Π² Π²Π΅ΡΠΊΠ΅ feature, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΡΡΠΎΡΠΈΡ ΠΎΠ±Π΅ΠΈΡ Π²Π΅ΡΠΎΠΊ.
Git Rebase
Rebase β Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ. Rebase ΡΠΆΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½ Β«ΠΏΠ°ΡΡΒ». ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅Ρ ΠΏΠ°ΡΡ Π² ΡΠ΅Π»Π΅Π²ΡΡ Π²Π΅ΡΠΊΡ.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ.
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ Π²Π΅ΡΠΊΡ feature Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ Π²ΡΡ Π²Π΅ΡΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠΊΡ. ΠΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅.
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΡΠΈ ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ. ΠΡΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΠΈΡΡΠΎΡΠΈΠΈ Π΄ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ Π²Π΅ΡΠΊΠΈ feature Π² master.
ΠΡΠΎ ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠ² Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Ρ.
ΠΡΠΎ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π²Π΅ΡΠΊΠ° ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. Π£ΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ Π·Π°Ρ ΠΎΡΠΈΡΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ fixup, squash, edit, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ?
Π’Π°ΠΊ ΡΡΠΎ ΠΆΠ΅ Π»ΡΡΡΠ΅? Π§ΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡ ΡΠΊΡΠΏΠ΅ΡΡΡ?
Π’ΡΡΠ΄Π½ΠΎ ΠΏΡΠΈΠ½ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·Π½ΡΠ΅. ΠΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΉ Π²Π½ΡΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡΠΈΠ½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Git. ΠΠ»Ρ Π²Π°Ρ Π²Π°ΠΆΠ½Π° ΠΏΡΠΎΡΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ, Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠ΅?
ΠΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅. Π§ΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΡΡΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠ°Π·ΡΠΌΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Rebase.