πŸ”₯ Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² систСму контроля вСрсий

by itisgood

Если Π²Ρ‹ программист ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ прилоТСниями ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹ΠΌ Π²Π΅Π±-сайтом, Π²Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ потрСбуСтся какая-Ρ‚ΠΎ систСма управлСния вСрсиями для отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

БистСма контроля вСрсий Ρ‚Π°ΠΊΠΆΠ΅ называСтся инструмСнтами SCM (Source Code Management) ΠΈΠ»ΠΈ RCS (Revision Control System).

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий – это ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ»ΠΈ катСгория ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² ΠΊΠΎΠ΄Π΅, поэтому, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ сравнСния Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΊΠΎΠ΄Π° ΠΈ Π»Π΅Π³ΠΊΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ вСрсиям.

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° нСсколько Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² постоянно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ исходный ΠΊΠΎΠ΄ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

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

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ VCS, программисты ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ:

  • КакиС измСнСния Π±Ρ‹Π»ΠΈ внСсСны Π² ΠΊΠΎΠ΄?
  • ΠšΡ‚ΠΎ внСс измСнСния Π² ΠΊΠΎΠ΄?
  • Когда Π±Ρ‹Π»ΠΈ внСсСны измСнСния Π² ΠΊΠΎΠ΄?
  • Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ измСнСния?
Π’ΠΎΡ‚ простая графичСская ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ, которая Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π° самом Π΄Π΅Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ VCS.
На ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ рисункС пСрвая строка с Π³ΠΎΠ»ΡƒΠ±Ρ‹ΠΌΠΈ ΡˆΠ°Ρ€ΠΈΠΊΠ°ΠΌΠΈ – это основная Π²Π΅Ρ‚Π²ΡŒ, которая являСтся основной Π²Π΅Ρ‚Π²ΡŒΡŽ исходного ΠΊΠΎΠ΄Π°.
Π˜Ρ‚Π°ΠΊ, v0.1 ΠΈ v0.2 – это нСсколько вСрсий, созданных для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ½ΡΠΏΡˆΠΎΡ‚Ρ‹ всСго исходного ΠΊΠΎΠ΄Π°
ΠœΡ‹ создали нСсколько Π²Π΅Ρ‚ΠΎΠΊ ΠΈΠ· основной Π²Π΅Ρ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π²Π΅Ρ‚ΠΊΠ° release, develop ΠΈ hotfix.
НСсколько Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, создавая Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΡΠΌΠ΅Ρ€ΠΆΠΈΡ‚ΡŒ (ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ) ΠΈΡ… с Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ.

Π’ΠΈΠΏΡ‹ систСм контроля вСрсий VCS

БущСствуСт Π΄Π²Π° Ρ‚ΠΈΠΏΠ° VCS, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:
  • ЦСнтрализованная систСма контроля вСрсий (CVCS),
  • РаспрСдСлСнная систСма контроля вСрсий (DVCS).
Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ систСму контроля вСрсий.

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

Β 

ЦСнтрализованная систСма контроля вСрсий Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр.

Π‘Π΅Ρ€Π²Π΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, которая Π² случаС Ρ‡Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ.

МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это своСго Ρ€ΠΎΠ΄Π° ΠΎΠ±Ρ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ новСйший ΠΊΠΎΠ΄.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ мастСр-ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·.

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ просто, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ послСднюю копию ΠΊΠΎΠ΄Π°, ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΉ (Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния), Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ нСдостатком Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ VCS являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° являСтся СдинствСнной Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΎΡ‚ΠΊΠ°Π·Π°.

Если Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр Π²Ρ‹ΡˆΠ΅Π» ΠΈΠ· строя, Π²Ρ‹ Π½Π΅ смоТСтС Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Если Π²Ρ‹ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚Π΅ ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, это Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΉΠΌΠ΅Ρ‚ врСмя.

Π’Π°ΠΌ понадобится ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ измСнСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

  • Open source Concurrent Versions System (CVS), Subversion (SVN).
  • ΠŸΡ€ΠΎΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΎΠ΅ ПО – TeamCity, Vault, IBM Configuration Management Version Control (CMVC).

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

РаспрСдСлСнная систСма контроля вСрсий ΠΈΠΌΠ΅Π΅Ρ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π° всС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ своСй локальной ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

Им Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ.

Они ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ всС Π² ΠΊΠΎΠ΄Π΅, ΠΊΡ€ΠΎΠΌΠ΅ push ΠΈ pull.

Если Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр Π²Ρ‹ΡˆΠ΅Π» ΠΈΠ· строя, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ влияния ΠΈΠ·-Π·Π° локального Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

  • Open source Git, Mercurial, Bazaar.
  • ΠŸΡ€ΠΎΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΎΠ΅ ПО – Visual Studio Team Services, Plastic SCM.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ SVN (цСнтрализованная VCS) ΠΈ GIT (распрСдСлСнная VCS)

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ CVCS ΠΈ DVCS.

Из рисунка Π²Ρ‹ΡˆΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² SVN (Centralized VCS) Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½ΠΎ Π² GIT (Distributed VCS) Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‚Π°ΠΊ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

НадСюсь, Ρƒ вас Π΅ΡΡ‚ΡŒ основноС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎ VCS ΠΈ Π΅Π΅ Ρ‚ΠΈΠΏΠ°Ρ….

Π’ блиТайшиС Π΄Π½ΠΈ ΠΌΡ‹ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ большС руководств, связанных с VCS. Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° обновлСниями!

Loading

You may also like

Leave a Comment