Π² ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π»ΠΈΠ·Π½ΡΠΌ ΠΈ Π΄Π΅Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ
Π‘ΡΠ΅Π΄Ρ, ΠΊΠΎΠ΄ ΠΈ ΡΠ΅Π»ΠΈΠ·Ρ
ΠΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π΄ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π²Π·Π°ΠΈΠΌΠ½ΠΎΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΡΠ΅Π΄ ΠΈ Π²Π΅ΡΠ²Π΅ΠΉ ΠΊΠΎΠ΄Π°, ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ Π²ΡΠΏΡΡΠΊΠ°.
ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π΄
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ [dev] β ΡΠ° ΡΡΠ΅Π΄Π° (Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΉΡ, ΠΠ ΠΈ Ρ.Π΄.), Π³Π΄Π΅ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π΅ΠΌ ΡΠ²Π΅ΠΆΠΈΠΉ ΠΊΠΎΠ΄ ΠΈ ΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ.
ΠΠ΅ΠΌΠΎ [demo] β ΡΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ. ΠΠΎΠΊΠ° ΡΠ°Π·Π²ΡΡΠ½ΡΡΡΠΉ Π·Π΄Π΅ΡΡ ΠΏΠΎΠ»ΡΠ³ΠΎΡΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΆΠ΄ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ°, Π½Π° [dev] ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ ΡΠ»ΠΎΠΌΠ°ΡΡ, ΡΠ°Π±ΠΎΡΠ°Ρ Π΄Π°Π»ΡΡΠ΅.
Π’Π΅ΡΡΠΎΠ²Π°Ρ [test] β ΡΡΡ ΡΠ΅ΡΡΠΈΡΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ. Π‘ΡΠ΅Π΄Π° Π½Π°ΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠ΅ΡΡΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΡΡΠ°ΠΆΠ°ΡΡ ΡΠ΅Π΄ΠΊΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ (Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π΄Π΅) ΡΠ»ΡΡΠ°ΠΈ ΠΈΠ»ΠΈ Π±ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΊΠ° ΡΡΡ ΠΈΠ΄ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π³ΠΎΡΠΎΠ²ΠΈΡΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½, Π½Π° [dev] ΡΠΆΠ΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°.
ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ [stage], ΠΎΠ½Π° ΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½ β ΡΡΡ ΡΠ΅ΡΡΠΈΡΡΠ΅ΡΡΡ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅. Π‘ΡΠ΄Π° ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π±ΡΠΊΠ°ΠΏ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ· ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π°, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡΠΈΡ.
ΠΡΠΎΠ΄Π°ΠΊΡΠ΅Π½ [prod] β ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ.
Π‘Π²ΡΠ·Ρ Ρ ΠΊΠΎΠ΄ΠΎΠΌ
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ΄ ΠΈΠ΄ΡΡ Π² ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ (Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ). ΠΡΠΈ ΡΡΠΎΠΌ, ΡΠ°ΠΌ ΠΊΠΎΠ΄ Π²Π΅Π΄ΡΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² ΡΡΠ΅Π΄Π΅.
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ, ΠΊΠΎΠ΄, ΠΏΠΎΠΏΠ°Π΄Π°ΡΡΠΈΠΉ Π² Π²Π΅ΡΠ²Ρ /dev, Π²ΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΡΠ΅Π΄Ρ [dev], Π³Π΄Π΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊ Π½Π΅ΠΌΡ. ΠΠ°ΡΠ΅ΠΌ, ΠΊΠΎΠ΄ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎ ΡΠ°ΡΡΡΠΌ) ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡΡΡ Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ΅Π΄Ρ.
ΠΡΡΡ ΠΊΠΎΠ΄Π°
Π’ΠΎ, ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² /main ΠΏΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ β /dev.
ΠΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
[dev] β ΡΠΊΡΠΏΠΎΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ ΠΊΠΎΠ΄Π°.
ΠΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π³Π»Π°Π΄ΠΊΠΈΠΉ Π²ΡΠΏΡΡΠΊ.
ΠΠ²ΡΡΡΠΎΡΠΎΠ½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ
ΠΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ°ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ΄Π° (Π½Π΅Π»ΡΠ·Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΠΊΠ°ΡΠΈΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-Π»ΠΈΠ±ΠΎ ΡΠ±ΠΎΡΠΊΠ°), Π½ΠΎ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (ΡΡΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΠΈΡΠ°Π΅ΡΡΡ Π½Π° ΡΡΡΡΠΊΡΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠΎΠΌ, Π»ΠΈΠ±ΠΎ Π½Π° ΡΠ±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠΎΠΌ).
Π’ΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΡΡ ΡΠ΅Π»ΠΈΠ·Π° ΡΠ°ΠΊΠΈΠΌ ΡΡΡΠ΄Π½ΡΠΌ ΠΈΠ»ΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ β ΠΎΡΠΈΠ±ΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΡ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ ΠΈΠ· ΠΏΠΎΠ±ΡΠΆΠ΄Π΅Π½ΠΈΠΉ Β«ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΒ», Π·Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π² Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎ-ΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΈΠ»ΠΈ Β«ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΡΡΡΡΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΒ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ.
ΠΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π² ΠΏΠΎΠΊΡΠΏΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΠ΅ΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅ΡΠ΅ΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ELMA-BPM Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ, Π° Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ»Π°Π³ΠΈΠ½ ΠΊ Visual Studio. ΠΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎ-ΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΡΠΏΠΎΡΠΎΠ±, ΠΈΠ½Π°ΡΠ΅ ΠΏΠΎΠΏΠ°Π΄ΡΡΠ΅ Π½Π° ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ.
ΠΠΎΠ³ΠΈΠΊΠ° Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΠΠ΅ΡΠ΅ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°ΡΡ ΠΊΠΎΠ΄.
ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ, Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π³Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΠΊΠΈ Π² Π±Π°Π·Π΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ ΠΠ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΈΠΌ Π½ΡΠΆΠ½Π° ΠΎΠ±ΡΠ°Ρ ΠΠ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ: Π°) ΡΠ°ΠΌ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π·Π²ΡΡΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ ΠΈ Π±) ΡΠ°ΠΌ Π³ΠΎΡΠΎΠ²Ρ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ·-Π·Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² ΠΎΠ±ΡΠ΅ΠΉ Π±Π°Π·Π΅ (ΡΠΈΡΠ°ΠΉ Β«ΡΡΠ΅Π΄Π΅Β»), Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠ΅ΡΡΠ΅ΡΡΡ ΡΠΌΡΡΠ» Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π ΠΈΡΠΎΠ³Π΅, ΠΎΡ /dev Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΡΡ Π²Π΅ΡΠ²ΠΈ ΡΠΈΡ, ΡΡΠΎ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»ΡΡΡ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΠ΅Π»ΠΈΠ·Ρ Π½Π΅Π·Π°Π²ΠΈΡΡΡΠΈΠΌΠΈ ΠΎΡ Π½ΠΈΡ .
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΈΠ· ΡΡΠ΅Π΄Ρ Π² ΡΡΠ΅Π΄Ρ (ΠΈΠ±ΠΎ ΡΡΠΎ ΠΈΠ· Π±Π°Π·Ρ Π² Π±Π°Π·Ρ) ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ΅Π΄ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΡΡΠ°ΡΡΡΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ, Π½Π΅ Π²ΡΡ ΠΎΠ΄Ρ Π·Π° [dev] β [stage] β [prod] (Π° ΡΠΎ ΠΈ [dev] β [prod]). Π’Π΅ΡΡΠΈΡΡΡΡ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΡΡΠΌΠΎ Π½Π° [dev].
ΠΠΎΠ³ΠΈΠΊΠ° Π² ΠΠ ΡΠ΅Π³ΠΎΠ΄Π½Ρ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ (ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ), ΠΊΠΎΡΠΎΡΡΡ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΠΌΠ°Π»ΠΎ ΠΊΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΡ (Ρ ΠΎΡΡ ΡΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈ ΡΠ°ΠΊΠΎΠ΅). Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° Π²ΡΠΏΡΡΠΊΠ°.
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ
ΠΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ git?
ΡΡΠ΅Π½Π°ΡΠΈΠΉ: Π£ Π½Π°Ρ Π΅ΡΡΡ repo_a ΠΈ repo_b. ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΊΠ°ΠΊ ΠΊΠΎΠΏΠΈΡ repo_a. ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ Π±ΡΠ»Π° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΡΡΡ Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΡΠΈΡ Π΄Π²ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²?
8 ΠΎΡΠ²Π΅ΡΠΎΠ²:
ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» ΡΠ΄Π΅Π»Π°ΡΡ:
ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π΄Π²ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² git, ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠΈΡΡΠ½ΠΎΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅:
ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΈΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ.
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠ΅ Π ΠΠΠ ΡΠ½Π°ΡΠ°Π»Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ»ΡΡΠ° Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π ΠΠΠ:
Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ½Π΅ΡΠΈΡΠ΅ brach Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ»ΡΡΠ° Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΡ Π²Π΅ΡΠ²Ρ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠ²Ρ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌ Π ΠΠΠ, ΡΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΡΡ Π²Π΅ΡΠ²Ρ Ρ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π²Π°ΡΠΈΡ Π²Π΅ΡΠ²Π΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠ²Ρ Ρ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ (branch_name):
ΡΠΌ.http://git.or.cz/gitwiki/GitTips, ΡΠ°Π·Π΄Π΅Π» » ΠΊΠ°ΠΊ ΡΡΠ°Π²Π½ΠΈΡΡ Π΄Π²Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ «Π² ΡΠ°Π·Π΄Π΅Π»Π΅»ΠΠ±ΡΠΈΠ΅».
ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ (ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π²Ρ Π² repo_a’):
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ PyCharm, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΡΡ ΠΏΠ°ΠΏΠΊΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΈ ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° Π½Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΡΡΡ. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΡΠΎΠΊ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΠΏΠ°ΠΏΠΊΠ΅ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Π΅ ΠΈ Compare to. ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ / ΡΠ°ΠΉΠ» Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅.
ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, Π½ΠΎ ΠΈ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅. ΠΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΎΠ±Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ linux diff Ρ Π΄Π²ΡΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
11 ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ git, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΡΠ°Π²ΡΡ Π²Π°Ρ ΠΏΠ»Π°ΠΊΠ°ΡΡ
Π ΡΠ°ΠΌΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Π½ΡΠΆΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π·Π½Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ git, ΠΎΡΠ²Π΅ΡΠΈΠ² Π½Π° 11 ΠΊΠ°Π²Π΅ΡΠ·Π½ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ².
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΎΠΏΡΠΎΡΡ Π½Π° Stack Overflow ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ 70% ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ git Π΄Π»Ρ ΠΠ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ². ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΡΠΎΠΉ VCS Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΡΠ΅Π½ΠΈΡΡ.
ΠΠΎΠΏΡΠΎΡ 1. Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ fork, branch ΠΈ clone?
ΠΠΎΠΏΡΠΎΡ 2. Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ pull request ΠΈ branch?
ΠΠΎΠΏΡΠΎΡ 3. ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΡΠ°Π·Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ git pull ΠΈ git fetch?
ΠΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, git pull = git fetch + git merge.
ΠΠΎΠΏΡΠΎΡ 4. ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ?
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π²Π°Ρ ΡΠ»ΠΎΠΆΠΈΠ»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² C, Π° (F) β ΡΡΠΎ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΠΊΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΡΡΠΏΠΏΡ ΠΊΠΎΠΌΠ°Π½Π΄ git reset Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ»Π°Π³Π°ΠΌΠΈ.
β’ Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
β’ Π§ΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² Π½Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅
Π’Π°ΠΊ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ³Π°Π΅ΠΌ HEAD Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π°Π·Π°Π΄ (Π½Π° B), Π½ΠΎ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Ρ Π² ΡΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ. git status ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ C.
β’ Π§ΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
ΠΡΠ·ΠΎΠ²ΠΈΡΠ΅ git status ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ git Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΡΠΎ ΠΈ ΡΠ°Π½ΡΡΠ΅.
ΠΠΎΠΏΡΠΎΡ 5. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ git cherry-pick?
ΠΠΎΠΌΠ°Π½Π΄Π° git cherry-pick ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠ΅, ΠΎΠ±ΡΡΠ½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ. ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ git merge ΠΈ git rebase, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ΅Π»ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΡΠΊΠ°ΠΌΠΈ.
ΠΠΎΠΏΡΠΎΡ 6. Π Π°ΡΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°Ρ forking workflow.
Π Π°Π±ΠΎΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΊΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ, Π·Π΄Π΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ open source ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ forking workflow Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π½ΠΎΡΡΡΡΡ Π±Π΅Π· Π·Π°Π³ΡΡΠ·Π½Π΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄Π΅Π»Π°ΡΡ push Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π° Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΌΡ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°.
ΠΠΎΠ³Π΄Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄Π΅Π»Π°Π΅Ρ pull-Π·Π°ΠΏΡΠΎΡ Π² Π³Π»Π°Π²Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π° ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΎΠ΄ΠΎΠ±ΡΡΠ΅Ρ ΠΈ Π²Π½ΠΎΡΠΈΡ Π΅Π³ΠΎ.
ΠΠΎΠΏΡΠΎΡ 7. Π ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ HEAD, ΡΠ°Π±ΠΎΡΠΈΠΌ Π΄Π΅ΡΠ΅Π²ΠΎΠΌ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ?
ΠΠΎΠΏΡΠΎΡ 8. Π Π°ΡΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎ gitflow-ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
ΠΠΎΠ΄Π΅Π»Ρ gitflow ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π²Π΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ Β«Π΄ΠΎΠ»Π³ΠΈΠ΅Β» Π²Π΅ΡΠΊΠΈ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°: master ΠΈ develop.
ΠΠΎΠΏΡΠΎΡ 9. ΠΠΎΠ³Π΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git stash?
git stash Π±Π΅ΡΠ΅Ρ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΈ Π½Π΅ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΊ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΡ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, Π½ΠΎ ΡΠΆΠ΅ Π½Π°ΡΠ°Π»ΠΈ Π΄ΡΡΠ³ΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΉ Π²Π΅ΡΠΊΠ΅.
ΠΠΎΠΏΡΠΎΡ 10. ΠΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· git, Π½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°?
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ git add, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΌ Π±ΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ. git rm ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΡ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°, Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡΡΠ΅Ρ ΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π΅ΡΠ΅Π²Π°). ΠΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠΎ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ git reset :
ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Π° git add
ΠΠΎΠΏΡΠΎΡ 11. ΠΠΎΠ³Π΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git rebase Π²ΠΌΠ΅ΡΡΠΎ git merge?
ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ git β ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ, Π½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΎΠ½ΠΈ ΡΡΠΎ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π²Π°Ρ ΡΠ»ΠΎΠΆΠΈΠ»Π°ΡΡ ΡΠ°ΠΊΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ:
ΠΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΆΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
Π ΠΏΠΎΡΠ»Π΅ git rebase β ΡΠ°ΠΊ:
Rebase ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½ΡΠΆΠ½ΠΎ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΡΠΎ ΡΡΠ°ΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° Π½ΠΎΠ²ΠΎΠ΅.
Π£ΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΡ:
π ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Kali Linux [Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ]
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Kali Linux, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΠ·Π½Π°ΡΠ°ΡΡ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Linux?
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠΌ Linux, Π²Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ ΡΠΎ ΡΠ»ΠΎΠ²ΠΎΠΌ βΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈβ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΈ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ.
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Linux ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ, ΠΎΡΠΊΡΠ΄Π° ΠΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ.
ΠΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΡΠ°ΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠ°ΠΊ:
Π²Ρ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ ΠΈ ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ .
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Kali Linux ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΡΠ΅Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠ°ΠΊΠΈΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ , ΠΊΠ°ΠΊ BlackArch ΠΈΠ»ΠΈ Debian.
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π²Π°Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π² Π²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΡΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Kali Linux ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Linux, Kali Linux ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ.
ΠΡΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ sources.list Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /etc/apt.
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ Kali Linux Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ sources.list.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ», Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, Π΅ΡΡΡ ΡΡΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π΅ΡΠΎΡΡΠ½ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ:
ΠΠ ΠΠΠΠ§ΠΠΠΠ:ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ Kali Linux 2020.3, ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡ.
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ Kali Linux / ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²
Kali Linux ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠΎΠΊ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅.
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π»ΡΠ±ΡΡ ΠΈΠ· ΡΡΠΈΡ Π²Π΅ΡΠΎΠΊ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅ sources.list ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½ΡΠΆΠ½ΠΎΠΉ Π²Π°ΠΌ Π²Π΅ΡΠΊΠΈ.
Kali-rolling
ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠΊΠ°, Π²ΠΊΠ»ΡΡΠ΅Π½Π½Π°Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Kali Linux.
ΠΡΠ° Π²Π΅ΡΠΊΠ° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΈ Π±Π΅ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈΠ· Π²Π΅ΡΠΊΠΈ kali-dev.
Kali-last snapshot
ΠΡΠ° Π²Π΅ΡΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ point-release, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΠ:
Kali-experimental
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ ΡΠ΅ΡΡΠΈΡΡΡΡΡΡ ΠΈΠ· Π²Π΅ΡΠΊΠΈ kali-bleeding edge.
Π€ΠΎΡΠΌΠ°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Kali Linux
ΠΠ°ΠΊ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ»ΠΊΠ°.
ΠΠ½ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ:
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π½Π΅ ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅ Kali Linux
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ ΠΎΡ ΡΠ΅Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Kali Linux.
ΠΡΠΈ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΠ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² ΡΠ°ΠΉΠ» /etc/apt/sources.list.
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ΠΈ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΠΏΡΡΠ΅ΠΌ Π΄Π»Ρ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /etc/apt/sources.list.d.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Signal Π½Π° Kali Linux, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /sources.list.d.
ΠΠ ΠΠΠΠ§ΠΠΠΠ:Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Kali Linux Π½Π° Π΄ΡΡΠ³ΠΎΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ubuntu ΠΈΠ»ΠΈ Debian, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΠ»ΠΎΠΌΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ°Π·Ρ, Π½ΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π²Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΠ΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π² Kali Linux ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Kali.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΌΠ° βΠ Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Linuxβ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Linux.
ΠΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π°Π΅Ρ Π²Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΈ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Kali Linux.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠ»ΠΈΡΡ Π½Π° Π²Π΅ΡΠΊΠ΅ Kali-rolling, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΠΈΠ·ΡΡΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ Kali.
Π£Π΄Π°ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ Git
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΌΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² (ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈΡ , ΡΠ°ΠΊ ΠΈ ΡΠ°ΡΡΠ½ΡΡ ) ΡΠΆΠ΅ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π³ΠΎΠ΄Π°, ΠΈ ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·Π°Π»Π° ΡΠ΅Π±Ρ Ρ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ. Π― Π΄Π°Π²Π½ΠΎ ΡΠΎΠ±ΠΈΡΠ°Π»ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎ Π½Π΅ΠΉ, Π½ΠΎ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΠ» ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ΅ Π±ΡΠ΄Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ Π΄Π΅ΡΠ°Π»ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠ½ΡΡΡ Π»ΠΈΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π»ΠΈΠ·Π°ΠΌΠΈ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Π²ΡΠ΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Git.
ΠΠΎΡΠ΅ΠΌΡ Git?
ΠΠ° ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Ρ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ² ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² Git Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ Π²ΡΠ΅ΠΌΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ. Π’Π°ΠΌ ΠΡ Π½Π°ΠΉΠ΄ΡΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΏΠΎΡΠΎΠ² Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ. ΠΠΈΡΠ½ΠΎ ΠΆΠ΅ Ρ, ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ Git Π²ΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ. Git ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΠΌΠΎΠ³ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ. Π ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΌΠΈΡΠ΅ CVS/Subversion, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Ρ ΠΏΡΠΈΡΡΠ», Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ (Β«ΠΎΠΏΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΎΠ½ΠΈ Π±ΠΎΠ»ΡΠ½ΠΎ ΠΊΡΡΠ°ΡΡΡΡ!Β»), ΠΈ ΠΏΠΎΡΠΎΠΌΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΠΆΠ΅.
ΠΠΎ Ρ Git ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΈ Π΄Π΅ΡΡΠ²ΡΠΌΠΈ, ΠΈ ΠΏΠΎΡΠΎΠΌΡ Π½Π° Π΄Π΅Π»Π΅ ΠΎΠ½ΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΡΠΎΡΡΠΎ ΡΡΠ°Π²Π½ΠΈΡΠ΅: Π² ΠΊΠ½ΠΈΠ³Π°Ρ ΠΏΠΎ CVS/Subversion Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π³Π»Π°Π²Π°Ρ (Π΄Π»Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ), Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π² Π»ΡΠ±ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΏΡΠΎ Git ΠΎΠ½ΠΈ Π±ΡΠ²Π°ΡΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΡΠΆΠ΅ ΠΊ ΡΡΠ΅ΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ (ΠΎΡΠ½ΠΎΠ²Ρ).
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΡΡΠΈ, Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΎΠΈΡ ΠΎΠΏΠ°ΡΠ°ΡΡΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΏΠΎΠΌΠΎΡΡ Π² Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΈΠ΅.
ΠΠΎ Ρ Π²Π°ΡΠΈΡ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎΠ± ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ , Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΎΠ΄Π΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΡ Ρ Ρ ΠΎΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ, β ΡΡΠΎ, ΠΏΠΎ ΡΡΡΠΈ, ΠΏΡΠΎΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΡΡΠΈΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ, Π½ΠΎ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ
ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π΅ΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ Β«ΠΈΡΡΠΈΠ½Π½ΡΠΉΒ» ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠ°ΠΌΠ΅ΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΌ (ΡΠ°ΠΊ ΠΊΠ°ΠΊ Git ΡΠ²Π»ΡΠ΅ΡΡΡ DVCS, Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ ΡΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ Π³Π»Π°Π²Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅). ΠΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ origin, Ρ.ΠΊ. ΡΡΠΎ ΠΈΠΌΡ ΠΈ ΡΠ°ΠΊ Π·Π½Π°ΠΊΠΎΠΌΠΎ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Git.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π·Π°Π±ΠΈΡΠ°Π΅Ρ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (pull & push) Π² origin. ΠΠΎ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ push-pull, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π±ΠΈΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅Π³ Π²Π½ΡΡΡΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΠΌΠΈΠΊΡΠΎ-ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄ΠΎΠ±Π΅Π½ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π΄Π²ΠΎΠ΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Π½Π°Π΄ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΠ΅ΠΉ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΠ·Π΄Π°ΡΡ Π½Π΅Π·Π°Π²Π΅ΡΡΡΠ½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ Π² origin ΡΠ°Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π²ΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ ΠΏΠΎΠ΄Π³ΡΡΠΏΠΏΡ ΠΠ»ΠΈΡΡ ΠΈ ΠΠΎΠ±Π°, ΠΠ»ΠΈΡΡ ΠΈ ΠΡΠ²ΠΈΠ΄Π°, ΠΠ»ΡΡ ΠΈ ΠΡΠ²ΠΈΠ΄Π°.
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ: ΠΠ»ΠΈΡΠ° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ Π²Π΅ΡΠΊΡ Git ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ bob, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΠΎΠ±Π°, Π° ΠΠΎΠ± Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Ρ Π΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ.
ΠΠ»Π°Π²Π½ΡΠ΅ Π²Π΅ΡΠ²ΠΈ
ΠΡ ΡΡΠΈΡΠ°Π΅ΠΌ Π²Π΅ΡΠΊΡ origin/master Π³Π»Π°Π²Π½ΠΎΠΉ. Π’ΠΎ Π΅ΡΡΡ, ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² Π½Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ production-ready Π² Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ΅ΡΠ²Ρ origin/develop ΠΌΡ ΡΡΠΈΡΠ°Π΅ΠΌ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π₯ΡΠ°Π½ΡΡΠΈΠΉΡΡ Π² Π½Π΅ΠΉ ΠΊΠΎΠ΄ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°. ΠΡΡ Π²Π΅ΡΠΊΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ Β«ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉΒ». ΠΠ½Π° ΡΠ»ΡΠΆΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π½ΠΎΡΠ½ΡΡ Π±ΠΈΠ»Π΄ΠΎΠ².
ΠΠΎΠ³Π΄Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² Π²Π΅ΡΠ²ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop) Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ΅Π»ΠΈΠ·Ρ, Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π²Π»ΠΈΡΡ Π² Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Ρ (master) ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΡΠ΅Π³ΠΎΠΌ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΡΠ΅Π»ΠΈΠ·Π°. ΠΠΈΠΆΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π² Π΄Π΅ΡΠ°Π»ΡΡ .
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Ρ (master), ΠΌΡ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠ΅Π»ΠΈΠ·. ΠΡ ΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ ΡΡΠΎΠΌΡ ΠΏΡΠ°Π²ΠΈΠ»Ρ ΠΎΡΠ΅Π½Ρ ΡΡΡΠΎΠ³ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ, Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΠΊΠΈ Git, ΡΡΠΎΠ±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π½Π°ΡΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΡ ΠΈ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π² Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Ρ (master).
ΠΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠ²ΠΈ
ΠΠΎΠΌΠΈΠΌΠΎ Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ master ΠΈ develop, Π½Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΏΠΎΠ² Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° (features), Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² ΠΈ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ, ΡΡΠΈ Π²Π΅ΡΠ²ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΡΡΠΎΠΊ ΠΆΠΈΠ·Π½ΠΈ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· Π½ΠΈΡ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, Ρ ΡΡΠΈΡ Π²Π΅ΡΠ²Π΅ΠΉ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Β«ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎΒ». Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠ²Π΅ΠΉ Π½Π° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. Π Π²ΠΎ Π²ΡΡΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠΎ ΡΡΠ°ΡΡΠ΅ Π΄ΠΎΠ±ΡΡΠ΅ Π²Π΅ΡΠ²ΠΈ Git.
ΠΠ΅ΡΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ (feature branches)
ΠΠΎΠ³ΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΎΡ: develop
ΠΠΎΠ»ΠΆΠ½Ρ Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π²: develop
Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ: Π²ΡΡ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ master, develop, release-* ΠΈΠ»ΠΈ hotfix-*
ΠΠ΅ΡΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ (feature branches), ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π²Π΅ΡΠ²ΡΠΌΠΈ (topic branches), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΈΠ»ΠΈ Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ΅Π»ΠΈΠ·Π°Ρ . ΠΡΠΈ Π½Π°ΡΠ°Π»Π΅ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ (ΡΠΈΡΠ΅ΠΉ) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΅ΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅Π»ΠΈΠ· ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π°. Π‘ΠΌΡΡΠ» ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π²Π΅ΡΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ (feature branch) ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½Π° ΠΆΠΈΠ²ΡΡ ΡΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ (ΡΠΈΡΠΈ). ΠΠΎΠ³Π΄Π° ΡΠ°Π±ΠΎΡΠ° Π² Π²Π΅ΡΠ²ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°, ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² Π³ΡΡΠ΄ΡΡΠΈΠΉ ΡΠ΅Π»ΠΈΠ·) ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ (Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°).
ΠΠ΅ΡΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ (feature branches) ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½ΠΎ Π½Π΅ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ (origin).
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ (feature branch)
ΠΡΠΈ Π½Π°ΡΠ°Π»Π΅ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ Π²Π΅ΡΠ²ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop).
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΡΠ½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π² develop
ΠΠ°Π²Π΅ΡΡΡΠ½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ (ΡΠΈΡΠ°) Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop) ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π»ΠΈΠ·.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ (ΠΏΡΡΡΡΡ ) ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠ°Ρ Π²ΡΠ³ΠΎΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠΏΡΠ°Π²Π΄ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ΅Π½Ρ.
ΠΠ΅ΡΠ²ΠΈ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² (release branches)
ΠΠΎΠ³ΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΎΡ: develop
ΠΠΎΠ»ΠΆΠ½Ρ Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π²: develop ΠΈ master
Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ: release-*
ΠΠ΅ΡΠ²ΠΈ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² (release branches) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΊ Π²ΡΠΏΡΡΠΊΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°ΡΡΡΠ°Π²ΠΈΡΡ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ Π½Π°Π΄ i ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΡΡΠΊΠΎΠΌ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΌΠΈΠ½ΠΎΡΠ½ΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΈΠ·Π° (Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ, Π΄Π°ΡΠ° ΡΠ±ΠΎΡΠΊΠΈ ΠΈ Ρ.Π΄.). ΠΠΎΠ³Π΄Π° Π²ΡΡ ΡΡΠ° ΡΠ°Π±ΠΎΡΠ° Π²ΡΠ½ΠΎΡΠΈΡΡΡ Π² Π²Π΅ΡΠ²Ρ ΡΠ΅Π»ΠΈΠ·ΠΎΠ², Π³Π»Π°Π²Π½Π°Ρ Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop) ΠΎΡΠΈΡΠ°Π΅ΡΡΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΈΡ (ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠΉΠ΄ΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈΠ·).
ΠΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΡΠ΅Π»ΠΈΠ·Π° (release branch) Π½Π°Π΄ΠΎ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π½ΠΎΠ²ΠΎΠΌΡ ΡΠ΅Π»ΠΈΠ·Ρ. ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ ΠΊ ΡΡΠΎΠΌΡ ΡΠ΅Π»ΠΈΠ·Ρ, ΡΠΆΠ΅ Π²Π»ΠΈΡΠ° Π² Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop). Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ΅Π»ΠΈΠ·Π°ΠΌ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ Π½Π΅ Π²Π»ΠΈΡΠ°. ΠΠ°ΠΆΠ΅ Π»ΡΡΡΠ΅, Π΅ΡΠ»ΠΈ Π²Π΅ΡΠΊΠΈ Π΄Π»Ρ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΡΡ, ΠΏΠΎΠΊΠ° ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠ²Ρ ΡΠ΅Π»ΠΈΠ·Π° Π½Π΅ ΠΎΡΠΏΠΎΡΠΊΡΠ΅ΡΡΡ ΠΎΡ Π²Π΅ΡΠ²ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop).
ΠΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ΅Π»ΠΈΠ· ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΠ²Ρ, Π½ΠΎ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΡΠ°Π½ΡΡΠ΅. ΠΠΏΠ»ΠΎΡΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Β«Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°Β», Π½ΠΎ ΠΏΠΎΠΊΠ° Π²Π΅ΡΠΊΠ° ΡΠ΅Π»ΠΈΠ·Π° Π½Π΅ ΠΎΡΠ΄Π΅Π»ΠΈΠ»Π°ΡΡ, ΡΠΎΡΠ½ΠΎ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΡΡΠΎΡ ΡΠ΅Π»ΠΈΠ· ΠΈΠΌΠ΅ΡΡ Π²Π΅ΡΡΠΈΡ 0.3, ΠΈΠ»ΠΈ 1.0, ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π΄ΡΡΠ³ΡΡ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ ΡΠ΅Π»ΠΈΠ·Π° ΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΡΠΈΠ½ΡΡΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ» Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠΈ Π²Π΅ΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ ΡΠ΅Π»ΠΈΠ·Π° (release branch)
ΠΠ΅ΡΠ²Ρ ΡΠ΅Π»ΠΈΠ·Π° ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈΠ· Π²Π΅ΡΠ²ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop). ΠΡΡΠΊΠ°ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΈΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ΅Π»ΠΈΠ· ΠΈΠΌΠ΅Π΅Ρ Π²Π΅ΡΡΠΈΡ 1.1.5, Π° Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ Π½ΠΎΠ²ΡΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈΠ·, ΠΏΠΎΠ»Π½ΡΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop) Π³ΠΎΡΠΎΠ²Π° ΠΊ Β«ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ΅Π»ΠΈΠ·ΡΒ», ΠΈ ΠΌΡ ΡΠ΅ΡΠ°Π΅ΠΌ, ΡΡΠΎ ΡΡΠΎΡ ΡΠ΅Π»ΠΈΠ· Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²Π΅ΡΡΠΈΡ 1.2 (Π° Π½Π΅ 1.1.6 ΠΈΠ»ΠΈ 2.0). Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΡΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠ²Ρ ΠΈ Π΄Π°ΡΠΌ Π΅ΠΉ ΠΈΠΌΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ Π² Π½Π΅Ρ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΡΡΠ°Π²ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ (bump version number). Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ bump-version.sh β ΡΡΠΎ Π²ΡΠΌΡΡΠ»Π΅Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ, Π·Π°ΠΏΠΈΡΡΠ²Π°Ρ Π² Π½ΠΈΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ. (Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈ Π²ΡΡΡΠ½ΡΡ; Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠ°Ρ ΠΠ°ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ.) ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠ° Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΠ²Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½ΠΎΠ²ΡΠΉ ΡΠ΅Π»ΠΈΠ· ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ² ΠΊ Π²ΡΠΏΡΡΠΊΡ. Π ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊ ΡΡΠΎΠΉ Π²Π΅ΡΠ²ΠΈ (Π° Π½Π΅ ΠΊ develop) ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ Π±Π°Π³ΠΎΠ². ΠΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΡΡΠΏΠ½ΡΡ Π½ΠΎΠ²ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡΡ Π²Π΅ΡΠ²Ρ ΡΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ. ΠΠ½ΠΈ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop) ΠΈ ΠΆΠ΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°.
ΠΠ°ΠΊΡΡΡΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ ΡΠ΅Π»ΠΈΠ·Π°
ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠ΅ΡΠ°Π΅ΠΌ, ΡΡΠΎ Π²Π΅ΡΠ²Ρ ΡΠ΅Π»ΠΈΠ·Π° (release branch) ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π³ΠΎΡΠΎΠ²Π° Π΄Π»Ρ Π²ΡΠΏΡΡΠΊΠ°, Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π²Π΅ΡΠ²Ρ ΡΠ΅Π»ΠΈΠ·Π° Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Ρ (Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² master β ΡΡΠΎ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅Π»ΠΈΠ·). ΠΠ°Π»Π΅Π΅, ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ Π² master Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΡΠ΅Π³ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π»ΡΠ±ΠΎΠΉ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π²ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² Π²Π΅ΡΠ²ΠΈ ΡΠ΅Π»ΠΈΠ·Π° (release branch), Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ (Π²Π΅ΡΠ²Ρ develop), ΡΡΠΎΠ±Ρ Π±ΡΠ΄ΡΡΠΈΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»ΠΈ Π²Π½Π΅ΡΡΠ½Π½ΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π³ΠΎΠ².
ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΡΠ°Π³Π° Π² Git:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΅Π»ΠΈΠ· ΠΈΠ·Π΄Π°Π½ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΡΠ΅Π³ΠΎΠΌ.
Π§ΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ΅Π»ΠΈΠ·Π°Ρ , ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π»ΠΈΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ. ΠΠ΅Π»Π°Π΅ΠΌ ΡΡΠΎ ΡΠ°ΠΊ:
ΠΡΠΎΡ ΡΠ°Π³, Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ (Π½Π΅ΡΠ΅Π΄ΠΊΠΎ Π±ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°). ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, ΠΈΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΈΡ ΠΈ ΠΈΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°Π»ΠΈΡΡ Ρ Π²Π΅ΡΠΊΠΎΠΉ ΡΠ΅Π»ΠΈΠ·Π°. ΠΠΎΠΆΠ½ΠΎ Π΅Ρ ΡΠ΄Π°Π»ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° Π½Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ:
ΠΠ΅ΡΠ²ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ (hotfix branches)
ΠΠΎΠ³ΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΎΡ: master
ΠΠΎΠ»ΠΆΠ½Ρ Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π²: develop ΠΈ master
Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ: hotfix-*
ΠΠ΅ΡΠ²ΠΈ Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ (hotfix branches) Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° Π²Π΅ΡΠ²ΠΈ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² (release branches), ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠΎΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ Π½ΠΎΠ²ΡΡ Π²ΡΠΏΡΡΠΊΠΎΠ² ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΡΠ°Π·Π²Π΅ Π»ΠΈΡΡ Π½Π΅Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ . ΠΠ½ΠΈ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠΎΠ³Π΄Π° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π±Π°Π³, ΡΡΠ΅Π±ΡΡΡΠΈΠΉ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΠ· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅Π³Π° Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ (master) ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅ΡΡΡ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΠ²Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ.
Π‘ΠΌΡΡΠ» Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π°Π΄ Π²Π΅ΡΠ²ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop) ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΊΡΠΎ-ΡΠΎ ΠΎΠ΄ΠΈΠ½ Π³ΠΎΡΠΎΠ²ΠΈΡ Π±ΡΡΡΡΠΎΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ (hotfix branch)
ΠΠ΅ΡΠ²ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ (hotfix branches) ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠΉ (master) Π²Π΅ΡΠ²ΠΈ. ΠΡΡΠΊΠ°ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅Π»ΠΈΠ· ΠΈΠΌΠ΅Π΅Ρ Π²Π΅ΡΡΠΈΡ 1.2, ΠΈ Π² Π½ΡΠΌ (Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ!) ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΡΡΠ·Π½ΡΠΉ Π±Π°Π³. Π ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π΅ΡΠ²ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop) Π΅ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Ρ, ΡΡΠΎΠ±Ρ ΠΈΡ ΠΈΠ·Π΄Π°Π²Π°ΡΡ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ΅Π»ΠΈΠ·. ΠΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠ²Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΈ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅ΡΠ²ΠΈ!
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ Π±Π°Π³, Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·Π΄Π°Π²Π°ΡΡ Ρ ΠΎΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ, Ρ ΠΎΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ.
ΠΠ°ΠΊΡΡΡΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ
ΠΠΎΠ³Π΄Π° Π±Π°Π³ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°Π΄ΠΎ Π²Π»ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Ρ (master), Π° ΡΠ°ΠΊΠΆΠ΅ Π² Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop), ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ΅Π»ΠΈΠ·Π΅. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΠ²Ρ ΡΠ΅Π»ΠΈΠ·Π° (release branch).
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π½Π°Π΄ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠ²Ρ (master) ΠΈ ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ΅Π³ΠΎΠΌ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop).
Π£ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²Π΅ΡΠ²Ρ ΡΠ΅Π»ΠΈΠ·Π° (release branch), ΡΠΎ Π²Π΅ΡΠ²Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (hotfix branch) Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² Π½Π΅Ρ, Π° Π½Π΅ Π² Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop). Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΎΠΉΠ΄ΡΡ Π² Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ Π²ΡΠ΅ΠΉ Π²Π΅ΡΠ²ΡΡ ΡΠ΅Π»ΠΈΠ·Π°, ΠΊΠΎΠ³Π΄Π° ΡΠ° Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΡΠ°. (Π₯ΠΎΡΡ, Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ° Π² develop ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π³Π° ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°, ΠΡ Π²ΡΡ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π»ΠΈΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (bugfix) Π² Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (develop), ΠΈ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΏΠΎΠ»Π½Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ).
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π΅ΡΠ²Ρ:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π₯ΠΎΡΡ Π² ΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ, Β«Π±ΠΎΠ»ΡΡΠ°Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°Β», Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΡΠ° ΡΡΠ°ΡΡΡ, Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»Π° ΡΠ΅Π±Ρ Π² Π½Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Ρ ΡΠ°ΠΌΠΎΠΉ Π»ΡΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ. ΠΠ½Π° ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΡ ΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡ Π²Π°ΡΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π²Π·Π³Π»ΡΠ΄ΠΎΠΌ, ΠΈ ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ PDF-Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π° Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π·Π΄Π΅ΡΡ. Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ Π΅Ρ ΠΈ ΠΏΠΎΠ²Π΅ΡΡΡΠ΅ Ρ ΡΠ΅Π±Ρ Π½Π° ΡΡΠ΅Π½Ρ, ΡΡΠΎΠ±Ρ ΠΊ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΡΡΠ°ΡΡΡ Π½Π΅ Π½ΠΎΠ²Π°Ρ, ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π» ΡΠΆΠ΅ ΠΏΠΎΡΠ²Π»ΡΠ»Π°ΡΡ Π½Π° Ρ Π°Π±ΡΠ΅. ΠΡΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ β Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΠΎΠΌΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ Π΅ΡΡ Π΄Π°ΡΡΡΡ Π½Π΅ ΡΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ (Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΌΠΎΠΈΡ ΠΊΠΎΠ»Π»Π΅Π³, ΡΡΠ΅Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ ΠΏΡΠΎΠΏΠ°Π³Π°Π½Π΄ΠΎΠΉ, Ρ Π΅Ρ Π΅). ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡ Π°Π²ΡΠΎΡ ΡΠΎΠ·Π΄Π°Π» ΠΏΡΠΎΠ΅ΠΊΡ gitflow, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° github.