Version control Ρ‡Ρ‚ΠΎ это

О систСмах контроля вСрсий

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! Π£ΠΆΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½Π΅Π΄Π΅Π»Π΅ Π² OTUS стартуСт Β«Π‘ΡƒΠΏΠ΅Ρ€-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ ΠΏΠΎ использованию ΠΈ настройкС GITΒ». Π­Ρ‚ΠΎΠΌΡƒ я ΠΈ Ρ€Π΅ΡˆΠΈΠ» ΠΏΠΎΡΠ²ΡΡ‚ΠΈΡ‚ΡŒ сСгодняшнюю ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ.

Version control Ρ‡Ρ‚ΠΎ это. image loader. Version control Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Version control Ρ‡Ρ‚ΠΎ это-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Version control Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

БистСмы контроля вСрсий

БистСма контроля вСрсий являСтся ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго инструмСнтам, Π° инструмСнт ΠΏΡ€ΠΈΠ·Π²Π°Π½ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ класс Π·Π°Π΄Π°Ρ‡. Π˜Ρ‚Π°ΠΊ, систСма контроля вСрсий – это систСма, Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°Ρ измСнСния
Π² Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ вСрсии. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π³ΠΈΠ±ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ, ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… вСрсий Π² случаС нСобходимости. МоТно ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ измСнСния Ρ„Π°ΠΉΠ»Π°, ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΡ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ помСнял. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ систСмы контроля вСрсий ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для хранСния исходного ΠΊΠΎΠ΄Π°, Π½ΠΎ это Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Они ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для хранСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ любого Ρ‚ΠΈΠΏΠ°.

Как Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ²? Π›ΡŽΠ΄ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ инструмСнту ΠΊΠ°ΠΊ систСмы контроля вСрсий Π½Π΅ сразу, Π΄Π° ΠΈ ΠΎΠ½ΠΈ сами Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ старого Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ copy-paste, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ…, Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ распрСдСлСнных систСм контроля вСрсий.

Copy-paste

Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ filename_, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ создания ΠΈΠ»ΠΈ измСнСния.

Π”Π°Π½Π½Ρ‹ΠΉ способ являСтся ΠΎΡ‡Π΅Π½ΡŒ простым, Π½ΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ошибкам: ΠΌΠΎΠΆΠ½ΠΎ случайно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ», ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ ΠΈΠ· Ρ‚ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ (вСдь ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ пСрСносятся Ρ„Π°ΠΉΠ»Ρ‹ Π² этой ΠΌΠΎΠ΄Π΅Π»ΠΈ).

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ систСма контроля вСрсий

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ систСм контроля вСрсий Π±Ρ‹Π»ΠΎ созданиС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… систСм контроля вСрсий. Они прСдставляли ΠΈΠ· сСбя ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, которая Ρ…Ρ€Π°Π½ΠΈΡ‚ записи ΠΎΠ±ΠΎ всСх измСнСниях Π² Ρ„Π°ΠΉΠ»Π°Ρ….

Одним ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚Π°ΠΊΠΈΡ… систСм являСтся систСма контроля вСрсий RCS, которая Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² 1985 Π³ΠΎΠ΄Ρƒ (послСдний ΠΏΠ°Ρ‚Ρ‡ Π±Ρ‹Π» написан Π² 2015 Π³ΠΎΠ΄Ρƒ) ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π°Ρ… (ΠΏΠ°Ρ‚Ρ‡ΠΈ), осущСствляя ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий. Набор этих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ позволяСт Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ любоС состояниС Ρ„Π°ΠΉΠ»Π°. RCS поставляСтся с Linux’ΠΎΠΌ.

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ систСма контроля вСрсий Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π΅ΠΉ Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ являСтся основноС свойство β€” Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Она ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π΅Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ использования.

ЦСнтрализованная систСма контроля вСрсий

ЦСнтрализованная систСма контроля вСрсий ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ основной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ локальной систСмы контроля вСрсий.

Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ систСмы контроля вСрсий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ СдинствСнный сСрвСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит всС вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ². ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ этому сСрвСру, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΈΠ· этого Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм контроля вСрсий Π½Π° протяТСнии ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ являлась стандартом. К Π½ΠΈΠΌ относятся CVS, Subversion, Perforce.

Π’Π°ΠΊΠΈΠΌΠΈ систСмами Π»Π΅Π³ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ·-Π·Π° наличия СдинствСнного сСрвСра. Но ΠΏΡ€ΠΈ этом Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ сСрвСра ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ возникновСнию Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚ΠΊΠ°Π·Π° Π² Π²ΠΈΠ΄Π΅ этого самого сСрвСра. Π’ случаС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ этого сСрвСра Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ смогут Π²Ρ‹ΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹. Π‘Π°ΠΌΡ‹ΠΌ Ρ…ΡƒΠ΄ΡˆΠΈΠΌ сцСнариСм являСтся физичСскоС ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ сСрвСра (ΠΈΠ»ΠΈ Π²Ρ‹Π»Π΅Ρ‚ ТСсткого диска), ΠΎΠ½ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€ΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄Π° Π½Π° SVN ΠΏΡ€ΠΎΡˆΠ»Π°, ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Ρ…ΠΎΠ΄ β€” ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ Git’Π° ΠΊ SVN’Ρƒ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ SVN позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ сСлСктивный Ρ‡Π΅ΠΊΠ°ΡƒΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΊΠ°Ρ‡ΠΊΡƒ лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² с сСрвСра. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ использовании монорСпозиториях, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅.

РаспрСдСлСнная систСма контроля вСрсий

Для устранСния Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚ΠΊΠ°Π·Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ распрСдСлСнныС систСмы контроля вСрсий. Они ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π²Ρ‹ΠΊΠ°Ρ‡Π°Π΅Ρ‚ сСбС вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ замСсто Π²Ρ‹ΠΊΠ°Ρ‡ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ². Если ΡƒΠΌΡ€Π΅Ρ‚ любая копия рСпозитория, Ρ‚ΠΎ это Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ восстановлСна с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° любого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. КаТдая копия являСтся ΠΏΠΎΠ»Π½Ρ‹ΠΌ бэкапом Π΄Π°Π½Π½Ρ‹Ρ….

ВсС ΠΊΠΎΠΏΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π²Π½ΠΎΠΏΡ€Π°Π²Π½Ρ‹ΠΌ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ (Π΄Π° ΠΈ являСтся) Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π²ΠΈΠ΄Π° master-master.

К Π΄Π°Π½Π½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ систСм контроля вСрсий относятся Mercurial, Bazaar, Darcs ΠΈ Git. ПослСдняя систСма контроля вСрсий ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна Π½Π°ΠΌΠΈ Π΄Π°Π»Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Git

Π’ 2005 Π³ΠΎΠ΄Ρƒ компания, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ систСму контроля вСрсий BitKeeper, ΠΏΠΎΡ€Π²Π°Π»Π° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ с сообщСством Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ядра Linux. ПослС этого сообщСство приняло Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ своСй собствСнной систСмы контроля вСрсий. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ цСнностями Π½ΠΎΠ²ΠΎΠΉ систСмы стали: полная дСцСнтрализация, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, простая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠœΡ‹ рассмотрСли способы ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ систСм контроля вСрсий, обсудили Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнных ΠΏΠ΅Ρ€Π΅Π΄ этими систСмами Π·Π°Π΄Π°Ρ‡, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ прСимущСствах ΠΈ нСдостатках ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ…, познакомились с историСй систСмы контроля вСрсий Git.

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

Git для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π§Π°ΡΡ‚ΡŒ 1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмы контроля вСрсий?

БистСма контроля вСрсий (Version Control System, VCS) прСдставляСт собой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…, ΠΏΡ€ΠΈ нСобходимости ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… ΠΎΡ‚ΠΊΠ°Ρ‚, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° внСс исправлСния ΠΈ Ρ‚.ΠΏ. Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассмотрСны Π²ΠΈΠ΄Ρ‹ VCS, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ².

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСма контроля вСрсий?

НавСрноС, всСм Π·Π½Π°ΠΊΠΎΠΌΠ° ситуация, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ внСсти измСнСния, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ работоспособный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, создаСтся новая ΠΏΠ°ΠΏΠΊΠ°, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ скорСС всСго Π±ΡƒΠ΄Π΅Ρ‚ β€œΠΠΎΠ²Π°Ρ папка” с Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π² Π²ΠΈΠ΄Π΅ Π΄Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ нСбольшой ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΈ, Π² Π½Π΅Π΅ копируСтся рабочая вСрсия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΡƒΠΆΠ΅ с Π½ΠΈΠΌ производится Ρ€Π°Π±ΠΎΡ‚Π°. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ количСство Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ возрасти, Ρ‡Ρ‚ΠΎ создаСт трудности Π² вопросС ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ вСрсии, отслСТивании ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Ρ‚.ΠΏ. Π­Ρ‚Π° ситуация Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ…ΡƒΠ΄ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ систСма контроля вСрсий, ΠΎΠ½Π° позволяСт ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π΅. VCS отслСТиваСт измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ…, прСдоставляСт возмоТности для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΈ слияниС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ доступа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, позволяСт ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ исправлСния ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΡ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ измСнСния вносил Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ понятиСм VCS являСтся Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (repository) – ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, измСнСния Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ. Π’ распоряТСнии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° имССтся Ρ‚Π°ΠΊ называСмая β€œΡ€Π°Π±ΠΎΡ‡Π°Ρ копия” (working copy) ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ нСпосрСдствСнно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π Π°Π±ΠΎΡ‡ΡƒΡŽ копию Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСриодичСски ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, эта опСрация ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Π² Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ внСс Π² свою Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию (такая опСрация называСтся commit) ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ, Π² процСссС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ загруТаСтся послСдняя вСрсия ΠΈΠ· рСпозитория (этот процСсс носит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ update).

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈ распрСдСлСнныС систСмы контроля вСрсий

БистСмы контроля вСрсий ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹: распрСдСлСнныС ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅.

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ систСмы контроля вСрсий

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ систСмы контроля вСрсий ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой прилоТСния Ρ‚ΠΈΠΏΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сущСствуСт Π² СдинствСнном экзСмплярС ΠΈ хранится Π½Π° сСрвСрС. Доступ ΠΊ Π½Π΅ΠΌΡƒ осущСствлялся Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ клиСнтскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ привСсти CVS, Subversion.

Version control Ρ‡Ρ‚ΠΎ это. git for beginners part1 1. Version control Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Version control Ρ‡Ρ‚ΠΎ это-git for beginners part1 1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Version control Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° git for beginners part1 1

Version control Ρ‡Ρ‚ΠΎ это. git for beginners part1 2. Version control Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Version control Ρ‡Ρ‚ΠΎ это-git for beginners part1 2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Version control Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° git for beginners part1 2

CVS (Concurrent Versions System, БистСма ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… вСрсий) ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… систСм ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΡ… ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π² ΠΊΠΎΠ½Ρ†Π΅ 80-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π²Π΅ΠΊΠ°. Π’ настоящСС врСмя этот ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π½Π΅ развиваСтся, это Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ связано с рядом ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… нСдостатков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСимСнования Ρ„Π°ΠΉΠ»ΠΎΠ², нСэффСктивноС ΠΈΡ… Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, практичСски ΠΏΠΎΠ»Π½ΠΎΠ΅ отсутствиС контроля цСлостности.

Version control Ρ‡Ρ‚ΠΎ это. git for beginners part1 3. Version control Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Version control Ρ‡Ρ‚ΠΎ это-git for beginners part1 3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Version control Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° git for beginners part1 3

Subversion (SVN) – систСма контроля вСрсий, созданная Π½Π° Π·Π°ΠΌΠ΅Π½Ρƒ CVS. SVN Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² 2004 Π³ΠΎΠ΄Ρƒ ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. НСсмотря Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ прСимущСства ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с CVS Ρƒ SVN всС-Ρ‚Π°ΠΊΠΈ Π΅ΡΡ‚ΡŒ нСдостатки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ удалСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слияния Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΈ Ρ‚.Π΄. Π’ Ρ†Π΅Π»ΠΎΠΌ SVN Π±Ρ‹Π» (ΠΈ остаСтся) Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ шагом Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с CVS.

РаспрСдСлСнныС систСмы контроля вСрсий

РаспрСдСлСнныС систСмы контроля вСрсий (Distributed Version Control System, DVCS) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Π΅Π³ΠΎ копию) Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ с Π΄Π°Π½Π½ΠΎΠΉ систСмой. ΠŸΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (условно), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ измСнСния ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ, с Π½ΠΈΠΌ ΠΆΠ΅ эти Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚Π°ΠΊΠΎΠΉ систСмой, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ пСриодичСски ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ свои Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ нСпосрСдствСнно со своСй локальной ΠΊΠΎΠΏΠΈΠ΅ΠΉ. ПослС внСсСния достаточного количСства ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию ΠΎΠ½ΠΈ (измСнСния) ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° сСрвСр. ΠŸΡ€ΠΈ этом сСрвСр, Ρ‡Π°Ρ‰Π΅ всСго, выбираСтся условно, Ρ‚.ΠΊ. Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ DVCS Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ понятия ΠΊΠ°ΠΊ β€œΠ²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ рСпозиториСм”.

Version control Ρ‡Ρ‚ΠΎ это. git for beginners part1 4. Version control Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Version control Ρ‡Ρ‚ΠΎ это-git for beginners part1 4. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Version control Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° git for beginners part1 4

Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ прСимущСство Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, гибкости ΠΎΠ±Ρ‰Π΅ΠΉ систСмы ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ надСТности, благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория. Π”Π²Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстныС DVCS – это Git ΠΈ Mercurial.

Version control Ρ‡Ρ‚ΠΎ это. git for beginners part1 5. Version control Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Version control Ρ‡Ρ‚ΠΎ это-git for beginners part1 5. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Version control Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° git for beginners part1 5

НачнСм с Mercurial, эта систСма прСдставляСт собой ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡƒΡŽ DVCS, которая построСна Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ отсутствуСт понятиС Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этой VCS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ) консольная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° hg. Mercurial ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ всСми возмоТностями систСмы контроля вСрсий, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅, слияниС, синхронизация с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ рСпозиториями. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ большоС количСство ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², срСди Π½ΠΈΡ… Mozilla, OpenOffice, OpenJDK ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π‘Π°ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ написан Π½Π° языкС Python ΠΈ доступСн Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ соврСмСнных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм (Windows, Mac OS, Linux), Ρ‚Π°ΠΊΠΆΠ΅ сущСствуСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ количСство ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ с графичСским интСрфСйсом для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Mercurial. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠΌ Mercurial Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ распрСдСлСнных систСм контроля вСрсий являСтся Git, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π½Π° сСгодняшний дСнь, Π²Ρ‹ΠΈΠ³Ρ€Π°Π» Π³ΠΎΠ½ΠΊΡƒ Π·Π° лидСрство.

Version control Ρ‡Ρ‚ΠΎ это. git for beginners part1 6. Version control Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Version control Ρ‡Ρ‚ΠΎ это-git for beginners part1 6. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Version control Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° git for beginners part1 6

Git – распрСдСлСнная систСма контроля вСрсий, разработанная Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠ΅ΠΌ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ядром ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Linux. Π‘Ρ€Π΅Π΄ΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ git, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ядро Linux, Qt, Android. Git свободСн ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GNU GPL 2 ΠΈ, Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Mercurial, доступСн практичСски Π½Π° всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах. По своим Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ возмоТностям git схоТ с Mercurial (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ DVCS), Π½ΠΎ благодаря ряду достоинств (высокая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ VCS, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс) ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ сообщСству, ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠ΅ΠΌΡƒΡΡ Π²ΠΎΠΊΡ€ΡƒΠ³ этой систСмы, git Π²Ρ‹ΡˆΠ΅Π» Π² Π»ΠΈΠ΄Π΅Ρ€Ρ‹ Ρ€Ρ‹Π½ΠΊΠ° распрСдСлСнных систСм контроля вСрсий. НСобходимо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ нСсмотря Π½Π° Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… систСм ΠΊΠ°ΠΊ git, ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Google, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ свои VCS.

Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° вводная лСкция ΠΏΠΎ систСмам контроля вСрсий. Π’ дальнСйшСм, всС ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ git.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий?

Каким ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий содСйствуСт успСху ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ DevOps

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий, Ρ‚Π°ΠΊΠΆΠ΅ извСстный ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ исходным ΠΊΠΎΠ΄ΠΎΠΌ, β€” это ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ управлСния ΠΈΠΌΠΈ. БистСмы контроля вСрсий β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ инструмСнты, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ измСнСниями Π² исходном ΠΊΠΎΠ΄Π΅ с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ свСтС услоТнСния срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстрСС ΠΈ эффСктивнСС. БистСмы контроля вСрсий Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ DevOps, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ количСство ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΉ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС контроля вСрсий отслСТиваСт всС вносимыС Π² ΠΊΠΎΠ΄ измСнСния Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ошибки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π°Π·Π°Π΄ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сравнСниС с Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΠΌΠΈ вСрсиями ΠΊΠΎΠ΄Π° для исправлСния ошибок, сводя ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ для всСх участников ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²ΠΎ всСх ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… исходный ΠΊΠΎΠ΄ являСтся сокровищСм: это Ρ†Π΅Π½Π½Ρ‹ΠΉ рСсурс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Π΅Ρ€Π΅Ρ‡ΡŒ. Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния исходный ΠΊΠΎΠ΄ β€” это Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ бСсцСнных Π·Π½Π°Π½ΠΈΠΉ ΠΈ понимания ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ области, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ скрупулСзно собирали ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π»ΠΈ. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ исходный ΠΊΠΎΠ΄ ΠΎΡ‚ катастрофичСских сбоСв, ΠΎΡ‚ случайных ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΠΉ, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… чСловСчСским Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½Ρ‹Ρ… послСдствий.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…, постоянно ΠΏΠΈΡˆΡƒΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, прилоТСния ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ структуры ΠΏΠ°ΠΏΠΎΠΊ ΠΈΠ»ΠΈ Β«Π΄Π΅Ρ€Π΅Π²Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Β». Один Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Π½ΠΎΠ²ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π² это ΠΆΠ΅ врСмя ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ для исправлСния нСсвязанной ошибки, Ρ‚. Π΅. ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π½ΠΎΡΠΈΡ‚ΡŒ свои измСнСния Π² нСсколько частСй Π΄Π΅Ρ€Π΅Π²Π° Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡƒΡ‚Π΅ΠΌ отслСТивания ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния, внСсСнного ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ участником, ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅. ИзмСнСния, внСсСнныС Π² ΠΎΠ΄Π½Ρƒ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ совмСстимы с измСнСниями, внСсСнными Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°Π²ΡˆΠΈΠΌ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Вакая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° ΠΈ Ρ€Π΅ΡˆΠ΅Π½Π° согласно Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Ρƒ, Π½Π΅ создавая прСпятствий для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ части ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния любоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ само ΠΏΠΎ сСбС привСсти ΠΊ появлСнию Π½ΠΎΠ²Ρ‹Ρ… ошибок, ΠΈ Π½ΠΎΠ²ΠΎΠΌΡƒ ПО нСльзя Π΄ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ тСстированиС. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ процСссы тСстирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ΄ΡƒΡ‚ Ρ€ΡƒΠΊΠ° ΠΎΠ± Ρ€ΡƒΠΊΡƒ, ΠΏΠΎΠΊΠ° новая вСрсия Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Π°.

Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для управлСния вСрсиями ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Π½Π΅ навязывая ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ способ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ ΠΈΠ΄Π΅Π°Π»Π΅ ΠΎΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° любой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠΆΠ΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму ΠΈΠ»ΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ инструмСнтов. Π₯ΠΎΡ€ΠΎΡˆΠΈΠ΅ систСмы управлСния вСрсиями ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ»Π°Π²Π½Ρ‹ΠΉ ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ процСсс внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄ ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ±Π΅Π³Π°ΡŽΡ‚ ΠΊ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΠΌΡƒ ΠΈ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌΡƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ Π·Π΅Π»Π΅Π½Ρ‹ΠΉ свСт ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ, Π½ΠΎ ΠΏΡ€ΠΈ этом Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ….

Π“Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ Ρ„ΠΎΡ€ΠΌΡƒ управлСния вСрсиями, часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ Π½Π΅Π·Π½Π°Π½ΠΈΠ΅ ΠΎΠ± измСнСниях, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΈΠ»ΠΈ созданиС Π² Π΄Π²ΡƒΡ… нСсвязанных частях Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ нСсовмСстимыми ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ приходится скрупулСзно Ρ€Π°ΡΠΏΡƒΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ. Если Π²Ρ‹ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ€Π°Π½Π΅Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ примСняли ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ вСрсии своих Ρ„Π°ΠΉΠ»ΠΎΠ², добавляя суффиксы Ρ‚ΠΈΠΏΠ° Β«Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉΒ» ΠΈΠ»ΠΈ «послСдний», Π° ΠΏΠΎΠ·ΠΆΠ΅ появлялась новая Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ вСрсия. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ использовали ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ возмоТности, Π½Π΅ удаляя ΠΈΡ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ опасались, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ·ΠΆΠ΅. РСшСниСм всСх ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ являСтся ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для управлСния вСрсиями являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ повсСднСвной ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ соврСмСнной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ПО, ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΡˆΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ с эффСктивной систСмой управлСния вСрсиями, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΡŽΡ‚ Π½Π΅Π²Π΅Ρ€ΠΎΡΡ‚Π½ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·Ρƒ управлСния вСрсиями Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ нСбольшими ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠŸΡ€ΠΈΠ²Ρ‹ΠΊΠ½ΡƒΠ² ΠΊ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ прСимущСствам систСм контроля вСрсий, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· Π½ΠΈΡ… Π΄Π°ΠΆΠ΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π½Π΅ связанных с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ПО.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° систСм контроля вСрсий

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС контроля вСрсий рСкомСндуСтся для ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ DevOps. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстрСС, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО β€” ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ увСличСния числа Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π—Π° послСдниС нСсколько дСсятилСтий систСмы контроля вСрсий (Version Control Systems, VCS) стали Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ это ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ…. БистСмы VCS ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ инструмСнтами SCM (управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ) ΠΈΠ»ΠΈ RCS (систСмой управлСния рСдакциями). Один ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных Π½Π° сСгодняшний дСнь инструмСнтов VCS называСтся Git. Git относится ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ распрСдСлСнных систСм контроля вСрсий, извСстных ΠΊΠ°ΠΊ DVCS (эта Ρ‚Π΅ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅). Git, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ популярныС ΠΈ доступныС Π½Π° сСгодняшний дСнь систСмы VCS, распространяСтся бСсплатно ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄. НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΡƒΡŽ систСму контроля вСрсий Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½Π° называСтся, основныС Π΅Π΅ прСимущСства Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ.

Полная история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π·Π° Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄. Π­Ρ‚ΠΎ касаСтся всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсСнных ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ количСством людСй Π·Π° Π΄ΠΎΠ»Π³ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹. ИзмСнСниСм считаСтся созданиС ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡ… содСрТимого. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ инструмСнты VCS ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ΠΌ, насколько Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ пСрСимСнования ΠΈ пСрСмСщСния Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ свСдСния ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π΅, Π΄Π°Ρ‚Π° ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ с описаниСм Ρ†Π΅Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния. НаличиС ΠΏΠΎΠ»Π½ΠΎΠΉ истории позволяСт Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ вСрсиям, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ· основных ΠΏΡ€ΠΈΡ‡ΠΈΠ½ возникновСния ошибок ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² старых вСрсиях ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Если Π½Π°Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм вСдСтся активная Ρ€Π°Π±ΠΎΡ‚Π°, Ρ‚ΠΎ «старой вСрсиСй» ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ вСсь ΠΊΠΎΠ΄ этого ПО.

Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ слияниС. Π­Ρ‚Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ участников ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ люди Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· Π½Π΅Π΅ ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ нСсколькими нСзависимыми направлСниями. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Β«Π²Π΅Ρ‚ΠΎΠΊΒ» Π² инструмСнтах VCS позволяСт ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько нСзависимых Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ… слияниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ измСнСния, внСсСнныС Π² ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ· Π²Π΅Ρ‚ΠΎΠΊ, Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. МногиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ возмоТности, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π° Π»ΠΈΠ±ΠΎ ΠΈ для Ρ‚ΠΎΠ³ΠΎ, ΠΈ для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. НаличиС мноТСства Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов позволяСт ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ подходящий для Π½ΠΈΡ… способ использования вСтвлСния ΠΈ слияния Π² VCS.

ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, внСсСнноС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΈ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с ПО для управлСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ отслСТивания ошибок, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Jira, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ измСнСнию ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ с описаниСм Ρ†Π΅Π»ΠΈ ΠΈ назначСния измСнСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ основных ΠΏΡ€ΠΈΡ‡ΠΈΠ½ возникновСния ошибок, Π½ΠΎ ΠΈ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ с коммСнтариями Π²ΠΎ врСмя чтСния ΠΊΠΎΠ΄Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ дСйствиС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Благодаря этому Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π½ΠΎΡΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΈ совмСстимыС измСнСния Π² соотвСтствии с долгосрочным ΠΏΠ»Π°Π½ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ систСмы. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с унаслСдованным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ объСм дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π±Π΅Π· управлСния вСрсиями, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΌΡƒ риску, ΠΈ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, вопрос Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π΅ Π² Ρ‚ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями, Π° Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΡƒΡŽ систСму управлСния вСрсиями Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ.

Π‘Ρ€Π΅Π΄ΠΈ мноТСства ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… систСм управлСния вСрсиями ΠΌΡ‹ сосрСдоточимся Π½Π° ΠΎΠ΄Π½ΠΎΠΉ: систСмС Git. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для контроля вСрсий.

Π“ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Git?

ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с этим ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΌ руководством.

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

БистСмы управлСния вСрсиями. ПособиС для ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊΠΎΠ² ΠΈ писатСлСй

Π—Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ

Π‘Π°ΠΌ я являюсь студСнтом тСхничСского Π’Π£Π—Π° ΠΈ практичСски постоянно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ (тСкстами, рисунками, Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ), измСняя ΠΈΡ… ΠΏΠΎ Ρ‚Ρ€ΠΈ (Π΄Π΅ΡΡΡ‚ΡŒ, сто) Ρ€Π°Π· Π½Π° дню. ΠŸΠΎΡ€ΠΎΠΉ получаСтся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΊΠΈ, сдСланныС Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ послСднСй Π½Π΅Π΄Π΅Π»ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ Π² состоянии нСдСльной давности. Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ссли ΠΏΡ€Π°Π²ΠΎΠΊ Π±Ρ‹Π»ΠΎ сдСлано Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, Π² этом случаС ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ полсотни ΡƒΠ΄Π°Ρ€ΠΎΠ² ΠΏΠΎ Ctrl+Z. Однако Ссли Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ этой Π½Π΅Π΄Π΅Π»ΠΈ шла Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ активная Ρ€Π°Π±ΠΎΡ‚Π° с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ, просто Ρ‚Π°ΠΊ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ статус Β«Π΄ΠΎ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΏΡ€Π°Π²ΠΊΠΈ, сдСланной нСдСлю Π½Π°Π·Π°Π΄Β» Π½Π΅ получится. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° копия Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ Β«Π΄ΠΎ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΏΡ€Π°Π²ΠΊΠΈΒ», Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Ρ‰Π΅ дСсяток ΠΊΠΎΠΏΠΈΠΉ Β«Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΏΡ€Π°Π²ΠΊΠΈΒ», Β«Π΄ΠΎ ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€Π°Π²ΠΊΠΈΒ» ΠΈ Β«Π΄ΠΎ ΠΏΡ€Π°Π²ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ, скорСС всСго, придСтся ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ». Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈ практикуСтся ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ. Π”ΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ я ΠΈ сам Π΄Π΅Ρ€ΠΆΠ°Π» Π²Π°ΠΆΠ½Ρ‹Π΅ вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ², сохраняя ΠΈΡ… с прСфиксами Β«Π΄Π°Ρ‚Π°_врСмя», ΠΈ, Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹, Π±Ρ‹Π» Π΄ΠΎΠ²ΠΎΠ»Π΅Π½. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠΌ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° являСтся простота, нСдостатком – Β«Ρ€Π°Π·Π±ΡƒΡ…Π°Π½ΠΈΠ΅Β» Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ ΠΈ нСудобство использования. И, Ссли с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ (большими ТСсткими дисками ΠΈ 7zip’ом), Ρ‚ΠΎ с нСудобством Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎ с этим ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π‘ΠšΠ’

Π’Ρ‹Ρ€Ρ‹Π²Π°Π΅ΠΌ Π°Π±Π·Π°Ρ† ΠΈΠ· Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ: «БистСма управлСния вСрсиями (ΠΎΡ‚ Π°Π½Π³Π». Version Control System, VCS ΠΈΠ»ΠΈ Revision Control System) – ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для облСгчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. БистСма управлСния вСрсиями позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ нСсколько вСрсий ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΏΡ€ΠΈ нСобходимости, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΠΌ вСрсиям, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° сдСлал Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅Β». ΠŸΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ самой Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ – всС вСрсии статСй со всСми ΠΏΡ€Π°Π²ΠΊΠ°ΠΌΠΈ доступны для изучСния.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, использованиС Π‘ΠšΠ’ Π² ситуации, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ мноТСство вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ² – Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ. К прСимущСствам Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° относятся удобство использования ΠΈ экономия свободного дискового пространства благодаря Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌΡƒ Π΄Π΅Π»ΡŒΡ‚Π°-ΡΠΆΠ°Ρ‚ΠΈΡŽ (ΠΊΠΎΠ³Π΄Π° ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π΅ сами Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вСрсиях, Π° измСнСния ΠΎΡ‚ вСрсии ΠΊ вСрсии, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ объСм Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…). Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ.

КакиС Π±Ρ‹Π²Π°ΡŽΡ‚ Π‘ΠšΠ’

Π’Π° ΠΆΠ΅ ВикипСдия подсказываСт, Ρ‡Ρ‚ΠΎ Π‘ΠšΠ’ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈ распрСдСлСнныС, большиС ΠΈ малСнькиС, с ΠΏΡ€ΠΈΠΌΠΎΡ‡ΠΊΠ°ΠΌΠΈ ΠΈ Π±Π΅Π·. Нас это Π½Π΅ особо интСрСсуСт, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, сначала) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π‘ΠšΠ’. Π­Ρ‚ΠΎΡ‚ самый Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΈ рассмотрим.
ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС Π‘ΠšΠ’ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π½Π΅ΠΊΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся всС вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ. Π—Π΄Π΅ΡΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ вСрсии Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‡Π°Ρ‰Π΅ всСго опрСдСляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. ВнСсли ΠΌΡ‹, допустим, с дСсяток ΠΌΠ΅Π»ΠΊΠΈΡ… ΠΏΡ€Π°Π²ΠΎΠΊ ΠΈ Ρ€Π΅ΡˆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€Π° Π±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ нашСй Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Π’ Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ аналогия с пСриодичСским Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Ctrl+S, с Ρ‚Π΅ΠΌ лишь ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊ Π΄Π°Π½Π½ΠΎΠΉ вСрсии Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. ЕстСствСнно, Ρ‡Ρ‚ΠΎ Β«ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ°Ρ…ΠΎΠΌΒ» Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ занСсти Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ вСрсии сколь ΡƒΠ³ΠΎΠ΄Π½ΠΎ большого количСства Ρ„Π°ΠΉΠ»ΠΎΠ². НазываСтся это дСйствиС Β«commitΒ», ΠΈΠ»ΠΈ «фиксация ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΒ» ΠΏΠΎ-простому.
Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ ΠΏΠΎ-ΡƒΠΌΠ½ΠΎΠΌΡƒ называСтся Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅) ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ», ΠΈ Π‘ΠšΠ’ Π±ΡƒΠ΄Π΅Ρ‚ Β«ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒΒ» ΠΊΠΎΠ³Π΄Π° ΠΈ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ/ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ. А благодаря коммСнтариям ΠΏΡ€ΠΈ commit’ах ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ‰Π΅ ΠΈ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ для Ρ‡Π΅Π³ΠΎ собствСнно Π΄Π°Π½Π½Ρ‹ΠΉ commit выполняСтся (Β«Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Ρ„Π΅Π½Π΅Ρ‡ΠΊΡƒ Ρ‚ΡƒΠ΄Π°-Ρ‚ΠΎΒ»/Β«ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½ΡƒΠΆΠ½Ρ‹ΠΉ кусок ΠΎΡ‚Ρ‚ΡƒΠ΄Π°-Ρ‚ΠΎΒ»).
Когда ΠΆΠ΅ ΠΌΡ‹, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€Π° Π±Ρ‹ Π½Π°ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ вСрсии нСдСльной давности, Ρƒ нас имССтся вся история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. И Ρ‚ΡƒΡ‚ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· старого Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ кусочСк ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ – просто ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° старый Ρ„Π°ΠΉΠ» ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΠ· Π½Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅. Если ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π°Π·Π°Π΄ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ со старой вСрсиСй Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ снова ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π‘ΠšΠ’ – ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Ρ€Π°Π½Π½Π΅ΠΉ вСрсии ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ (Β«branchΒ»), сохранив ΠΏΡ€ΠΈ этом всС, ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ ΠΌΡ‹ Β«ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒΒ», ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ Π² вСрсиях Π½Π° нСдСлю Π½Π°Π·Π°Π΄. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ вСрсий ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° графичСски ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅Ρ€Π΅Π²Π° – ΠΎΡ‚ Β«ΠΊΠΎΡ€Π½Π΅ΠΉΒ» (Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°) Π΄ΠΎ Β«Π²Π΅Ρ‚Π²Π΅ΠΉΒ» (ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΎΠΊ). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Β«Π²Π΅Ρ‚ΠΊΡƒΒ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ искусствСнно, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ… исходных Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠΌ Ρ€Π°Π·Π²ΠΈΡ‚ΡŒ Π΄Π²Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ вСрсии – Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌΠΈ Ρ„Π΅Π½Π΅Ρ‡ΠΊΠ°ΠΌΠΈ, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ – Π½Π°Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π² случаС, Ссли Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой тСкстовыС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ (ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ…), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ объСдинСниС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ Π² ΠΎΠ΄Π½Ρƒ – Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ слияниС (Β«mergeΒ»). Π’Π΅ΠΏΠ΅Ρ€ΡŒ прСдставим, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ занимаСтся своСй Ρ‚Π°ΠΊΠΎΠΉ Β«Ρ„Π΅Π½Π΅Ρ‡ΠΊΠΎΠΉΒ». НаличиС ΠΎΠ±Ρ‰Π΅Π³ΠΎ рСпозитория Π² этом случаС сильно ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

ΠžΡ‚ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, ΠΈΠ»ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠšΠ’

Для ΠΊΠΎΠ³ΠΎ эта ΡΡ‚Π°Ρ‚ΡŒΡ

Π—Π°ΠΊΠΎΠ½Ρ‡Ρƒ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Ρ‚Π΅ΠΌ, с Ρ‡Π΅Π³ΠΎ слСдовало Π±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ – для ΠΊΠΎΠ³ΠΎ эта ΡΡ‚Π°Ρ‚ΡŒΡ? ΠžΡ‚Π²Π΅Ρ‚ прост – для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π‘ΠšΠ’. МнС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Β«ΠΏΠΎΠ΄ΡΠ°Π΄ΠΈΡ‚ΡŒΒ» Π½Π° Π‘ΠšΠ’ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ², ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈ Π΄Π°ΠΆΠ΅ писатСля. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈ Π²Ρ‹ – этим Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, сильно ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚Π΅ сСбС Ρ€Π°Π±ΠΎΡ‚Ρƒ.

P. S. ΠŸΠ΅Ρ€Π΅Π½Π΅Ρ Π² Π±Π»ΠΎΠ³ «БистСмы управлСния вСрсиями».

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

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

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