Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ VCS (систСма контроля вСрсий) / Π₯Π°Π±Ρ€

БистСма контроля вСрсий (ΠΎΡ‚ Π°Π½Π³Π». Version Control System, VCS) β€” это мСсто хранСния ΠΊΠΎΠ΄Π°. Как dropbox, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²!

Она Π·Π°Ρ‚ΠΎΡ‡Π΅Π½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². Π’ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, созданиС Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² (Π±Ρ€Π°Π½Ρ‡Π΅ΠΉ)… Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ я Π»ΡƒΡ‡ΡˆΠ΅ расскаТу Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ρ‡Π΅ΠΌ ΠΎΠ½Π° Π»ΡƒΡ‡ΡˆΠ΅ дропбокса. Всё ΠΊΠ°ΠΊ всСгда, история с ΠΊΡƒΡ‡Π΅ΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΡ‡Π΅ΠΊ для наглядности ))

А ΠΏΠΎΡ‚ΠΎΠΌ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ расскаТу, ΠΊΠ°ΠΊ VCS Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ β€”Β Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ «ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ», «Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡΠΌΠ΅Ρ€Π΄ΠΆΠΈΡ‚ΡŒ измСнСния», ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡΡ‚Ρ€Π°ΡˆΠ½Ρ‹Π΅ слова. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΌΡ‹ ΠΏΠΎΡ‰ΡƒΠΏΠ°Π΅ΠΌ ΠΎΠ΄Π½Ρƒ ΠΈΠ· систСм VCS Ρ€ΡƒΠΊΠ°ΠΌΠΈ, скачаСм ΠΊΠΎΠ΄ ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ рСпозитория.

Π˜Ρ‚ΠΎΠ³ΠΎ содСрТаниС:

  • Π§Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°

  • Как VCS Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

    • ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

      1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

      2. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· рСпозитория

    • ЕТСднСвная Ρ€Π°Π±ΠΎΡ‚Π°

      1. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π·Π°Π±Ρ€Π°Ρ‚ΡŒ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ· рСпозитория

      2. ВнСсти измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

      3. Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ (merge)

      4. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Ρ€Π°Π½Ρ‡ (Π²Π΅Ρ‚ΠΊΡƒ)

  • ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ VCS ΠΈ отличия ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ

  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β€” Π²Ρ‹ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· Git

    1. Π§Π΅Ρ€Π΅Π· консоль

    2. Π§Π΅Ρ€Π΅Π· IDEA

    3. Π§Π΅Ρ€Π΅Π· TortoiseGit

  • Π˜Ρ‚ΠΎΠ³ΠΎ

Π§Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°

Допустим, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π½Π° Java (язык программирования). Π£ нас Π΅ΡΡ‚ΡŒ нСсколько Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² β€” Вася, ΠŸΠ΅Ρ‚Ρ ΠΈ Иван. Π§Π΅Ρ€Π΅Π· нСдСлю Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ распрСдСляСм Ρ€Π°Π±ΠΎΡ‚Ρƒ:

  • Вася Π΄Π΅Π»Π°Π΅Ρ‚ слоТСниС;

  • ΠŸΠ΅Ρ‚Ρ β€” Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅;

  • Иван β€” Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΎΠ½ΠΎ слоТноС, поэтому ΠΏΠ΅Ρ€Π΅Π΅Π΄Π΅Ρ‚ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π»ΠΈΠ·.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π° хранится Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π½Π° сСтСвом дискС, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ всС Ρ‚Ρ€ΠΎΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ доступ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ этот ΠΊΠΎΠ΄ ΠΊ сСбС Π½Π° ΠΌΠ°ΡˆΠΈΠ½Ρƒ, вносит измСнСния ΠΈ провСряСт. Если всё Ρ…ΠΎΡ€ΠΎΡˆΠΎ β€” ΠΊΠ»Π°Π΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π² ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ всСгда Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ!

Π˜Ρ‚Π°ΠΊ, всС Π·Π°Π±Ρ€Π°Π»ΠΈ сСбС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ. Пока ΠΈΡ… Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ:

Π‘ Π½ΠΈΠΌΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ!

Вася Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» Π½Π° своСй машинС — всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ! Π£Π΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½Π½ΠΎ Π²Π·Π΄ΠΎΡ…Π½ΡƒΠ², ΠΎΠ½ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ свой ΠΊΠΎΠ΄ Π² ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ. Вася сдСлал ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс Π½Π° слоТСниС (Sum.java), Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² графичСский интСрфСйс (внСс измСнСния Π² GUI.java) ΠΈ прописал Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Main. java.

ΠŸΠ΅Ρ‚Ρ Ρ…ΠΈΠΌΠΈΡ‡ΠΈΠ»-Ρ…ΠΈΠΌΠΈΡ‡ΠΈΠ», ускорял Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»… Но Π²ΠΎΡ‚ ΠΈ ΠΎΠ½ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½Π½ΠΎ Π²Π·Π΄ΠΎΡ…Π½ΡƒΠ» β€” Π³ΠΎΡ‚ΠΎΠ²ΠΎ! ΠŸΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» Π΅Ρ‰Ρ‘ Ρ€Π°Π· β€”Β Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚! Он ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ со своСй ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π² ΠΎΠ±Ρ‰ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ. Он Ρ‚ΠΎΠΆΠ΅ сдСлал ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс для Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ β€” Minus.java), внСс измСнСния Π² Main.java ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² GUI.java.

Β 

Ваня ΠΏΠΎΠΊΠ° Ρ…ΠΈΠΌΠΈΡ‡ΠΈΡ‚ Π½Π° своСй машинС, Π½ΠΎ Π΅ΠΌΡƒ Π½Π΅ΠΊΡƒΠ΄Π° Ρ‚ΠΎΡ€ΠΎΠΏΠΈΡ‚ΡŒΡΡ, Π΅Π³ΠΎ измСнСния ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ».

ВсС Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹, Вася с ΠŸΠ΅Ρ‚Π΅ΠΉ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ ΠΏΠ»Π°Π½Ρ‹ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π»ΠΈΠ·. Но Ρ‚ΡƒΡ‚ с ΠΏΠΎΠΊΠ°Π·Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° возвращаСтся расстроСнная ΠšΠ°Ρ‚Ρ, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

β€” ΠšΠ°Ρ‚Ρ, Ρ‡Ρ‚ΠΎ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ??

β€” Π’Ρ‹ ΠΆΠ΅ сказали, Ρ‡Ρ‚ΠΎ всё сдСлали! А Π² графичСском интСрфСйсС Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅. БлоТСния Π½Π΅Ρ‚!

Вася удивился:

β€” Как это Π½Π΅Ρ‚? Π― ΠΆΠ΅ добавлял!

Π‘Ρ‚Π°Π»ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ.Β  Оказалось, Ρ‡Ρ‚ΠΎ ΠŸΠ΅Ρ‚ΠΈΠ½ Ρ„Π°ΠΉΠ» Π·Π°Ρ‚Π΅Ρ€ измСнСния Васи Π² Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ мСняли ΠΎΠ±Π°: Main.java ΠΈ GUI.java. Π’Π΅Π΄ΡŒ рСбята ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ взяли исходныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊ сСбС Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ β€” Ρƒ ΠΎΠ±ΠΎΠΈΡ… Π±Ρ‹Π»Π° вСрсия Π‘Π•Π— Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Вася ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» всС Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅. Π”Π°, Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ всё Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ. Но вСдь ΠŸΠ΅Ρ‚Ρ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² Ρ„Π°ΠΉΠ»Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅Ρ‰Ρ‘ Π½Π΅ Π±Ρ‹Π»ΠΎ Васиных ΠΏΡ€Π°Π²ΠΎΠΊ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Васины ΠΏΡ€Π°Π²ΠΊΠΈ Π±Ρ‹Π»ΠΈ стСрты. ΠžΡΡ‚Π°Π»ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Sum.java, вСдь Π΅Π³ΠΎ ΠŸΠ΅Ρ‚Ρ Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Π».

Π₯ΠΎΡ€ΠΎΡˆΠΎ Ρ…ΠΎΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠ° распрСдСлСна! Если Π±Ρ‹ всё Π»Π΅ΠΆΠ°Π»ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ классС, Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΊΠΈ Васи ΠΈ ΠŸΠ΅Ρ‚ΠΈ. А Ρ‚Π°ΠΊ достаточно Π±Ρ‹Π»ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Main.java ΠΈ GUI.java, Π²Π΅Ρ€Π½ΡƒΠ² Ρ‚ΡƒΠ΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ. РСбята быстро ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈΡΡŒ с этим, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΏΠ°ΠΏΠΊΠ΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π»Π΅ΠΆΠΈΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия ΠΊΠΎΠ΄Π°.

Π‘ΠΎΠ±Ρ€Π°Π»ΠΈ ΠΌΠΈΡ‚ΠΈΠ½Π³ (ΠΆΠ°Ρ€Π³ΠΎΠ½ β€” собраниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ):

β€” Как Π½Π°ΠΌ Π½Π΅ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… косяков Π² дальнСйшСм?

β€” Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π·Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° послСдниС вСрсии! А Π΅Ρ‰Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ€Π°Ρ‚ΡŒ ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ с ΡƒΡ‚Ρ€Π°. НапримСр, Π² 9 часов. А ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ измСнСния. Если ΠΎΠ½Π° ΠΏΠΎΠ·ΠΆΠ΅ 9 ΡƒΡ‚Ρ€Π°, Π·Π½Π°Ρ‡ΠΈΡ‚, Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

β€” Π”Π°, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ!

Вася с ΠŸΠ΅Ρ‚Π΅ΠΉ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹, вСдь Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ! И Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Иван грустит. Π’Π΅Π΄ΡŒ ΠΎΠ½ Ρ†Π΅Π»ΡƒΡŽ нСдСлю Ρ€Π°Π±ΠΎΡ‚Π°Π» с ΠΊΠΎΠ΄ΠΎΠΌ, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΠΌΡƒ Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вСрсии… Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ свои ΠΏΡ€Π°Π²ΠΊΠΈ с измСнСниями ΠΊΠΎΠ»Π»Π΅Π³.

Π”ΠΎΠ΄Π΅Π»Π°Π² Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠΎ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡŽ, Иван синхронизировал свои Ρ„Π°ΠΉΠ»Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. Π­Ρ‚ΠΎ заняло ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ дня, Π½ΠΎ Π·Π°Ρ‚ΠΎ ΠΎΠ½ Π½Π°ΠΊΠΎΠ½Π΅Ρ†-Ρ‚ΠΎ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» Ρ€Π°Π±ΠΎΡ‚Ρƒ! Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ, Иван Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΠ» ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈ ΡƒΡˆΠ΅Π» Π΄ΠΎΠΌΠΎΠΉ.

Когда ΠΎΠ½ ΠΏΡ€ΠΈΡˆΠ΅Π» с ΡƒΡ‚Ρ€Π°, Π² офисС Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»ΠΎΡ…. Вася Π±Π΅Π³Π°Π» ΠΏΠΎ офису ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΡ‚Π°Π»:

β€” Мои измСнСния ΠΏΡ€ΠΎΠΏΠ°Π»ΠΈ!!! А я ΠΈΡ… Π½Π΅ сохранил!

Π£Π²ΠΈΠ΄Π΅Π² Π’Π°Π½ΡŽ, ΠΎΠ½ подскочил ΠΊ Π½Π΅ΠΌΡƒ ΠΈ затряс Π·Π° Π³Ρ€ΡƒΠ΄ΠΊΠΈ:

β€” Π—Π°Ρ‡Π΅ΠΌ Ρ‚Ρ‹ стСр ΠΌΠΎΠΉ ΠΊΠΎΠ΄??

Π‘Ρ‚Π°Π»ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ. Оказалось Ρ‡Ρ‚ΠΎ Вася Π²Ρ‡Π΅Ρ€Π° Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» свой кусок Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ Π±Ρ‹Π»ΠΎ, ΠΈ просто пСрСмСстил Ρ„Π°ΠΉΠ»Ρ‹ со своСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π² ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ. НС скопировал, Π° пСрСмСстил. Копий Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π½Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ.

ПослС этого измСнСния вносил Иван. Π”Π°, ΠΎΠ½ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π» Ρ„Π°ΠΉΠ»Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ старался ΡƒΡ‡Π΅ΡΡ‚ΡŒ ΠΈ свои ΠΏΡ€Π°Π²ΠΊΠΈ, ΠΈ Ρ‡ΡƒΠΆΠΈΠ΅. Но ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ слишком ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Π°ΡΡ‚ΡŒ Васиных ΠΏΡ€Π°Π²ΠΎΠΊ ΠΎΠ½ потСрял.

β€” Код Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚! Π’Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ провСрял ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ² ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ?

β€” НСт, я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ свою Ρ‡Π°ΡΡ‚ΡŒ посмотрСл…

Вася ΠΏΠΎΠΊΠ°Ρ‡Π°Π» Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ:

β€” Но вСдь ΠΏΡ€ΠΈ сохранСнии Π½Π° ΠΎΠ±Ρ‰ΠΈΠΉ диск ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ! По самым Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ, Ρ‡Π°Ρ‰Π΅ допускаСт ошибки.

  • Π‘Π»ΡƒΡ‡Π°ΠΉΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пропустил β€” Ссли Π½ΡƒΠΆΠ½ΠΎ Β«ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΒ» ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡˆΡŒ.

  • ΠŸΠΎΡΡ‡ΠΈΡ‚Π°Π», Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ β€” Ρ‡Ρ‚ΠΎ ΠΎΠ½ устарСл ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ твоя новая Π»ΠΎΠ³ΠΈΠΊΠ° Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС, Π° Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ совсСм.

И Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ пСрСстанСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Как Ρƒ нас сСйчас.

Ваня задумался:

β€” Π₯ΠΌ… Π”Π°, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Ρ‚Ρ‹ ΠΏΡ€Π°Π². НуТно Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚!

ΠŸΠ΅Ρ‚Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»:

β€” И ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ вСрсии. ΠœΠΎΠΆΠ΅Ρ‚, пСрСнСсСм наш ΠΊΠΎΠ΄ Π² Dropbox, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ‚Π΅Ρ€ΡΡ‚ΡŒ измСнСния?

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

Π§Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Ρƒ Π΄Π½Π΅ΠΉ рСбята снова собрали ΠΌΠΈΡ‚ΠΈΠ½Π³:

β€” Ну ΠΊΠ°ΠΊ Π²Π°ΠΌ Π² дропбоксС?

β€” Π£ΠΆΠ΅ Π»ΡƒΡ‡ΡˆΠ΅. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π½Π΅ потСряСм ΠΏΡ€Π°Π²ΠΊΠΈ!

ΠŸΠ΅Ρ‚Ρ расстроСнно ΠΏΠΎΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ»Π΅Ρ‡Π°ΠΌΠΈ:

β€” Π”Π°, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ с ВасСй ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ вносили измСнСния Π² Main.java, создалась ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰Π°Ρ вСрсия. И ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΡ… ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ… А класс Ρ‚ΠΎ ΡƒΠΆΠ΅ подрос! И Π³Π»Π°Π·ΠΊΠ°ΠΌΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ 100 строк ΠΎΡ‡Π΅Π½ΡŒ нСвСсСло… ВсСгда Π΅ΡΡ‚ΡŒ шанс Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

β€” Ну, ΠΌΠΎΠΆΠ½ΠΎ ΠΆΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ, ΠΊΡ‚ΠΎ создал ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΈ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ Ρƒ Π½Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ мСнял.

β€” Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ идСя, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ!

ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ. Π§Π΅Ρ€Π΅Π· нСсколько Π΄Π½Π΅ΠΉ снова ΠΌΠΈΡ‚ΠΈΠ½Π³:

β€” Как Π΄Π΅Π»Π°?

β€” Π”Π° всё зашибись, Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ!

β€” А ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΠ΄ ΠΈΠ· дропбокса Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

β€” Как Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚??? ΠœΡ‹ Π²Ρ‡Π΅Ρ€Π° с ВасСй ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ!

β€” А Ρ‚Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ Π΅Π³ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Π»ΠΈ всС вмСстС β€” ΠΈ ΠΏΡ€Π°Π²Π΄Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Какая-Ρ‚ΠΎ ошибка Π² Main.java. Π‘Ρ‚Π°Π»ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ:

β€” Π’Π°ΠΊ, Ρ‚ΡƒΡ‚ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

β€” Ой, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅, я ΠΆΠ΅ Π΅Ρ‘ добавлял!

β€” Но Ρ‚Ρ‹ ΠΌΠ½Π΅ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» ΠΎ Π½Π΅ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ объСдиняли ΠΏΡ€Π°Π²ΠΊΠΈ.

β€” Π”Π°? НавСрноС, Π·Π°Π±Ρ‹Π»…

β€” ΠœΠΎΠΆΠ΅Ρ‚, Π΅Ρ‰Π΅ Ρ‡Ρ‚ΠΎ Π·Π°Π±Ρ‹Π»? Ну ΡƒΠΆ Π΄Π°Π²Π°ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π³Π»Π°Π·Π°ΠΌΠΈ…

ПосидСли, Π²Ρ‹Π²Π΅Ρ€ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½Ρ‹Π΅ вСрсии. ΠŸΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΈ час Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ всСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ·-Π·Π° пустяка. Обидно!

β€” Π‘Π»ΡƒΡˆΠ°ΠΉΡ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚, это ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΏΠΎΠΏΡ€ΠΎΡ‰Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Π°? Π§Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Π½Π΅ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Β«Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ мСнял»?

β€” МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ сравнСния Ρ„Π°ΠΉΠ»ΠΎΠ². Π― Π²Ρ€ΠΎΠ΄Π΅ ΡΠ»Ρ‹ΡˆΠ°Π» ΠΎ Ρ‚Π°ΠΊΠΈΡ…. AraxisMerge, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€!

β€” Ой, Ρ‚ΠΎΡ‡Π½ΠΎ! Π’ IDEA ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄ с ΠΊΠ»ΠΈΠΏΠ±ΠΎΡ€Π΄ΠΎΠΌ (сохранСнным Π² Ctrl + C Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ). Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ!

β€” Π’ΠΎΡ‡Π½ΠΎ!

Начали ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ β€”Β ΠΆΠΈΠ·Π½ΡŒ пошла вСсСлСС. Но Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Ρƒ Π΄Π½Π΅ΠΉ Иван снова собрал ΠΌΠΈΡ‚ΠΈΠ½Π³:

β€” РСбята, Ρ‚ΡƒΡ‚ такая Ρ‚Π΅ΠΌΠ°! ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для хранСния ΠΊΠΎΠ΄Π°! Они хранят всС вСрсии ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Волько Π΄Π΅Π»Π°Π΅Ρ‚ это сама ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π° Π½Π΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ!

β€” Π”Π°? И Ρ‡Ρ‚ΠΎ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹?

β€” БистСмы контроля вСрсий Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ. Π’ΠΎΡ‚ SVN, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΅Π³ΠΎ?

β€” А Π΄Π°Π²Π°ΠΉΡ‚Π΅!

ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚! Π•Ρ‰Π΅ ΠΈ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΊ сама синхронизируСт, Π΄Π°ΠΆΠ΅ Ссли Вася с ΠŸΠ΅Ρ‚Π΅ΠΉ снова Π½Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ». Как ΠΎΠ½Π° это Π΄Π΅Π»Π°Π΅Ρ‚? Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ!

Β 

Β 

Как VCS Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

Π­Ρ‚ΠΎ Ρ‚Π΅ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

Β 

1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Π˜ΡΡ…ΠΎΠ΄Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСсто, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄. Оно называСтся Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. БоздаСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· администратором.

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

А ΠΏΠΎΡ‚ΠΎΠΌ Вася Π±Π΅Ρ€Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΈΠ· дропбокса, ΠΈ ΠΊΠ»Π°Π΄Π΅Ρ‚ Π΅Π³ΠΎ Π² VCS ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. Π’ Ρ€Π°Π·Π½Ρ‹Ρ… систСмах контроля вСрсии Ρ€Π°Π·Π½Ρ‹Π΅ названия Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π½ΠΎ ΡΡƒΡ‚ΡŒ ΠΎΠ΄Π½Π° β€” ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠ΄.

Всё! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ…! Π‘ Π½ΠΈΠΌ дальшС ΠΈ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Β 

2. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· рСпозитория

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· рСпозитория. МоТно, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΈ ΠΈΠ· дропбокса ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Ρ‚Π°ΠΌ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ вСрсия, Π½ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠΆΠ΅ ΠΆΠΈΡ‚ΡŒ ΠΏΠΎ-ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ!

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠŸΠ΅Ρ‚Ρ, Вася ΠΈ Иван ΡƒΠ΄Π°Π»ΡΡŽΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Ρƒ Π½ΠΈΡ… Π±Ρ‹Π»ΠΎ Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…. И Π·Π°Π±ΠΈΡ€Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· рСпозитория, клонируя Π΅Π³ΠΎ. Π’ Mercurial (ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² VCS) эта ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‚Π°ΠΊ ΠΈ называСтся β€” clone. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах ΠΎΠ½Π° зовСтся ΠΈΠ½Π°Ρ‡Π΅, Π½ΠΎ смысл всё Ρ‚ΠΎΡ‚ ΠΆΠ΅ β€”Β ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π»Π΅ΠΆΠΈΡ‚ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊ сСбС Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€!

Π—Π°Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Ссли Ρƒ тСбя Π΅Π³ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ Π±Ρ‹Π»ΠΎ. Π”Π°Π»ΡŒΡˆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΡƒΠ΄Π°-сюда.

А ΠΊΠΎΠ³Π΄Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ сотрудник, ΠΎΠ½ сдСлаСт Ρ‚ΠΎ ΠΆΠ΅ самоС β€” скачаСт ΠΈΠ· рСпозитория Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠΎΠ΄Π°.

Β 

ЕТСднСвная Ρ€Π°Π±ΠΎΡ‚Π°

А это Ρ‚Π΅ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ часто.

Β 

1. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π·Π°Π±Ρ€Π°Ρ‚ΡŒ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ· рСпозитория

ΠŸΡ€ΠΈΡ…ΠΎΠ΄Ρ ΡƒΡ‚Ρ€ΠΎΠΌ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π’Π΄Ρ€ΡƒΠ³ послС Ρ‚Π²ΠΎΠ΅Π³ΠΎ ΡƒΡ…ΠΎΠ΄Π° ΠΊΡ‚ΠΎ-Ρ‚ΠΎ вносил измСнСния?

Π’Π°ΠΊ, Вася ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡƒΡ‚Ρ€ΠΎΠΌ ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎ Ваня ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Ρ„Π°ΠΉΠ»Ρ‹ Main.java ΠΈ GUI.java. ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ Васи Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ вСрсия Π½Π° машинС. МоТно ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅!

Π’ SVN ΠΊΠΎΠΌΠ°Π½Π΄Π° обновлСния называСтся Β«updateΒ», Π² Mercurial β€” Β«pullΒ». Она свСряСт ΠΊΠΎΠ΄ Π½Π° Ρ‚Π²ΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ с ΠΊΠΎΠ΄ΠΎΠΌ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Если Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ появились Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΠ½Π° ΠΈΡ… скачаСт. Если ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ β€”Β ΡƒΠ΄Π°Π»ΠΈΡ‚ ΠΈ с Ρ‚Π²ΠΎΠ΅ΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Ρ‚ΠΎΠΆΠ΅. А Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ мСнялось, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ ΠΊΠΎΠ΄ Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π’ΡƒΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ вопрос β€” Π² Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ clone? МоТно ΠΆΠ΅ просто ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, Π΄Π° ΠΈ всё! Π—Π°Ρ‡Π΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°?

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория производится с нуля. А ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΊΠΎΠ΄ΠΎΠΌ, Ρƒ Π½ΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ измСнСния. Когда Π½Π°Ρ‡Π°Π» Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ». Но ΠΏΡ€ΠΈ этом Ρ…ΠΎΡ‡Π΅ΡˆΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π±Ρ‹Π»ΠΎ мСньшС.

Если Π±Ρ‹ использовалось ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‚ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ всС свои измСнСния Π² Β«Π½ΠΎΠ²Ρ‹ΠΉΒ» Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. А это совсСм Π½Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. ОбновлСниС Π½Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ вас Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

А Π΅Ρ‰Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ β€” это быстрСС. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΌΠΎΠ³Π»ΠΈ 5 Ρ„Π°ΠΉΠ»ΠΈΠΊΠΎΠ² ΠΈΠ· 1000, Π·Π°Ρ‡Π΅ΠΌ Π²Ρ‹ΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ всё?

Β 

2. ВнСсти измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Вася Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ слоТСния. Он ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π», ΠΊΠ°ΠΊ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ. А Π·Π°ΠΎΠ΄Π½ΠΎ, Ρ€Π°Π· ΡƒΠΆ взялся Π·Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ (ΠΆΠ°Ρ€Π³ΠΎΠ½ β€” ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ систСмы, ΠΎΡ‚ Π°Π½Π³Π». refactor), ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΠΈ основной класс Main.java.

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ½ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° локальном (своём) ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π·Π°Π±Ρ€Π°Π² ΠΈΠ· рСпозитория Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ вСрсии. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π³ΠΎΡ‚ΠΎΠ² ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ свои измСнСния. Π­Ρ‚ΠΎ дСлаСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ двумя ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ — зависит ΠΎΡ‚ Ρ‚ΠΎΠΉ VCS, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π² Ρ€Π°Π±ΠΎΡ‚Π΅.

Β 

1 ΠΊΠΎΠΌΠ°Π½Π΄Π° β€” commit

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ систСмы β€”Β SVN.

Π‘Π΄Π΅Π»Π°Π² измСнСния, Вася ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ ΠΈΡ…. Π’Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«commitΒ» β€” ΠΈ всС измСнСния ΡƒΠ»Π΅Ρ‚Π°ΡŽΡ‚ Π½Π° сСрвСр. Всё просто ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

Β 

2 ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ β€” commit + push

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ систСмы β€”Β Mercurial, Git.

Π‘Π΄Π΅Π»Π°Π² измСнСния, Вася ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ ΠΈΡ…. Π’Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«commitΒ» β€” измСнСния сохранСны ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚. Но Π½Π° сСрвСр ΠΎΠ½ΠΈ НЕ уходят!

Π§Ρ‚ΠΎΠ±Ρ‹ измСнСния пошли Π½Π° сСрвСр, ΠΈΡ… Π½Π°Π΄ΠΎ Β«Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒΒ». Π’ΠΎ Π΅ΡΡ‚ΡŒ ввСсти ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«pushΒ».

Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π½ΠΎ Π½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. НапримСр, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ code freeze ΠΈ тСстировщики Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ рСгрСссиСй. Или Ссли Π·Π°Π΄Π°Ρ‡Π° большая ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ всСго ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΅Ρ‘ Π½Π°Π΄ΠΎ сначала довСсти Π΄ΠΎ ΡƒΠΌΠ°, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ ΠΏΡƒΡˆΠΈΡ‚ΡŒ Π² ΠΎΠ±Ρ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈΠ½Π°Ρ‡Π΅ Ρƒ всСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ развалится сборка!

ΠŸΡ€ΠΈ этом Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ измСнСния локально Ρ‚ΠΎΠΆΠ΅ Π½Π΅ слишком ΡƒΠ΄ΠΎΠ±Π½ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ спокойно Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ ΠΏΡƒΡˆΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π³ΠΎΡ‚ΠΎΠ². Или ΠΊΠΎΠ³Π΄Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ появился =) Для ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΎΠ½ Π½Π΅ Π½ΡƒΠΆΠ΅Π½.

Β 

Π˜Ρ‚ΠΎΠ³ΠΎ

Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сохраняСт ΠΊΠΎΠ΄ Π² ΠΎΠ±Ρ‰Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚:

β€” Π—Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ».

Или:

β€” Π—Π°ΠΏΡƒΡˆΠΈΠ».

Бмотря Π² ΠΊΠ°ΠΊΠΎΠΉ систСмС ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ПослС этих слов Π²Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ β€” ΠΊΠΎΠ΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° своСй машинС ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ!

Β 

3. Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ (merge)

Вася Π΄ΠΎΠ±Π°Π²ΠΈΠ» вычислСниС ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ², Π° ΠŸΠ΅Ρ‚Ρ β€” Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠŸΠ΅Ρ€Π΅Π΄ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΎΠ½ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ свои Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ сборки, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² с сСрвСра Π²Π΅Ρ€ΡΠΈΡŽ 3 Ρ„Π°ΠΉΠ»ΠΎΠ² Main.java ΠΈ Gui.java.

Для простоты восприятия нарисуСм Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эти Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Minus.java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рСбята Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚.

Вася Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ² свой ΠΊΠΎΠ΄, ΠΎΠ½ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» измСнСния Π½Π° сСрвСр. Он:

  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Percent.java

  • Обновил Main.java (Π²Π΅Ρ€ΡΠΈΡŽ 3)

  • Обновил Gui.java (Π²Π΅Ρ€ΡΠΈΡŽ 3)

ΠŸΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ Π½Π° сСрвСр Π±Ρ‹Π»ΠΈ созданы вСрсии:

ΠŸΠ΅Ρ‚Ρ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅.

Он:

  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Division.java

  • Обновил Main.java (Π²Π΅Ρ€ΡΠΈΡŽ 3, вСдь ΠΎΠ½ΠΈ с ВасСй скачивали Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ)

  • Обновил Gui.java (Π²Π΅Ρ€ΡΠΈΡŽ 3)

Π“ΠΎΡ‚ΠΎΠ²ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ! ΠŸΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ Π½Π° сСрвСр Π±Ρ‹Π»ΠΈ созданы вСрсии:

Но стойтС, ΠŸΠ΅Ρ‚Ρ обновляСт Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° обновлСния ΠΊΠΎΠ΄Π° Π½Π° локальной машинС! ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚!

Π§Π°ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² систСма ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ сама, Π΅ΠΉ достаточно лишь ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Β«mergeΒ». И Π² Π΄Π°Π½Π½ΠΎΠΌ случаС этого Π±ΡƒΠ΄Π΅Ρ‚ достаточно, вСдь рСбята писали ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π° Π² Main.java ΠΈ Gui.java добавляли Π½ΠΎΠ²Ρ‹Π΅ строчки, Π½Π΅ трогая старыС. Они Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΏΠΎ своим ΠΏΡ€Π°Π²ΠΊΠ°ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ систСма «сливаСт» измСнСния — добавляСт Π² Π²Π΅Ρ€ΡΠΈΡŽ 4 ΠŸΠ΅Ρ‚ΠΈΠ½Ρ‹ строчки.

Но Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΎΠ½ΠΈ измСняли ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄? Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. БистСма контроля вСрсий подсвСчиваСт ΠŸΠ΅Ρ‚Π΅ Васины ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ дальшС. БистСма ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²:

  • ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Васин ΠΊΠΎΠ΄, Π·Π°Ρ‚Π΅Ρ€Π΅Π² ΠŸΠ΅Ρ‚ΠΈΠ½Ρ‹ ΠΏΡ€Π°Π²ΠΊΠΈ β€” Ссли ΠŸΠ΅Ρ‚Ρ посмотрит Васны измСнСния ΠΈ ΠΏΠΎΠΉΠΌΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ Π»ΡƒΡ‡ΡˆΠ΅

  • Π—Π°Ρ‚Π΅Ρ€Π΅Ρ‚ΡŒ Васины ΠΏΡ€Π°Π²ΠΊΠΈ, взяв Π²Π΅Ρ€ΡΠΈΡŽ ΠŸΠ΅Ρ‚Ρ€Π° β€” Ссли ΠΎΠ½ посчитаСт, Ρ‡Ρ‚ΠΎ сам всС ΡƒΡ‡Π΅Π»

  • Π‘Π°ΠΌΠΎΠΌΡƒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ β€” Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Π² Ρ„Π°ΠΉΠ» ΠΊΠΎΠ΄Π° Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±Π΅ вСрсии ΠΈ Π½Π°Π΄ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡΠ»Π΅ΠΏΠΈΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ кусок ΠΊΠΎΠ΄Π°

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

Но, разумССтся, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ всС Ρ€Π°Π²Π½ΠΎ Π±Ρ‹Π²Π°ΡŽΡ‚. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ слоТныС Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ дСнь-Π΄Π²Π°. Они Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Ρ‹. Π’ ΠΈΡ‚ΠΎΠ³Π΅, вливая свои измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΊΡƒΡ‡Ρƒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ², ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ β€”Β ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈ систСма объСдинила Ρ„Π°ΠΉΠ»Ρ‹? НС Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ?

Особая боль β€”Β Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, ΠΊΠΎΠ³Π΄Π° затрагиваСтся ΠœΠΠžΠ“Πž Ρ„Π°ΠΉΠ»ΠΎΠ². ОбновлСниС вСрсии Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΠ΅Ρ€Π΅Π΅Π·Π΄ с ant Π½Π° gradle, ΠΈΠ»ΠΈ просто Π²Ρ‹ΠΊΠ°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ лСгаси ΠΊΠΎΠ΄Π°. НСльзя ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎ кусочкам, ΠΈΠ½Π°Ρ‡Π΅ Ρƒ всСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ развалится сборка.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сначала нСсколько Π΄Π½Π΅ΠΉ занимаСтся своСй Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, Π° ΠΏΠΎΡ‚ΠΎΠΌ Ρƒ Π½Π΅Π³ΠΎ 200 Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… явно Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹.

А Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ? ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹. Иногда Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ большой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь обновляСтся ΠΈ ΠΌΠ΅Ρ€Π΄ΠΆΠΈΡ‚ измСнСния, Π° ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· нСсколько Π΄Π½Π΅ΠΉ.

ВСстировщик Π±ΡƒΠ΄Π΅Ρ‚ сильно Ρ€Π΅ΠΆΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½Ρ‹Π΅ ситуации, просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚ мСньшС ΠΊΠΎΠ΄Π°. Иногда Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΏΠΈΡˆΠ΅Ρ‚, ΠΈΠ½ΠΎΠ³Π΄Π° пополняСт автотСсты. Но с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΡ€ΠΈ этом ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ пСрСсСкаСтся. Однако Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ merge всС Ρ€Π°Π²Π½ΠΎ придСтся, пригодится!

Β 

4. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Ρ€Π°Π½Ρ‡ (Π²Π΅Ρ‚ΠΊΡƒ)

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½Π΅Π΄Π΅Π»Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ. БСйчас ΠΎΠ½ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄ Π½ΠΎΠ²Ρ‹ΠΌΠΈ измСнСниями. Как Π±Ρ‹Ρ‚ΡŒ? РСбята ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π° ΠΌΠΈΡ‚ΠΈΠ½Π³:

β€” Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅ΠΌ? НС ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ Π΄ΠΎ ΠΏΠΎΠΊΠ°Π·Π°?

β€” Π£ мСня ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ измСнСния. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‡Ρƒ, я Ρ‚ΠΎΡ‡Π½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ сломал.

ΠšΠ°Ρ‚Ρ хватаСтся Π·Π° Π³ΠΎΠ»ΠΎΠ²Ρƒ:

β€” Ой, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π±Π΅Π· этого, Π°? МнС ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΠΏΡΡ‚ΡŒ ΠΊΡ€Π°ΡΠ½Π΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°ΠΌΠΈ!

Π’ΡƒΡ‚ Π²ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Иван:

β€” А Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π±Ρ€Π°Π½Ρ‡Π΅Π²Π°Ρ‚ΡŒΡΡ!

ВсС ΠΎΠ³Π»ΡΠ½ΡƒΠ»ΠΈΡΡŒ Π½Π° Π½Π΅Π³ΠΎ:

β€” Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ?

Иван стал Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π½Π° доскС:

β€” Π‘Ρ€Π°Π½Ρ‡ — это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Π²Π΅Ρ‚ΠΊΠ° Π² ΠΊΠΎΠ΄Π΅. Π’ΠΎΡ‚ смотритС, ΠΌΡ‹ сСйчас Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π² trunk-Π΅, основной Π²Π΅Ρ‚ΠΊΠ΅.

Когда ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ-Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ наш ΠΊΠΎΠ΄ Π½Π° сСрвСр, Ρƒ нас появилась Β«Ρ‚ΠΎΡ‡ΠΊΠ° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°Β» — сохранСнная вСрсия ΠΊΠΎΠ΄Π°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚.

ΠŸΠΎΡ‚ΠΎΠΌ Вася Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ» измСнСния ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ классов β€”Β ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡŒ вСрсия 1 ΠΊΠΎΠ΄Π°.

ΠŸΠΎΡ‚ΠΎΠΌ ΠΎΠ½ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Ρ‹ β€” появилась вСрсия ΠΊΠΎΠ΄Π° 2.

ΠŸΡ€ΠΈ этом Π² самой VCS сохранСны всС вСрсии, ΠΈ ΠΌΡ‹ всСгда ΠΌΠΎΠΆΠ΅ΠΌ:

  • ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ измСнСния Π² вСрсии 1

  • Π‘Ρ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· вСрсии 1 ΠΈ вСрсии 2 β€” систСма наглядно ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, Π° Π³Π΄Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ

  • ΠžΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΡˆΠ»ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, Ссли вСрсия 2 Π±Ρ‹Π»Π° ошибкой.

ΠŸΠΎΡ‚ΠΎΠΌ ΠŸΠ΅Ρ‚Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π΄Π΅Π»Π΅Π½ΠΈΠ΅ β€” появилась вСрсия 3.

И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ β€” сколько сдСлаСм ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ вСрсий ΠΊΠΎΠ΄Π° Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅ΠΆΠ°Ρ‚ΡŒ. А Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±Ρ€Π°Π½Ρ‡, Ρ‚ΠΎ систСма ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΊΠ»Π°Π΄Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. На нашСм стволС появляСтся новая Π²Π΅Ρ‚ΠΊΠ° (branch ΠΏΠΎ Π°Π½Π³Π». β€”Β Π²Π΅Ρ‚ΠΊΠ°). А основной ствол ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·ΠΎΠ²ΡƒΡ‚ trunk-ΠΎΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли я Π·Π°Ρ…ΠΎΡ‡Ρƒ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ измСнСния, ΠΎΠ½ΠΈ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΠΎΠΉΠ΄ΡƒΡ‚ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Π‘Ρ€Π°Π½Ρ‡ ΠΏΡ€ΠΈ этом Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ НЕ Π±ΡƒΠ΄ΡƒΡ‚

(измСнСния ΠΈΠ΄ΡƒΡ‚ Π² Ρ‚Ρƒ Π²Π΅Ρ‚ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я сСйчас Π½Π°Ρ…ΠΎΠΆΡƒΡΡŒ. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создали branch, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ с trunk, основной Π²Π΅Ρ‚ΠΊΠΎΠΉ)

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ смСло ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² trunk. А для ΠΏΠΎΠΊΠ°Π·Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ branch, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Π΄Π°ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π² основной Π²Π΅Ρ‚ΠΊΠ΅ всё ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΈΠ·-Π·Π° ΠΊΡƒΡ‡ΠΈ ошибок.

Π‘ Π±Ρ€Π°Π½Ρ‡Π°ΠΌΠΈ ΠΌΡ‹ всСгда Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄!

β€” ПодоТди, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈ! А Π·Π°Ρ‡Π΅ΠΌ эти слоТности? ΠœΡ‹ вСдь всСгда ΠΌΠΎΠΆΠ΅Ρ‚ просто ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π° Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ! НапримСр, Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ 2. И Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π±Ρ€Π°Π½Ρ‡Π΅ΠΉ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π½Π°Π΄ΠΎ!

β€” Π­Ρ‚ΠΎ Π²Π΅Ρ€Π½ΠΎ. Но Ρ‚ΠΎΠ³Π΄Π° Ρ‚Π΅Π±Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ всСгда ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ Ρƒ тСбя «всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Ρ‚ΡƒΡ‚ Π΅ΡΡ‚ΡŒ всС Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΒ». А Ссли Π΄Π΅Π»Π°Ρ‚ΡŒ говорящиС названия Π±Ρ€Π°Π½Ρ‡Π΅ΠΉ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρƒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°).

Π’ΠΎΡ‚ смотри, допустим, ΠΌΡ‹ выпустили сборку 3, идСально Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ. Бпустя нСдСлю Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ Π΅Π΅ установил, Π° спустя мСсяц нашСл Π±Π°Π³. Π£ нас Π·Π° эти Π½Π΅Π΄Π΅Π»ΠΈ ΡƒΠΆΠ΅ 30 Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ ΠΈ ΠΊΡƒΡ‡Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ исправлСниС ошибки, Π½ΠΎ ΠΎΠ½ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ² ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ β€”Β Π²Π΅Π΄ΡŒ Π΅Π΅ Π½Π°Π΄ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Ρ†ΠΈΠΊΠ» тСстирования Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ нСдСлю. А Π±Π°Π³ Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ здСсь ΠΈ сСйчас! ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Π½Π°ΠΌ Π½Π°Π΄ΠΎ:

  • ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ 3

  • Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π±Π°Π³ локально (Π½Π° своСй машинС, Π° Π½Π΅ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ)

  • Никуда это Π½Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ = ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ эти исправлСния

  • Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ сборку локально ΠΈ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ

  • НС Π·Π°Π±Ρ‹Ρ‚ΡŒ ΡΠΊΠΎΠΏΠΈΠΏΠ°ΡΡ‚ΠΈΡ‚ΡŒ эти исправлСния Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠΎΠ΄Π° 33 ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ (ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ)

Π§Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ вСсСло. А Ссли Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ снова Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄? Π˜ΡΠΊΠ°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ сохранСны измСнСния? Или ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΈ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° дропбокс? А Π·Π°Ρ‡Π΅ΠΌ Ρ‚ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСму контроля вСрсий?

ИмСнно для этого ΠΌΡ‹ ΠΈ бранчуСмся! Π§Ρ‚ΠΎΠ±Ρ‹ всСгда ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ просто Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΊΠΎΠ΄Ρƒ, Π½ΠΎ ΠΈ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ измСнСния. Π’ΠΎΡ‚ смотритС, ΠΊΠΎΠ³Π΄Π° Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ нашСл Π±Π°Π³, ΠΌΡ‹ исправили Π΅Π³ΠΎ Π² Π±Ρ€Π°Π½Ρ‡Π΅, Π° ΠΏΠΎΡ‚ΠΎΠΌ смСрдТили Π² Ρ‚Ρ€Π°Π½ΠΊ.

Π‘ΠΌΠ΅Ρ€Π΄ΠΆΠΈΠ»ΠΈ β€” Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ слияниС Π²Π΅Ρ‚ΠΎΠΊ. Π­Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ внСсли измСнСния Π² branch ΠΈ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² основной Π²Π΅Ρ‚ΠΊΠ΅ ΠΊΠΎΠ΄Π° (trunk). ΠœΡ‹ вСдь объСдиняСм Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΌ навСрняка Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² это merge, ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅!

Если Π—Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΎΡ‡ΠΊΡƒ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свою Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠΎΠ΄Π° β€” Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π‘Π½ΠΎΠ²Π° вносим измСнСния Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π±Ρ€Π°Π½Ρ‡ + Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

Π’Π΅Ρ‚ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ. И ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‡Π΅ΠΌ ΡΡ‚Π°Ρ€ΡˆΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Ρ‚Π΅ΠΌ большС Π²Π΅Ρ‚ΠΎΠΊ β€” Ρ€Π΅Π»ΠΈΠ· 1, Ρ€Π΅Π»ΠΈΠ· 2… Ρ€Π΅Π»ΠΈΠ· 52…

Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, отрисовывая всС Π²Π΅Ρ‚ΠΊΠΈ, Π½ΠΎΠΌΠ΅Ρ€Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ ΠΈΡ… описаниС. ИмСнно Π² Ρ‚Π°ΠΊΠΎΠΌ стилС, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅ =) Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ (ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°):

А ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ Π΅Ρ‰Ρ‘ слоТнСС!

β€” А ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ Ρ‚Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡˆΡŒΡΡ?

β€” О, для этого Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°. НапримСр, Π² Mercurial это Β«hg sumΒ»: ΠΎΠ½Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, Π³Π΄Π΅ Ρ‚Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡˆΡŒΡΡ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅Π΅ Π²Ρ‹Π·ΠΎΠ²Π°:

D:\vcs_project\test>hg sum
parent: 3:66a91205d385 tip
Try to fix bug with device
branch: default

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Β«parentΒ» β€” это Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. ΠœΡ‹ вСдь ΠΌΠΎΠΆΠ΅ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π° любой ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² ΠΊΠΎΠ΄Π΅. Π’Π΄Ρ€ΡƒΠ³ ΠΌΡ‹ сСйчас Π½Π΅ Π½Π° послСднСм, Π½Π΅ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ? МоТно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ. Π’ΡƒΡ‚ ΠΌΡ‹ находимся Π½Π° вСрсии 3. ПослС двоСточия ΠΈΠ΄Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ, ID ΠΊΠΎΠ΄Π°.

ΠŸΠΎΡ‚ΠΎΠΌ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ сообщСниС, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±Ρ‹Π» сдСлан ΠΊΠΎΠΌΠΌΠΈΡ‚. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ написал Β«Try to fix bug with deviceΒ».

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«branchΒ»! Если Ρ‚Π°ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ default β€” ΠΌΡ‹ находимся Π² основной Π²Π΅Ρ‚ΠΊΠ΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ сСйчас Π² trunk-Π΅. Если Π±Ρ‹ Π±Ρ‹Π»ΠΈ Π½Π΅ Π² Π½Ρ‘ΠΌ, Ρ‚ΡƒΡ‚ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±Ρ€Π°Π½Ρ‡Π°. ΠŸΡ€ΠΈ создании Π±Ρ€Π°Π½Ρ‡Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄Π°Ρ‘Ρ‚ Π΅ΠΌΡƒ имя. Оно ΠΈ отобраТаСтся Π² этом ΠΏΡƒΠ½ΠΊΡ‚Π΅.

β€” ΠšΡ€ΡƒΡ‚ΠΎ! Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠ³Π΄Π° Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ!

*****

Для Git создали ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Β«ΠΈΠ³Ρ€ΡƒΡˆΠΊΡƒΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ происходит Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ β€” https://learngitbranching.js.org

Π‘ΠΎΠ·Π΄Π°Π» Π΅Ρ‘ Peter Cottle

*****

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‡Ρƒ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Ρ€Π°Π½Ρ‡Π΅Π²Π°Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Π»ΠΈΠ· β€”Β Π½Π΅ СдинствСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с VCS. Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ β€”Β ΠΊΠΎΠ³Π΄Π° Ρ‚Ρ€Π°Π½ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΌ ΠΊ поставкам состоянии, Π° всС Π·Π°Π΄Π°Ρ‡ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‚ΠΊΠ°Ρ…. Но Π΅Π³ΠΎ ΠΌΡ‹ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ.

Π˜Ρ‚ΠΎΠ³ΠΎ

БистСма контроля вСрсий (ΠΎΡ‚ Π°Π½Π³Π». Version Control System, VCS) Β β€” это dropbox для ΠΊΠΎΠ΄Π°.

Β 

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ VCS ΠΈ отличия ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ

НаиболСС популярныС β€” это:

  • SVN β€” простая, Π½ΠΎ Ρ‚Π°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΌΠ΅Ρ€Π΄ΠΆΠΈΡ‚ΡŒΡΡ

  • Mercurial (ΠΎΠ½ ΠΆΠ΅ HG), Git β€” Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС возмоТностСй (эти систСмы ΠΏΠΎΡ…ΠΎΠΆΠΈ ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ)

SVN β€” ΠΎΡ‡Π΅Π½ΡŒ простая систСма, ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ…. Π‘Π΄Π΅Π»Π°Π» β€” Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ». Всё! Для нСбольшого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅Ρ‘ Π²ΠΏΠΎΠ»Π½Π΅ достаточно. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ ΠΌΠ΅Ρ€Π΄ΠΆΠΈΡ‚ΡŒ Ρ…ΠΎΡ‚ΡŒ Ρ‚ΡƒΠ΄Π°, Ρ…ΠΎΡ‚ΡŒ сюда. Но Ρƒ Π½Π΅Ρ‘ Ρ‚Π°ΠΊ сСбС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ автомитичСский ΠΌΠ΅Ρ€Π΄ΠΆΠ°, Π½Π° ΠΌΠΎΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ»ΠΈΠΊ Π±Ρ€Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡ‚ΠΈΡ‚ΡŒ измСнСния Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, это Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ ΡΠΌΠ΅Ρ€Π΄ΠΆΠΈΡ‚ΡŒ.

@lizardus Π² коммСнтариях Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΎ прСимущСствах систСмы:

Π“Π»Π°Π²Π½Ρ‹Π΅ трудности Π² svn β€” всСгда Π½ΡƒΠΆΠ½Π° ΡΠ΅Ρ‚ΡŒ, ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΌΠΌΠ΅Π΅Π΅Π΅Π΄Π΄Π΄Π΄Π»Π΅Π½Π½Ρ‹ΠΉ. Ну ΠΈ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π² svn это просто Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. Π₯отя для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² «ΠΏΠ°ΠΏΠΊΠΈ» svn ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½Π΅Π΅.

А Π² Ρ†Π΅Π»ΠΎΠΌ, svn просто другая систСма (ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ просто ΠΊΠ°ΠΊ файловая систСма) со своими прСимущСствами ΠΈ нСдостатками. Π•Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° windows (Π½Π΅ тянСт Π·Π° собой Ρ‚Ρ€Π΅Ρ‚ΡŒ линукса), ΠΎΠ½ бСзопасСн (всС Ρ‡Ρ‚ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‡Π΅Π½ΠΎ β€” сохранСно Π½Π°Π²Π΅ΠΊΠΈ, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ нСльзя Π½ΠΈΡ‡Π΅Π³ΠΎ, Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ rebase), Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ checkout ΠΎΠ΄Π½ΠΎΠΉ малСнькой части ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π½Π΅ΠΉ (Π° это позволяСт ΠΌΠΎΠ΄Π½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎ Π±Π΅Π· костылСй), ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΌΠ΅Ρ€Π΄ΠΆΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠŸΡ€Π°Π²Π° доступа ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ частям ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” Π»Π΅Π³ΠΊΠΎ. svn Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Π΄Π°ΠΆΠ΅ (тСорСтичСски) ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΌΠ΅Ρ€Π΄ΠΆΠΈΡ‚. Π›Π΅Π³ΠΊΠΎ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎ сСртификату. ВстроСнный WebDAV с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ усилиями: ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ диск Π² Windows для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ Π½ΡƒΠΆΠ΅Π½ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, ΠΈΠ»ΠΈ просто Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ссылку для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ Ρ‚Π°ΠΊ ΠΌΠΎΠ³ΡƒΡ‚ Π»ΡŽΠ±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ ΠΈΠ· svn ΠΈΠ»ΠΈ скрипт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ послСдниС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для управлСния ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€ΠΎΠΌ).

Mercurial ΠΈ Git β€” распрСдСлСнная систСма контроля вСрсий. ВнСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ двухступСнчатоС β€” сначала ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΏΠΎΡ‚ΠΎΠΌ push. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π±Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, ΠΈΠ»ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π½ΠΎ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΎΠΌΠ°Ρ‚ΡŒ основной ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠ΄Π΅Π»Π°Π΅Ρ‚Π΅ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Π’ΡƒΡ‚ Π΅ΡΡ‚ΡŒ ΠΈ автоматичСскоС слияниС Ρ€Π°Π·Π½Ρ‹Ρ… Π±Ρ€Π°Π½Ρ‡Π΅ΠΉ. Π‘ΠΎΠ»ΡŒΡˆΠ΅ возмоТностСй Π΄Π°ΡŽΡ‚ систСмы.

Π£ любой систСмы контроля вСрсий Π΅ΡΡ‚ΡŒ Β«ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ интСрфСйс». Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ с Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· консоль, вводя Ρ‚ΡƒΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π‘ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ старый, ΡΠΌΠ΅Ρ€Π΄ΠΆΠΈΡ‚ΡŒ измСнСния, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Ρ€Π°Π½Ρ‡… Всё это дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄.

Но Π΅ΡΡ‚ΡŒ ΠΈ графичСский интСрфСйс. УстанавливаСтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ выполняСтС дСйствия ΠΌΡ‹ΡˆΠΊΠΎΠΉ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² ΠΌΠΎΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это дСлаСтся Ρ‡Π΅Ρ€Π΅Π· Β«Ρ‡Π΅Ρ€Π΅ΠΏΠ°ΡˆΠΊΡƒΒ» β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° называСтся Tortoise<VCS>. TortoiseSVN, TortoiseHG, TortoiseGit… Π§Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ β€” IDEA, Eclipse, etc. Плюс Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΊΡƒΡ‡Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтов, Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² коммСнтариях =)

Но любой графичСский интСрфСйс ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚? Π’Ρ‹ ΠΏΠΎΡ‚Ρ‹ΠΊΠ°Π»ΠΈ ΠΌΡ‹ΡˆΠΊΠΎΠΉ, Π° систСма Tortoise составила ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· вашСго Β«Ρ‚Ρ‹ΠΊ-Ρ‚Ρ‹ΠΊΒ», Π΅Ρ‘ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»Π°.

Π‘ΠΌ Ρ‚Π°ΠΊΠΆΠ΅:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ API β€” ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ скрываСтся Π·Π° интСрфСйсом.

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Ρ„ΠΎΡ€ΠΌΠ° ΠΈΡ… записи Π² Ρ€Π°Π·Π½Ρ‹Ρ… VCS:

ДСйствиС

SVN

GIT

HG

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

svn checkout <ΠΎΡ‚ΠΊΡƒΠ΄Π°> <ΠΊΡƒΠ΄Π°>

git clone <ΠΎΡ‚ΠΊΡƒΠ΄Π°> <ΠΊΡƒΠ΄Π°>

hg cloneΒ <ΠΎΡ‚ΠΊΡƒΠ΄Π°> <ΠΊΡƒΠ΄Π°>

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ сборку ΠΈΠ· рСпозитория

svn update

git pull

hg pull -uΒ 

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ (Π³Π΄Π΅ я Π΅ΡΡ‚ΡŒ?)

svn log —revision HEAD

git show -s

hg sum

Π—Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ измСнСния

svn commit -m «MESSAGE»

git commitΒ -aΒ -m «MESSAGE»


git push

hg commit -m «MESSAGE»


hg push

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° branch

svn checkout <ΠΎΡ‚ΠΊΡƒΠ΄Π°> <ΠΊΡƒΠ΄Π°>

git checkout BRANCH

hg update BRANCH

Π’ΡƒΡ‚ Ρ…ΠΎΡ‡Ρƒ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ я тСстировщик, Π° Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΎ тонкости различия ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Ρƒ, Π΄Π° ΠΈ ΡΡ‚Π°Ρ‚ΡŒΡ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², ΠΎΠ½ΠΎ ΠΈΠΌ ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ =)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β€” Π²Ρ‹ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· Git

Π’Ρ‹ΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ систСму с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Folks. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сами!

Для Π½Π°Ρ‡Π°Π»Π° установитС Git. Когда ΠΎΠ½ установлСн, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π― ΠΏΠΎΠΊΠ°ΠΆΡƒ 3 способа (Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Π½ΠΎ я ΠΏΠΎΠΊΠ°ΠΆΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ эти):

  1. Π§Π΅Ρ€Π΅Π· консоль

  2. Π§Π΅Ρ€Π΅Π· IDEA

  3. Π§Π΅Ρ€Π΅Π· TortoiseGit

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ D:\git.

1. Π§Π΅Ρ€Π΅Π· консоль

1. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ консоль git:

2. ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git clone ΠžΡ‚ΠΊΡƒΠ΄Π° ΠšΡƒΠ΄Π°

↓

git clone https://bitbucket.org/testbasecode/folks/src/master/ D:\\git\\folks_console

Π’ консоли Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ простой слСш ΠΈΠ»ΠΈ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ. Π˜Π½Π°Ρ‡Π΅ консоль Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚!

Π’Π°ΠΊΠΆΠ΅ НЕ ΠΠΠ”Πž ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΏΠ°ΠΏΠΊΠΈ Β«ΠΊΡƒΠ΄Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌΒ» русскиС символы ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹. Π˜Π½Π°Ρ‡Π΅ ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΠ³Ρ€Π΅Π±Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π° сборкС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Β 

2. Π§Π΅Ρ€Π΅Π· IDEA

1. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ IDEA

2. Check out from Version Control β†’ Git

3. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ поля:

4. ΠΠ°ΠΆΠ°Ρ‚ΡŒ Clone β€” всё! Π”Π°Π»ΡŒΡˆΠ΅ IDEA всё сдСлаСт сама!

А ΠΏΠΎΠ΄ ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌ!

Если открываСтся пустой сСрый экран, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ Β«ProjectΒ» (Ρƒ мСня ΠΎΠ½Π° слСва свСрху) ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ Π½Π΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

И вуаля β€” ΠΈ ΠΊΠΎΠ΄ скачали, ΠΈ сразу Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΈ бСсплатном Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ! Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ. Для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° Ρ‚Π°ΠΊ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΌΠΈΠ»ΠΎΠ΅ Π΄Π΅Π»ΠΎ.

Β 

3. Π§Π΅Ρ€Π΅Π· TortoiseGit

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ простой ΠΈ наглядный способ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° β€” Ρ‡Π΅Ρ€Π΅Π· графичСский интСрфСйс, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Β«Ρ‡Π΅Ρ€Π΅ΠΏΠ°ΡˆΠΊΡƒΒ» (tortoise):

1. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ TortoiseGit

2. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ β†’ Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‰Π΅Π»ΠΊΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π² ΠΏΠ°ΠΏΠΎΡ‡ΠΊΠ°Ρ…, Ρƒ вас появятся Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню: Git Clone, Git Create repository here, TortoiseGit

3. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ, Π³Π΄Π΅ Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Допустим, это Π±ΡƒΠ΄Π΅Ρ‚ D:\git.

4. ΠΠ°ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ β†’ Git Clone

Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ поля:

5. ΠΠ°ΠΆΠ°Ρ‚ΡŒ «Ок»

Π’ΠΎΡ‚ ΠΈ всё! БистСма Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π°ΠΌ ΠΏΠΎΠ²Ρ‹ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ β€” ΠΏΠ°ΠΏΠΎΡ‡ΠΊΡƒ с ΠΊΠΎΠ΄ΠΎΠΌ!

Π˜Ρ‚ΠΎΠ³ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ 3 ΠΏΠ°ΠΏΠΊΠΈ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ! НСваТно, ΠΊΠ°ΠΊΠΎΠΉ способ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ Π²Ρ‹, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ измСнится:

Β 

Π˜Ρ‚ΠΎΠ³ΠΎ

ΠŸΡƒΡΡ‚ΡŒ вас Π½Π΅ ΠΏΡƒΠ³Π°ΡŽΡ‚ ΡΡ‚Ρ€Π°ΡˆΠ½Ρ‹Π΅ слова Ρ‚ΠΈΠΏΠ° SVN, Mercurial, Git, VCS β€” это всё ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅. ΠœΠ΅ΡΡ‚ΠΎ для хранСния ΠΊΠΎΠ΄Π°, со всСми Π΅Π³ΠΎ вСрсиями. Дропбокс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°! И Π΄Π°ΠΆΠ΅ ΠΊΡ€ΡƒΡ‡Π΅ =) Π’Π΅Π΄ΡŒ Π² дропбоксС любоС ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ.

Π― Ρ…Ρ€Π°Π½ΡŽ свою ΠΊΠ½ΠΈΠ³Ρƒ Π² дропбоксС. Π’Π°ΠΌ ΠΆΠ΅ Π»Π΅ΠΆΠΈΡ‚ Ρ„Π°ΠΉΠ» для Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΡ†Ρ‹ Β«TODO Π’ΠΈΠΊΠ΅Β». Когда я ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°ΡŽ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ, Ρ‚ΠΎΒ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽ Π΅Π΅ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°. Когда Π’ΠΈΠΊΠ° Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΠ½Π° ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Π² Π’Π—, какая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π³ΠΎΡ‚ΠΎΠ²Π°.

ΠœΡ‹ ΠΏΡ€Π°Π²ΠΈΠΌ Ρ€Π°Π·Π½Ρ‹Π΅ мСста. Π’ΠΈΠΊΠ° ΠΈΠ΄Π΅Ρ‚ сначала, я добавляю Π² ΠΊΠΎΠ½Π΅Ρ†. Казалось Π±Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π΅Π΅, ΠΈ ΠΌΠΎΠΈ измСнСния. Но Π½Π΅Ρ‚, Ссли Ρ„Π°ΠΉΠ» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Ρƒ ΠΎΠ±Π΅ΠΈΡ…, Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΌ сохранСнии создаСтся конфликтная копия. И Π½Π°Π΄ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния.

Π“ΡƒΠ³Π»ΠΎΠ΄ΠΎΠΊ Π² этом ΠΏΠ»Π°Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. И Ссли ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ мСста, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² совсСм Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚!

Но ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ с Π³ΡƒΠ³Π»ΠΎΠ΄ΠΎΠΊΠΎΠΉ Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π³ΡƒΠ³Π»ΠΎΠ΄ΠΎΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, Π° Π² VCS ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со своСй вСрсиСй Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ скачал с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. И Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ€Π΅ΡˆΠΈΠ», Ρ‡Ρ‚ΠΎ Β«ΠΏΠΎΡ€Π°Β» β€” ΠΎΠ½ сохраняСт измСнСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

Когда Π²Ρ‹ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ просто Π·Π°Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. Как Ссли Π±Ρ‹ Π²Ρ‹ зашли Π² дропбокс ΠΈ скопипастили сСбС послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΡ€ΠΎΡΡ‚ΠΎ Π² VCS это дСлаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ графичСского интСрфСйса Ρ‚ΠΈΠΏΠ° Tortoise Hg.

Π­Ρ‚ΠΎ Π½Π΅ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ =) ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€”Β Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ 1 ΠΊΠΎΠΌΠ°Π½Π΄Π° позволяСт Π½Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ этот самый ΠΊΠΎΠ΄.

А ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅, Ссли Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚, Π²Ρ‹ смоТСтС Π΄Π°ΠΆΠ΅ Π²Π½ΠΎΡΠΈΡ‚ΡŒ свои измСнСния β€”Β Π² основной ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ автотСстов. Но Ссли ΡƒΠΆ Π²Ρ‹ с этим ΡΠΏΡ€Π°Π²ΠΈΡ‚Π΅ΡΡŒ, Ρ‚ΠΎ с ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ ΠΈ ΠΏΠΎΠ΄Π°Π²Π½ΠΎ!

PS: большС ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… статСй ΠΈΡ‰ΠΈΡ‚Π΅Β Π² ΠΌΠΎΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅ ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΊΠ΅ Β«ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅Β». А ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π²ΠΈΠ΄Π΅ΠΎ β€” Π½Π°Β ΠΌΠΎΠ΅ΠΌ youtube-ΠΊΠ°Π½Π°Π»Π΅.

PPS: Π°Π²Ρ‚ΠΎΡ€ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” Аня Π§Π΅Ρ€Π½ΠΎΠΌΠΎΡ€Ρ†Π΅Π²Π°, Π°Π²Ρ‚ΠΎΡ€ стиля β€” Виктория Лапис =)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСмы контроля вСрсий ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹ Π’Π°ΠΌ

Миша Радионов

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ: 21 Авг 2015

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² Π±Π»ΠΎΠ³

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ: Π²Ρ‹ наняли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρƒ, скаТСм, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ быстрого Π·Π°ΠΊΠ°Π·Π°. Π’Π°ΠΊ ΠΊΠ°ΠΊ сайт всС врСмя Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠ½ΠΎΡΠΈΡ‚ΡŒ Π΄ΠΎΡ…ΠΎΠ΄, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ вСсти Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° своСм локальном сСрвСрС.

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ VCS?

БистСма управлСния вСрсиями (ΠΎΡ‚ Π°Π½Π³Π». Version Control System, VCS ΠΈΠ»ΠΈ Revision Control System) β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для облСгчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.Wikipedia

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎ-простому

БистСма управлСния вСрсиями позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ нСсколько вСрсий ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΏΡ€ΠΈ нСобходимости Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΠΌ вСрсиям, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° сдСлал Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, VCS позволяСт ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ нСскольким Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ Π±Π΅Π· создания Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ Π½Π° ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…. ΠŸΡ€ΠΈ этом всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π° с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΎΠΊ ΠΎΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… людСй. Если ΠΆΠ΅ нСсколько ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚ΠΎ систСма ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.


ΠžΠ±Ρ‹Ρ‡Π½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с систСмой контроля вСрсий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ (сСрвСр) ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-сСрвис, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Ρ€Π΅Π½Π΄Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ сСрвСра.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

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

БистСма контроля вСрсий Π² студии Π€Π»Π°Π³

Π’ нашСй Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ систСму контроля вСрсий Git. Π­Ρ‚Π° систСма являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых распространСнных VCS. ΠžΡ‚ΡΡŽΠ΄Π° Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ большая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сообщСством, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌ Git. Π’Π°ΠΊ ΠΆΠ΅ плюсом являСтся простоС освоСниС систСмы, Ρ‚.ΠΊ. ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚Β Π±ΠΎΠ»ΡŒΡˆΠΎΠΉ спСктр ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ ΠΏΠΎΠ΄ эту систСму.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, которая называСтся IntelliJ IDEA. Она прСдоставляСт собой IDE, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π±Π°Π·Ρƒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π² Ρ‚ΠΎΠΌ числС Π² Π½Π΅Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ вСрсий. Π’Π°ΠΊ, Π½Π΅ выходя ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ‹ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Π½Π° Π½ΡƒΠΆΠ½ΠΎΠΌ Π½Π°ΠΌ сайтС. Или, Π½Π΅ боясь ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ свои измСнСния, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ измСнСния, сдСланныС Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ. Выглядит интСрфСйс IDEA ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Для хранСния вСрсий ΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΌ сСрвисом Bitbucket. Π­Ρ‚ΠΎΡ‚ сСрвис ΡƒΠ΄ΠΎΠ±Π΅Π½ своим интСрфСйсом ΠΈ, ΠΏΠΎΠΌΠΈΠΌΠΎ услуг ΠΏΠΎ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π²Π°ΡˆΠΈΡ… вСрсий, позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ доступа ΠΊ вашим ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. Плюсом использования ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° являСтся отсутствиС ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ знанию настройки ΠΈ администрирования сСрвСра. Π’Ρ‹ всС ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ β€œΠΈΠ· коробки” ΠΈ сразу ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ВсС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚Π΅ Π² bitbucket, являСтся ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌ, Ρ‚.Π΅. Π±Π΅Π· вашСго Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½ΠΈΠΊΡ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½Π΅ смоТСт Π΄Π°ΠΆΠ΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Bitbucket:


Π§Ρ‚ΠΎ Π½Π°ΠΌ Π΄Π°Π΅Ρ‚ использованиС VCS

  • ΠŸΠΎΠ»Π½ΡƒΡŽ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅Β ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ· систСмы, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ всСгда, Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ с любого ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ сСрвСру.
  • Бохраняя Ρ„Π°ΠΉΠ» Π² VCS, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с этим ΠΆΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠΌ, пСрСсохранит ΠΈ Π·Π°Ρ‚Ρ€Π΅Ρ‚ измСнСния.
  • Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² использованиС систСмы Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ принятиС/ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, сдСланных ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π§Ρ‚ΠΎ это Π΄Π°Π΅Ρ‚ нашим ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ

ВСрнСмся ΠΊ ситуации, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ шла Ρ€Π΅Ρ‡ΡŒ Π² Π½Π°Ρ‡Π°Π»Π΅. Как это Π±Ρ‹Π»ΠΎ Π±Ρ‹ с VCS. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π·Π°Π»ΠΈΠ²Π°Π΅Ρ‚ свой ΠΊΠΎΠ΄ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Π’Ρ‹ просматриваСтС измСнСния ΠΈ примСняСтС ΠΈΡ…, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ всС Π² порядкС. ВсС хранится Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС, бСзопасно, быстро ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. А ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² нСсколько, Π±Π΅Π· VCS Π²Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΎΠ±ΠΎΠΉΠ΄Π΅Ρ‚Π΅ΡΡŒ.

Автор: ВячСслав НСмытов, программист студии Π€Π»Π°Π³.


ПослСдниС записи блога


Please enable JavaScript to view the comments powered by Disqus.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий + ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ | Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π’ΠšΠ‘?

23 мая 2019 г.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий

Автор Π§Π°ΠΊ Π“Π΅ΠΌΠ°Π½

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

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий, Ρ‚Π°ΠΊΠΆΠ΅ извСстный ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий, – это процСсс отслСТивания ΠΈ управлСния измСнСниями Π² Ρ„Π°ΠΉΠ»Π°Ρ… с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. VCS β€” систСмы контроля вСрсий β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ инструмСнты, ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий для управлСния вСрсиями ΠΊΠΎΠ΄Π°, Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… рСсурсов.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС контроля вСрсий, систСмы контроля вСрсий ΠΈΠ»ΠΈ инструмСнты контроля вСрсий. Π­Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ VCS.

Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ вСрсий ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ вСрсий. БСгодня Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ рСсурсов ΠΈ внСдрСния DevOps. Π’ этом Π±Π»ΠΎΠ³Π΅ ΠΌΡ‹ рассмотрим:

  • Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий?
  • ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΆΠ΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий?
  • КакиС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ систСмы контроля вСрсий? (ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹)
  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий Git?
  • ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ прСимущСства контроля вСрсий 
  • 5 Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слСдуСт ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии для контроля вСрсий
  • БСсплатноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для контроля вСрсий

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий (ΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий Git).

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий?

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

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π²ΠΈΠ΄Π΅ΠΎ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий.

Β 

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ Π²Π°ΠΆΠ΅Π½?

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

Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°Ρ‚ΡŒ большС, Ρ‡Π΅ΠΌ просто ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ…. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ быстрСС Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ для ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‰ΠΈΡ… DevOps.

Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ использованиС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ:

  • Π£Π»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ.
  • ΠŸΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π°Ρ‚ΡŒ.
  • УскоряСт доставку Ρ‚ΠΎΠ²Π°Ρ€Π°.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ бСсплатноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для контроля вСрсий ΠΎΡ‚ Perforce

Helix Core β€” ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий ΠΎΡ‚ Perforce β€” ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ организациям Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ слоТныС Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ИспользованиС Helix Core ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ, обСспСчиваСт ΡΠΎΠ²ΠΌΠ΅ΡΡ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ ускоряСт доставку. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ сами, ΠΊΠ°ΠΊ Helix Core ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΡ‡ΡŒ. НачнитС бСсплатно.

БСсплатный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий

Β 

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

БистСмы контроля вСрсий ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ всС ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ сдСланныС измСнСния. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список самых популярных ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² контроля вСрсий.

Π’ настоящСС врСмя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ нСсколько Ρ‚ΠΈΠΏΠΎΠ² систСм контроля вСрсий. НСкоторыС ΠΈΠ· Π½ΠΈΡ… Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹. НСкоторыС Ρ€Π°Π·Π΄Π°ΡŽΡ‚ΡΡ.

Π’ΠΎΡ‚ нСсколько самых популярных Ρ‚ΠΈΠΏΠΎΠ² VCS:

  • Helix Core (Perforce)
  • Git
  • SVN
  • ClearCase
  • Mercurial
  • TFS

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

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями Git с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Π­Ρ‚ΠΎ распространяСмоС бСсплатноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для контроля вСрсий. ЀактичСски, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий Git β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ любой ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

Но Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСдостатки Π² использовании Git. Git Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ бСзопасности. ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. И ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ СдинствСнный источник ΠΏΡ€Π°Π²Π΄Ρ‹.

Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠ΅ систСму управлСния вСрсиями Git, часто Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ ΠΊ Π½Π΅ΠΉ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты. Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя хостинг Helix TeamHub для Git ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΊΠΎΠ΄Π°. Или Helix4Git, сСрвСр Git Π²Π½ΡƒΡ‚Ρ€ΠΈ сСрвСра Perforce, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ… сторон Π² ваш ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ прСимущСства контроля вСрсий

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий Π΄Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ прСимущСств. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ прСимущСства ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ систСмы контроля вСрсий:

  • Π•Π΄ΠΈΠ½Ρ‹ΠΉ источник достовСрной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΠ΄Π° ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΎΠ².
  • ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ сдСланного измСнСния.
  • Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ для ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ хотят Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° поиск Ρ„Π°ΠΉΠ»Π°.

5 На Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии для контроля вСрсий

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ контроля вСрсий ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π‘Π°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ потрСбностСй вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π’ΠΎΡ‚ ΠΏΡΡ‚ΡŒ Π³Π»Π°Π²Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡ‰ΡƒΡ‚ соврСмСнныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

1. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ становятся всС Π±ΠΎΠ»Π΅Π΅ слоТными. РастСт ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ нСсколькими вСрсиями ΠΊΠΎΠ΄Π° ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² β€” ΠΈ Ρ†Π΅Π»Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ.

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ нСсколько Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π΅ бСспокоясь ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‡Π»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

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

ИспользованиС подходящСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для управлСния вСрсиями ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ нСсколько вСрсий своСго ΠΊΠΎΠ΄Π° для управлСния спСцифичСскими функциями Ρ‡ΠΈΠΏΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

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

2. Автоматизация

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

Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния нСпрСрывная интСграция (CI) с автоматичСскими сборками ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π° являСтся стандартной Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ.

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΈ, автоматизация ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ:

  • ВСстированиС с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Π²Π΅Π½Ρ‚ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ (FPGA).
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с систСмами ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ модСлирования ΠΈ синтСза.

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

3. КомандноС сотрудничСство

Компании Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΆΠΈΠ²ΡƒΡ‚ Ρ‚Π°Π»Π°Π½Ρ‚Ρ‹. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρƒ вас ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π½Ρ‚Ρ€Ρ‹ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² МиннСаполисС, БиэтлС, Π’ΠΎΡ€ΠΎΠ½Ρ‚ΠΎ ΠΈ Π¨Π°Π½Ρ…Π°Π΅. А ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°ΡŽΡ‚ΡΡ сроки, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² Π² ΠŸΠ°Ρ€ΠΈΠΆ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Π² Вайбэй.

Π’Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ способ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ доступ для Ρ‡Π»Π΅Π½ΠΎΠ² вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° всСх Π²Π°ΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…. НаличиС Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ источника достовСрной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ β€” с Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ доступом β€” ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для вашСго успСха.

ΠŸΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ систСмС контроля вСрсий ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‡Π»Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ послСднСй вСрсиСй. И это ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ сотрудничСство.

4. ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β€” ΠΊΡ‚ΠΎ, Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π°, ΠΏΠΎΡ‡Π΅ΠΌΡƒ

КаТдой Π³Ρ€ΡƒΠΏΠΏΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² трСбуСтся ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΡ‚ΠΎ, Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ вносит измСнСния.

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

Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ трСбования ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ, рискам ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΡŽ (GRC) ΠΈΠ»ΠΈ Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ трСбованиям. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΆΡƒΡ€Π½Π°Π»Π° Π°ΡƒΠ΄ΠΈΡ‚Π° особСнно Π²Π°ΠΆΠ½Π° Π² Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΠΉ, аэрокосмичСской, мСдицинской ΠΈ ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²ΠΎΠΉ отраслях.

5. Высокая Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ/Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ восстановлСниС

Π‘Π°ΠΌΡ‹ΠΉ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ Π°ΠΊΡ‚ΠΈΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρƒ вас Π΅ΡΡ‚ΡŒ, β€” это ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΈΠΌ Π±Π΅Π·Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ потСряли доступ ΠΊ ΠΊΠΎΠ΄Ρƒ.

ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ подходящСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для контроля вСрсий Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ копию своСго ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ рСпозитория β€” ваш СдинствСнный источник достовСрной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ β€” Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС. Π’ случаС Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΡƒ мастСра для бСспСрСбойной Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ бСсплатноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для контроля вСрсий ΠΎΡ‚ Perforce

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ бСсплатноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для контроля вСрсий ΠΎΡ‚ Perforce (Helix Core) для 5 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ 20 Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… мСст.

ИспользованиС Helix Core ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ/Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ восстановлСниС.

НачнитС Ρ€Π°Π±ΠΎΡ‚Ρƒ с бСсплатным ПО для контроля вСрсий ΡƒΠΆΠ΅ сСгодня.

бСсплатный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий

Β 

Бвязанный ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚

  • 8 Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŽ вСрсий
  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий?
  • Π•Π΄ΠΈΠ½Ρ‹ΠΉ источник достовСрной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹
  • Как ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

Π§Π°ΠΊ Π“Π΅Ρ…ΠΌΠ°Π½

Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ ΠΏΠΎ тСхничСскому ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Ρƒ, Perforce Software

Π§Π°Ρ€Π»ΡŒΠ· Β«Π§Π°ΠΊΒ» Π“Π΅ΠΌΠ°Π½ Π±Ρ‹Π» ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠΌ ΠΏΠΎ тСхничСскому ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Ρƒ Π² Perforce. На протяТСнии всСй своСй ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρ‹ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» тСхничСским Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΈ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π² Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… отраслСвых стартапах ΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… прСдприятиях. Π§Π°ΠΊ Π±Ρ‹Π» Ρ‡Π»Π΅Π½ΠΎΠΌ IEEE Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 20 Π»Π΅Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ сСртифицированным Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ AWS ΠΈ сСртифицированным ассоциированным Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ. Π’ свободноС врСмя Π§Π°ΠΊ любил ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ врСмя со своСй сСмьСй, Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ кроссфитом, Π΄ΠΎΠ±Ρ€ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π°Ρ… ΠΏΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ тСхнологиям, ΠΏΠΎΡΠ΅Ρ‰Π°Ρ‚ΡŒ встрСчи ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ. Π•Π³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° ΠΈ смСха Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий | Atlassian Git Tutorial

Как ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ DevOps ΠΏΡ€ΠΎΡ†Π²Π΅Ρ‚Π°Ρ‚ΡŒ

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

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

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

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

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

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

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

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

ИспользованиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для контроля вСрсий являСтся ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ для Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ DevOps. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ быстрСС ΠΈ позволяСт Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ большС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

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

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

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

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

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

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², Π½ΠΎ здСсь ΠΌΡ‹ сосрСдоточимся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ, Git. Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для контроля вСрсий.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ VCS (систСма контроля вСрсий)? 7 способов Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½ΡƒΡŽ систСму контроля вСрсий для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°!

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² сфСрС ИВ, Ρ‚ΠΎ навСрняка ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с БистСмами контроля вСрсий . ΠœΡ‹ всС Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых Π²Π°ΠΆΠ½Ρ‹Ρ… инструмСнтов для любого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· нас Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Π΅Π³ΠΎ ваТности. Π’ этом постС я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ всС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для понимания VCS ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ VCS для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ длинная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈΠ·-Π·Π° Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ Ρ‚Π΅ΠΌΡ‹, поэтому, поТалуйста, ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠΈΡ‚Π΅ мСня.. πŸ™‚

Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий?

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ углубимся Π² VCS, ΠΌΡ‹ попытаСмся Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ ΠŸΠžΠ§Π•ΠœΠ£ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚Π΅ΠΌΡ‹. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ вопросы:

  • Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ вносили измСнСния Π² ΠΊΠΎΠ΄, ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ это ошибка, ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ?
  • ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π»ΠΈ Π²Π°ΠΌ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ нСсколько вСрсий ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°?
  • Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°Ρ€ΡƒΡˆΠΈΠ»ΠΎ ΠΈΠ»ΠΈ исправило Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°?
  • Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ΄Π°?
  • Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ тСряли ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Ρƒ вас Π±Ρ‹Π»Π° слишком старая рСзСрвная копия?
  • Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, сколько Ρ€Π°Π±ΠΎΡ‚Ρ‹ дСлаСтся, Π³Π΄Π΅, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ΅ΠΌ?
  • Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ…ΠΎΡ‚Π΅Π»ΠΈ внСсти измСнСния Π² Ρ‡ΡƒΠΆΠΎΠΉ ΠΊΠΎΠ΄?
  • Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ людям ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ вашим ΠΊΠΎΠ΄ΠΎΠΌ?
  • Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, Π½Π΅ вмСшиваясь Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄?

Если Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с трудностями ΠΈΠ·-Π·Π° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… условий, это ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования контроля вСрсий Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

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

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий , Ρ‚Π°ΠΊΠΆΠ΅ извСстный ΠΊΠ°ΠΊ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий ΠΈΠ»ΠΈ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ исходным ΠΊΠΎΠ΄ΠΎΠΌ , прСдставляСт собой ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ измСнСниями Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, Π²Π΅Π±-сайтах ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сбор ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π­Ρ‚ΠΈ измСнСния часто ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ вСрсии. КаТдая рСвизия связана с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π°Π²Ρ‚ΠΎΡ€ (Π»ΠΈΡ†ΠΎ, внСсшСС измСнСния) ΠΈ Ρ‚. Π΄. Π Π΅Π²ΠΈΠ·ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ, Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°

  • ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ вСрсий ΠΈ отвСтвлСния

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ сохраняСтся, это позволяСт Π²Π°ΠΌ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ измСнСния, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π΄ΠΎ фиксации ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, какая вСрсия Π² настоящСС врСмя находится Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, QA ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ вСрсии. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΈΠ»ΠΈ Π»ΠΎΠΌΠ°ΡŽΡ‚ ΠΊΠΎΠ΄. πŸ™‚

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСрсиями ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

  • ΠœΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°

Π’Π΅Π³ β€” это просто ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ снимок ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΌΡƒ ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

  • ВосстановлСниС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Π­Ρ‚Π° функция ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° Π² ситуации, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ случайно удаляСтС ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ вноситС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄.

  • БотрудничСство

Π’ ситуации, ΠΊΠΎΠ³Π΄Π° нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ VCS, эти люди ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π½Π΅ бСспокоясь. ПозТС VCS позволяСт ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ всС измСнСния Π² ΠΎΠ΄Π½Ρƒ ΠΎΠ±Ρ‰ΡƒΡŽ Ρ€Π΅Π²ΠΈΠ·ΠΈΡŽ.

  • Аудит

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния Π² систСмС ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ, становится ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π°ΡƒΠ΄ΠΈΡ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС Π΄Π°Π½Π½Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ доступны.

  • ΠŸΡ€ΠΎΡΡ‚Π°Ρ интСграция с IDE ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами

МногиС VCS ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ с IDE. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ VCS ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ инструмСнта, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π­ΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ врСмя! πŸ™‚

Π’Ρ‹Π±ΠΎΡ€ идСальной БКБ

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ идСальной БКБ для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ:

1.Β Β Β Β Β Π’Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ

Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ VCS. Для Π²Ρ‹Π±ΠΎΡ€Π° VCS ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π΅Π³ΠΎ тСхнологичСский стСк.

НапримСр, ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ TFS для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° основС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Microsoft Π˜Π›Π˜, Ссли ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ΅Π½ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Mercurial.

2.Β Β Β Β Β ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° использования

Насколько просто ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ систСму? Насколько Π»Π΅Π³ΠΊΠΎ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ? Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ Π½Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс ΠΈΠ»ΠΈ командная строка?

ВсС эти вопросы ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ быстро Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

3.     ДокумСнтация

ДокумСнтация β€” ваш Π΄Ρ€ΡƒΠ³. ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, прСдоставляСт Π»ΠΈ инструмСнт Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ? ΠžΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΈ ΠΎΠ½ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‚Π°ΠΊ ΠΈ для администраторов?

4.Β Β Β Β Β ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ

ΠŸΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π΅Π½ Π»ΠΈ инструмСнт? МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΈ ОБ? ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ инструмСнт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ€Ρ‹Π½ΠΎΠΊ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ.

5.Β Β Β Β Β ΠœΠ½ΠΎΠ³ΠΎΡΠ°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ

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

6.Β Β Β Β Β Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ

Доступны ΠΊΠ°ΠΊ бСсплатныС, Ρ‚Π°ΠΊ ΠΈ ΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅ VCS. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ своих Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€.

7.     БообщСство ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

Π’Π°ΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ VCS с большим сообщСством. Π­Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ инструмСнт достаточно ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈ стабилСн. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости ΠΎΡ‚ этого большого сообщСства.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, доступныС Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅

CVS

CVS Β  (систСма ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вСрсий) , вСроятно, являСтся Π΄Π΅Π΄ΡƒΡˆΠΊΠΎΠΉ всСй систСмы вСрсий. Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΠ½ Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π² 1986 Π³ΠΎΠ΄Ρƒ. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ простая систСма, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ вСрсий. Π₯отя CVS являСтся Π±ΠΎΠ»Π΅Π΅ старой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ, ΠΎΠ½Π° Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.

Π­Ρ‚ΠΎ Ρ‚ΠΈΠΏ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… VCS.

Tortoise CVS β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для CVS Π² Windows, ΠΈ сущСствуСт мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… IDE, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Xcode (Mac), Eclipse, NetBeans ΠΈ Emacs, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ CVS.

ΠŸΠ»ΡŽΡΡ‹:

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚ ΠΈ считаСтся Π·Ρ€Π΅Π»ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ.

ΠœΠΈΠ½ΡƒΡΡ‹:

  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ вСрсии
  • Π£Π³Ρ€ΠΎΠ·Ρ‹ бСзопасности ΠΎΡ‚ символичСских ссылок Π½Π° Ρ„Π°ΠΉΠ»Ρ‹
  • НСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ исходного ΠΊΠΎΠ΄Π°
  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ вСтвлСния Π΄ΠΎΡ€ΠΎΠ³ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для долгосрочного вСтвлСния

SVN

SubversionΒ β€” это, вСроятно, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСнная систСма контроля вСрсий. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Subversion Π² качСствС рСпозитория, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ SourceForge, Apache, Python, Ruby ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΅Π³ΠΎ.

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΈΠΏ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… VCS.

Из-Π·Π° популярности Subversion доступно мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Subversion. SmartSVN, TortoiseSVN ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠŸΠ»ΡŽΡΡ‹:

  • Π­Ρ‚ΠΎ бСсплатно.
  • Он ΠΎΡ‡Π΅Π½ΡŒ стабилСн ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².
  • Π‘ΠΎΠ»Π΅Π΅ новая систСма Π½Π° основС CVS.
  • Π¨ΠΈΡ€ΠΎΠΊΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для IDE.
  • ВсС просто: полная интСграция ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Windows. Π’Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Ρ„Π°ΠΉΠ» Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ Windows, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎ всСм функциям.
  • Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.
  • Π‘ΠΎΠ»Π΅Π΅ Π΄Π΅ΡˆΠ΅Π²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ„ΠΈΠ»ΠΈΠ°Π»Π°.

ΠœΠΈΠ½ΡƒΡΡ‹:

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

Π“Π˜Π’

Π“ΠΈΡ‚ Β  β€” новая восходящая Π·Π²Π΅Π·Π΄Π° систСм контроля вСрсий. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ (создатСлСм ядра Linux), Git Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΠΎΠΊΠΎΡ€ΠΈΠ» сообщСство Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π’ распрСдСлСнной систСмС управлСния вСрсиями Π½Π΅Ρ‚ Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ ΠΊΠΎΠ΄Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΊΠΎΠ΄. Π Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ содСрТат Ρ€Π°Π·Π½Ρ‹Π΅ части ΠΊΠΎΠ΄Π°.

ΠŸΠ»ΡŽΡΡ‹:

  • ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅Π½Π°Π²ΠΈΠ΄ΠΈΡ‚ CVS/SVN
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹
  • Π”Π΅ΡˆΡ‘Π²Ρ‹Π΅ Ρ„ΠΈΠ»ΠΈΠ°Π»Ρ‹
  • ПолноС Π΄Π΅Ρ€Π΅Π²ΠΎ истории доступно Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅
  • РаспрСдСлСнная одноранговая модСль

ΠœΠΈΠ½ΡƒΡΡ‹:

  • ΠšΡ€ΠΈΠ²Π°Ρ обучСния для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊ ΠΊ SVN
  • НС ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ для ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²
  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Windows ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Linux

Microsoft Team Foundation

Team Foundation Server (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ сокращСнно TFS) β€” это ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Microsoft, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ исходным ΠΊΠΎΠ΄ΠΎΠΌ (Ρ‡Π΅Ρ€Π΅Π· Team Foundation Version Control ΠΈΠ»ΠΈ Git), ΠΎΡ‚Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ трСбованиями, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ (ΠΊΠ°ΠΊ для Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π²ΠΎΠ΄ΠΎΠΏΠ°Π΄Π°), Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ сборки, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠ΅ΠΉ, тСстированиС ΠΈ возмоТности управлСния выпусками. Он ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ вСсь ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» прилоТСния. TFS ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС сСрвСрной части для многочислСнных ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ для Microsoft Visual Studio ΠΈ Eclipse (Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Windows ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…)

ΠŸΠ»ΡŽΡΡ‹:

  • Π—Π½Π°ΠΊΠΎΠΌ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
  • Π˜ΠΌΠ΅Π΅Ρ‚ инструмСнт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса Π² Visual Studio
  • ВСсная связь с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ элСмСнтами

ΠœΠΈΠ½ΡƒΡΡ‹:

  • ВрСбуСтся Visual Studio.
  • МСдлСнно тянитС, Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈ Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»ΡΠΉΡ‚Π΅ΡΡŒ.
  • Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния.
  • ΠŸΠΎΠΎΡ‰Ρ€ΡΠ΅Ρ‚ Π½Π΅Ρ‡Π°ΡΡ‚ΡƒΡŽ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈΠ·-Π·Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ.
  • Для бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ трСбуСтся ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Π°Ρ модСль Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Π°).
  • Π Π°Π±ΠΎΡ‡ΠΈΠ΅ области, управляСмыС сСрвСром, ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΡΡŽΡ‚ боль, ΠΊΠΎΠ³Π΄Π° ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΡΡŽΡ‚ΡΡ ΠΎΡ‚ счастливого ΠΏΡƒΡ‚ΠΈ.

Perforce

Perforce HelixΒ (ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ просто Perforce) – это коммСрчСская проприСтарная систСма контроля вСрсий, разработанная Perforce Software.

ΠŸΠ»ΡŽΡΡ‹:

  • ΠžΡ‡Π΅Π½ΡŒ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ ΠΈ довольно Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ.
  • Perforce ΠΈΠΌΠ΅Π΅Ρ‚ встроСнный инструмСнт истории (ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ваш ΠΊΠΎΠ΄ Π±Ρ‹Π» Π² послСдний Ρ€Π°Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, зафиксирован ΠΈ ΠΊΠ΅ΠΌ.
  • Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ мноТСство столбцов ΠΈ просмотр истории, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΏΠΎ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΈΠ· столбцов.
  • ΠžΡ‡Π΅Π½ΡŒ быстро Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с большими Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, СдинствСнноС ТизнСспособноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ большим количСством Π΄Π°Π½Π½Ρ‹Ρ… (Π±ΠΎΠ»Π΅Π΅ 20 Π“Π‘). И это, вСроятно, главная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
  • Доступна Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°.
  • ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ связь Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠœΠΈΠ½ΡƒΡΡ‹:

  • Π’Ρ€ΡƒΠ΄Π½ΠΎ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ. Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Π΅ΡΡ‚ΡŒ нСкоторая кривая обучСния.
  • ΠœΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с нСсколькими Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ областями Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Perforce ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚ΡŒ исправлСниС ΠΊΠΎΠ΄Π°.
  • ΠžΡ‡Π΅Π½ΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΎ.
  • НСвСрный интСрфСйс.
  • НС Π±Π΅Π· риска. Π›ΡŽΠ±Π°Ρ модификация, сдСланная Π²Π½Π΅ инструмСнта Perforce, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½Π° ΠΏΡ€ΠΈ простом ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ! ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ провСряйтС, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ локально.

ΠœΠ΅Ρ€ΠΊΡƒΡ€ΠΈΠ°Π»

Mercurial β€” это Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° распрСдСлСнная VCS с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, такая ΠΊΠ°ΠΊ Git. Mercurial Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², скорСС всСго, выходящих Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ нСзависимых Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ нСбольшиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ»ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Mercurial Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ быстр, ΠΈ создатСли создали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠ°ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ.

ΠŸΠ»ΡŽΡΡ‹:

  • Π­Ρ‚ΠΎ бСсплатно.