Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π»ΠΈΠ·Π½Ρ‹ΠΌ ΠΈ Π΄Π΅Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ

Π‘Ρ€Π΅Π΄Ρ‹, ΠΊΠΎΠ΄ ΠΈ Ρ€Π΅Π»ΠΈΠ·Ρ‹

Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΏΠΎ имСнованию ΠΈ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡŽ срСд Π² соотвСтствии с ΠΈΡ… ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Π²Π·Π°ΠΈΠΌΠ½ΠΎΠΌΡƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΡŽ срСд ΠΈ Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΊΠΎΠ΄Π°, ΠΈ процСссу выпуска.

ИмСнованиС срСд

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ [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.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *