Π Π°Π·Π½ΠΎΠ΅

РаспрСдСлСнная систСма управлСния вСрсиями: РаспрСдСлСнная систСма управлСния вСрсиями Git. Π§Π°ΡΡ‚ΡŒ 1: Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

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

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ систСм управлСния вСрсиями / Π₯Π°Π±Ρ€

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ сравним с тСхничСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния самыС извСстныС систСмы управлСния вСрсиями (Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ список):

  1. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅
  2. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅
  3. Π’Ρ€Π΅Ρ‚ΡŒΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅

БистСмы контроля вСрсий (VCS) ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ поколСния отслСТивали измСнСния Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…, Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ локально ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π·Π° Ρ€Π°Π·. БистСмы ΡΡ‚Ρ€ΠΎΠΈΠ»ΠΈΡΡŒ Π½Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ всС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ своим ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹ΠΌΠΈ записям Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±Ρ‰ΠΈΠΉ ΡƒΠ·Π΅Π» Unix.

Π’ VCS Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ поколСния появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСти, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌ с Β«ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈΒ» вСрсиями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎ Π±Ρ‹Π» Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ прогрСсс, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ нСсколько ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ, дСлая ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Однако для ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² трСбовался доступ ΠΊ сСти.

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

Π₯ронология Π²Ρ‹Ρ…ΠΎΠ΄Π° VCS

Для контСкста, Π²ΠΎΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊ c Π΄Π°Ρ‚Π°ΠΌΠΈ появлСния этих инструмСнтов:

SCCS (Source Code Control System): ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅

SCCS считаСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… систСм управлСния вСрсиями. Она Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² 1972 Π³ΠΎΠ΄Ρƒ ΠœΠ°Ρ€ΠΊΠΎΠΌ Π ΠΎΡ‡ΠΊΠΈΠ½Π΄ΠΎΠΌ ΠΈΠ· Bell Labs. БистСма написана Π½Π° C ΠΈ создана для отслСТивания вСрсий исходного Ρ„Π°ΠΉΠ»Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΠ»Π° поиск источников ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Базовая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ синтаксис SCCS ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠΎΡ€Π½ΠΈ соврСмСнных инструмСнтов VCS.

АрхитСктура

Как ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ соврСмСнных систСм, Π² SCCS Π΅ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с вСрсиями Ρ„Π°ΠΉΠ»ΠΎΠ²:

  1. ВнСсСниС (check-in) Ρ„Π°ΠΉΠ»ΠΎΠ² для отслСТивания истории Π² SCCS.
  2. Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ (check-out) ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ² для Ρ€Π΅Π²ΡŒΡŽ ΠΈΠ»ΠΈ компиляции.
  3. Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… вСрсий для рСдактирования.
  4. ВнСсСниС Π½ΠΎΠ²Ρ‹Ρ… вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ² вмСстС с коммСнтариями, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΌΠΈ измСнСния.
  5. ΠžΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, внСсённых Π² ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».
  6. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ вСтвлСния ΠΈ слияния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
  7. Π–ΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»Π°.

ΠŸΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° для отслСТивания Π² SCCS создаётся Ρ„Π°ΠΉΠ» ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся s-Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» истории. Он имСнуСтся ΠΊΠ°ΠΊ исходный Ρ„Π°ΠΉΠ», Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с прСфиксом s., ΠΈ хранится Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ SCCS. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для Ρ„Π°ΠΉΠ»Π° test.txt Π±ΡƒΠ΄Π΅Ρ‚ создан Ρ„Π°ΠΉΠ» истории s.test.txt Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ./SCCS/. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания Ρ„Π°ΠΉΠ» истории содСрТит Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ содСрТимоС исходного Ρ„Π°ΠΉΠ»Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ вСрсии. Π—Π΄Π΅ΡΡŒ хранятся ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ суммы для Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ, Ρ‡Ρ‚ΠΎ содСрТимоС Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° истории Π½Π΅ сТимаСтся ΠΈ Π½Π΅ кодируСтся (ΠΊΠ°ΠΊ Π² VCS ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ поколСния).

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

ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ добавлСния Ρ„Π°ΠΉΠ»Π° хранят Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅Π»ΡŒΡ‚Ρ‹ ΠΈΠ»ΠΈ измСнСния, Π° Π½Π΅ всё Π΅Π³ΠΎ содСрТимоС. Π­Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° истории. КаТдая Π΄Π΅Π»ΡŒΡ‚Π° сохраняСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° истории Π² структурС ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π΄Π΅Π»ΡŒΡ‚Π°-Ρ‚Π°Π±Π»ΠΈΡ†Π°. Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, фактичСскоС содСрТимоС Ρ„Π°ΠΉΠ»Π° Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ копируСтся дословно, со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ для ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π°Ρ‡Π°Π»Π° ΠΈ ΠΊΠΎΠ½Ρ†Π° Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ содСрТимого. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ„Π°ΠΉΠ»Ρ‹ истории SCCS Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ сТатиС, ΠΎΠ½ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ больший Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ‡Π΅ΠΌ фактичСский Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ измСнСния. SCCS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Ρ‡Π΅Ρ€Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π΄Π΅Π»ΡŒΡ‚Ρ‹ (interleaved deltas), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ постоянноС врСмя извлСчСния нСзависимо ΠΎΡ‚ давности ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Π½Π½ΠΎΠΉ вСрсии, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ старыС вСрсии ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎ ΠΈ Π½ΠΎΠ²Ρ‹Π΅.

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

Когда Ρ„Π°ΠΉΠ» извлСкаСтся для рСдактирования Π² SCCS, Π½Π° Π½Π΅Π³ΠΎ ставится Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Π½ΠΈΠΊΡ‚ΠΎ большС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ.

SCCS ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²Π΅Ρ‚Π²ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранят ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. МоТно произвСсти слияниС Π²Π΅Ρ‚Π²ΠΈ с исходной вСрсиСй ΠΈΠ»ΠΈ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ список Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных ΠΊΠΎΠΌΠ°Π½Π΄ SCCS.

  • sccs create <filename.ext>: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² SCCS ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» истории (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ./SCCS/).
  • sccs get <filename.ext>: ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° истории ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния.
  • sccs edit <filename.ext>: ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° истории для рСдактирования. Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» истории, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.
  • sccs delta <filename.ext>: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ измСнСния Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». БистСма запросит ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, сохранит измСнСния Π² Ρ„Π°ΠΉΠ»Π΅ истории ΠΈ снимСт Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ.
  • sccs prt <filename.ext>: ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для отслСТиваСмого Ρ„Π°ΠΉΠ»Π°.
  • sccs diffs <filename.ext>: ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ различия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ Ρ„Π°ΠΉΠ»Π° ΠΈ состояниСм Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±Ρ‹Π» ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Π½.

Для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… SCCS см. руководство ΠΎΡ‚ Π­Ρ€ΠΈΠΊΠ° Аллмана ΠΈ «Руководство Oracle ΠΏΠΎ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌ для программирования».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° истории SCCS
^Ah30562                                                                                                                                                                           
^As 00001/00001/00002
^Ad D 1.3 19/11/26 14:37:08 jack 3 2 
^Ac Here is a comment.
^Ae
^As 00002/00000/00001
^Ad D 1.2 19/11/26 14:36:00 jack 2 1 
^Ac No. 
^Ae
^As 00001/00000/00000
^Ad D 1.1 19/11/26 14:35:27 jack 1 0 
^Ac date and time created 19/11/26 14:35:27 by jack
^Ae
^Au
^AU
^Af e 0 
^At
^AT
^AI 1
Hi there
^AE 1
^AI 2

^AD 3
This is a test of SCCS
^AE 2
^AE 3
^AI 3
A test of SCCS
^AE 3

RCS (Revision Control System): ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅

RCS написана Π² 1982 Π³ΠΎΠ΄Ρƒ Π£ΠΎΠ»Ρ‚Π΅Ρ€ΠΎΠΌ Π’ΠΈΡ…ΠΈ Π½Π° языкС Π‘ Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ систСмС SCCS, которая Π² Ρ‚ΠΎ врСмя Π½Π΅ Π±Ρ‹Π»Π° опСнсорсной.

АрхитСктура

Π£ RCS ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ со своим ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠΎΠΌ, Π² Ρ‚ΠΎΠΌ числС:

  • Π’Π΅Π΄Π΅Π½ΠΈΠ΅ вСрсий ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.
  • ИзмСнСния Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ… нСльзя ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.
  • ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ нСсколькими ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.
  • НСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сСти.
  • ВСрсии ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ отслСТиваСмого Ρ„Π°ΠΉΠ»Π° хранятся Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Ρ„Π°ΠΉΠ»Π΅ истории.
  • Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ объСдинСниС вСрсий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

Когда Ρ„Π°ΠΉΠ» Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ добавляСтся Π² RCS, для Π½Π΅Π³ΠΎ Π² локальном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ создаётся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» истории Π² локальной Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ./RCS/. К этому Ρ„Π°ΠΉΠ»Ρƒ добавляСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ,v, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ test.txt Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ test.txt,v.

Для хранСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ RCS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ схСму ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π΄Π΅Π»ΡŒΡ‚ (reverse-delta). ΠŸΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΏΠΎΠ»Π½Ρ‹ΠΉ снимок Π΅Π³ΠΎ содСрТимого сохраняСтся Π² Ρ„Π°ΠΉΠ»Π΅ истории. Когда Ρ„Π°ΠΉΠ» измСняСтся ΠΈ возвращаСтся снова, вычисляСтся Π΄Π΅Π»ΡŒΡ‚Π° Π½Π° основС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ содСрТимого Ρ„Π°ΠΉΠ»Π° истории. Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ снимок отбрасываСтся, Π° Π½ΠΎΠ²Ρ‹ΠΉ сохраняСтся вмСстС с Π΄Π΅Π»ΡŒΡ‚ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² староС состояниС. Π­Ρ‚ΠΎ называСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ Π΄Π΅Π»ΡŒΡ‚ΠΎΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ для извлСчСния Π±ΠΎΠ»Π΅Π΅ старой вСрсии RCS Π±Π΅Ρ€Ρ‘Ρ‚ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ примСняСт Π΄Π΅Π»ΡŒΡ‚Ρ‹ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСт Π½ΡƒΠΆΠ½ΠΎΠΉ вСрсии. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ вСрсии, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всСгда доступСн ΠΏΠΎΠ»Π½Ρ‹ΠΉ снимок Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ. Однако Ρ‡Π΅ΠΌ ΡΡ‚Π°Ρ€ΡˆΠ΅ вСрсия, Ρ‚Π΅ΠΌ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ всё большС Π΄Π΅Π»ΡŒΡ‚.

Π’ SCCS ΠΈΠ½Π°Ρ‡Π΅: Ρ‚Π°ΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ любой вСрсии Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Ρ„Π°ΠΉΠ»Π°Ρ… истории RCS Π½Π΅ хранится ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма, поэтому нСльзя ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π°.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

НиТС список Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространённых ΠΊΠΎΠΌΠ°Π½Π΄ RCS:

  • <filename.ext>: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² RCS ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» истории (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ./RCS/).
  • co <filename.ext>: ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° истории ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния.
  • co -l <filename.ext>: ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° истории для рСдактирования. Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» истории, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.
  • ci <filename.ext>: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ измСнСния Ρ„Π°ΠΉΠ»Π° ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Π½Π΅Π³ΠΎ Π½ΠΎΠ²ΡƒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΡŽ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Ρ„Π°ΠΉΠ»Π΅ истории.
  • merge <file-to-merge-into.ext> <parent.ext> <file-to-merge-from.ext>: произвСсти слияниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Ρ… Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.
  • rcsdiff <filename.ext>: ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ различия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ Ρ„Π°ΠΉΠ»Π° ΠΈ состояниСм Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±Ρ‹Π» ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Π½.
  • rcsclean: ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ стоят Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.

Для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… RCS см. руководство ΠΏΠΎ GNU RCS.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° истории RCS
head    1.2;                                                                                                                                                                       
access;
symbols;
locks; strict;
comment @# @;


1.2
date    2019.11.25.05.51.55;    author jstopak; state Exp;
branches;
next    1.1;

1.1
date    2019.11.25.05.49.02;    author jstopak; state Exp;
branches;
next    ;


desc
@This is a test.
@


1.2
log
@Edited the file.
@
text
@hi there, you are my bud.

You are so cool!

The end.
@


1.1
log
@Initial revision
@
text
@d1 5
a5 1
hi there
@

CVS (Concurrent Versions System): Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅

CVS создана Π”ΠΈΠΊΠΎΠΌ Π“Ρ€ΡƒΠ½ΠΎΠΌ Π² 1986 Π³ΠΎΠ΄Ρƒ с Ρ†Π΅Π»ΡŒΡŽ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² систСму управлСния вСрсиями ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ сСти. Она Ρ‚Π°ΠΊΠΆΠ΅ написана Π½Π° C ΠΈ Π·Π½Π°ΠΌΠ΅Π½ΡƒΠ΅Ρ‚ собой Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ поколСния инструмСнтов VCS, благодаря ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ гСографичСски рассрСдоточСнныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ вмСстС.

АрхитСктура

CVSΒ β€” это Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ для RCS, Π² Π½Ρ‘ΠΌ появился Π½ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ для взаимодСйствия с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π½ΠΎ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π° истории RCS ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ RCS. Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ CVS ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» нСскольким Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Π­Ρ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ рСпозитория. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΡˆΠ°Π³Β β€” настройка Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ сСрвСрС Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ рСпозитория с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CVS. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Когда ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ импортируСтся Π² CVS, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» прСобразуСтся Π² Ρ„Π°ΠΉΠ» истории ,v ΠΈ хранится Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ: ΠΌΠΎΠ΄ΡƒΠ»Π΅. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ сСрвСрС, доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ копию модуля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ копируСтся Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° Π΅Π³ΠΎ локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π’ этом процСссС Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ ограничСния Π½Π° количСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ свои Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния (Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚). Если Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ фиксируСт ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ свои Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ) Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ процСсса слияния ΠΏΠ΅Ρ€Π΅Π΄ фиксациСй своих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Иногда приходится Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚. CVS Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π²Π΅Ρ‚Π²ΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

  • export CVSROOT=<path/to/repository>: Π·Π°Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ рСпозитория CVS, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅.
  • cvs import -m 'Import module' <module-name> <vendor-tag> <release-tag>: ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ CVS. ΠŸΠ΅Ρ€Π΅Π΄ запуском этого процСсса ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  • cvs checkout <module-name>: ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ.
  • cvs commit <filename.ext>: ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.
  • cvs add <filename.txt>: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
  • cvs update: ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию, объСдинив зафиксированныС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π½ΠΎ Π½Π΅ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ.
  • cvs status: ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ модуля.
  • cvs tag <tag-name> <files>: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅Π³ Π² Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ².
  • cvs tag -b <new-branch-name>: ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ (ΠΏΠ΅Ρ€Π΅Π΄ локальной Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Ρ‘ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ).
  • cvs checkout -r <branch-name>: ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
  • cvs update -j <branch-to-merge>: ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ с локальной Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ.

Для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… CVS см. руководство ΠΏΠΎ GNU CVS ΠΈ ΡΡ‚Π°Ρ‚ΡŒΡŽ Π”ΠΈΠΊΠ° Π“Ρ€ΡƒΠ½Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° истории CVS
head     1.1;                                                                                                                                                                      
branch   1.1.1;
access   ;   
symbols  start:1.1.1.1 jack:1.1.1;
locks    ; strict;
comment  @# @;


1.1
date     2019.11.26.18.45.07;  author jstopak;  state Exp;
branches 1.1.1.1;
next     ;   
commitid        zsEBhVyPc4lonoMB;

1.1.1.1
date     2019.11.26.18.45.07;  author jstopak;  state Exp;
branches ;
next     ;   
commitid        zsEBhVyPc4lonoMB;


desc
@@



1.1
log
@Initial revision
@
text
@hi there
@


1.1.1.1
log
@Imported sources
@
text
@@

SVN (Subversion): Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅

Subversion создана Π² 2000 Π³ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Collabnet Inc., Π° Π² настоящСС врСмя поддСрТиваСтся Apache Software Foundation. БистСма написана Π½Π° C ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠ΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Ρ‡Π΅ΠΌ CVS.

АрхитСктура

Как ΠΈ CVS, Subversion ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ модСль Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ рСпозитория. Π£Π΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ трСбуСтся сСтСвоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ для ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

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

Π’ настоящСС врСмя Subversion ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму FSFS (File System atop the File System). Π—Π΄Π΅ΡΡŒ создаётся Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… со структурой Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС хоста. Уникальная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ FSFS Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для отслСТивания Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Π½ΠΎ ΠΈ ΠΈΡ… вСрсий. Π­Ρ‚ΠΎ файловая систСма с восприятиСм Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² Subversion. Π’ систСму ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ пустыС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ (Π΄Π°ΠΆΠ΅ Git) Π½Π΅ Π·Π°ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ ΠΈΡ….

ΠŸΡ€ΠΈ создании рСпозитория Subversion Π² Π΅Π³ΠΎ составС создаётся (ΠΏΠΎΡ‡Ρ‚ΠΈ) пустая Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ. Боздаётся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ db/revs, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится вся информация отслСТивания вСрсий для Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… (зафиксированных) Ρ„Π°ΠΉΠ»ΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ измСнСния Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…) хранится Π² Π½ΠΎΠ²ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ revs, ΠΈ Π΅ΠΌΡƒ присваиваСтся имя с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числовым ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌΡΡ с 1. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ сохраняСтся ΠΏΠΎΠ»Π½ΠΎΠ΅ содСрТимоС Ρ„Π°ΠΉΠ»Π°. Π‘ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ ΠΊ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΈΡ„Ρ„Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄Π΅Π»ΡŒΡ‚Π°ΠΌΠΈ β€” для экономии мСста. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π΄Π΅Π»ΡŒΡ‚Ρ‹ ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сТатия lz4 ΠΈΠ»ΠΈ zlib.

Вакая систСма Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. Π₯отя Π΄Π΅Π»ΡŒΡ‚Ρ‹ экономят мСсто, Π½ΠΎ Ссли ΠΈΡ… ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‚ΠΎ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π΅ΠΌΠ°Π»ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ для воссоздания Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ всС Π΄Π΅Π»ΡŒΡ‚Ρ‹. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Subversion сохраняСт Π΄ΠΎ 1023 Π΄Π΅Π»ΡŒΡ‚ Π½Π° Ρ„Π°ΠΉΠ», Π° ΠΏΠΎΡ‚ΠΎΠΌ Π΄Π΅Π»Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠΎΠ»Π½ΡƒΡŽ копию Ρ„Π°ΠΉΠ»Π°. Π­Ρ‚ΠΎ обСспСчиваСт Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ баланс хранСния ΠΈ скорости.

SVN Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ систСму вСтвлСния ΠΈ Ρ‚Π΅Π³ΠΎΠ². ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ шаблон рСпозитория Subversion содСрТит Ρ‚Ρ€ΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΊΠΎΡ€Π½Π΅:

ДирСктория trunk/ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½-вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ДирСктория branches/ β€” для хранСния Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ вСтвям. ДирСктория tags/ β€” для хранСния Ρ‚Π΅Π³ΠΎΠ², ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅) вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

  • svn create <path-to-repository>: ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ рСпозитория Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.
  • svn import <path-to-project> <svn-url>: ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Subversion.
  • svn checkout <svn-path> <path-to-checkout>: ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
  • svn commit -m 'Commit message': ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π°Π±ΠΎΡ€Π° ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ вмСстС с сообщСниСм.
  • svn add <filename.txt>: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
  • svn update: ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию, объСдинив зафиксированныС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π½ΠΎ Π½Π΅ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ.
  • svn status: ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ список отслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнились Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ (Ссли Ρ‚Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ).
  • svn info: ΠΎΠ±Ρ‰ΠΈΠ΅ свСдСния ΠΎΠ± ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Π½Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ.
  • svn copy <branch-to-copy> <new-branch-path-and-name>: ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΡƒΡ‚Ρ‘ΠΌ копирования ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ.
  • svn switch <existing-branch>: ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π·Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Ρ„Π°ΠΉΠ»Ρ‹.
  • svn merge <existing-branch>: ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ, скопированной Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ впослСдствии Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚.
  • svn log: ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ сообщСния для Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… SVN см. Π² ΠΊΠ½ΠΈΠ³Π΅ Β«Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями Π² SubversionΒ».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° истории SVN
DELTA                                                                                                                                                                              
SVN^B^@^@   ^B  
^A<89>  hi there
ENDREP
id: 2-1.0.r1/4
type: file
count: 0
text: 1 3 21 9 12f6bb1941df66b8f138a446d4e8670c 279d9035886d4c0427549863c4c2101e4a63e041 0-0/_4
cpath: /trunk/hi.txt
copyroot: 0 / 

DELTA
SVN^B^@^@$^B%^AΒ€$K 6
hi.txt
V 15
file 2-1.0.r1/4
END
ENDREP
id: 0-1.0.r1/6
type: dir 
count: 0
text: 1 5 48 36 d84cb1c29105ee7739f3e834178e6345 - - 
cpath: /trunk
copyroot: 0 / 

DELTA
SVN^B^@^@'^B#^AΒ’'K 5
trunk
V 14
dir 0-1.0.r1/6
END
ENDREP
id: 0.0.r1/2
type: dir 
pred: 0.0.r0/2
count: 1
text: 1 7 46 34 1d30e888ec9e633100992b752c2ff4c2 - - 
cpath: /
copyroot: 0 / 

_0.0.t0-0 add-dir false false false /trunk

_2.0.t0-0 add-file true false false /trunk/hi.txt


L2P-INDEX
^A<80>@^A^A^A^M^H^@À^H÷^Aé^FDÎ^Bzè^AP2L-INDEX
^A<91>^E<80><80>@^A?^@'2^@<8d>»Ý<90>^C§^A^X^@á ½½^N=
^@ΓΌ<8d>Ôã^Ft^V^@<92><9a><89>Γƒ^E;
^@<8a>Γ₯w|I^@<88><83>Î<93>^L`^M^@ΓΉΒ­<92>Γ€^EΓ―ΓΊ?^[^@^@657 6aad60ec758d121d5181ea4b81a9f5f4 688 75f59082c8b5ab687ae87708432ca406I

Git: Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅

БистСму Git Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² 2005 Π³ΠΎΠ΄Ρƒ Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ (ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Linux). Она написана Π² основном Π½Π° C Π² сочСтании с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ сцСнариями ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. ΠžΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ΡΡ ΠΎΡ‚ VCS ΠΏΠΎ функциям, гибкости ΠΈ скорости. Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ написал систСму для ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ Linux, Π½ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π΅Ρ‘ сфСра использования Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»Π°ΡΡŒ, ΠΈ сСгодня это самая популярная Π² ΠΌΠΈΡ€Π΅ систСма управлСниями вСрсиями.

АрхитСктура

Git являСтся распрСдСлённой систСмой. Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория Π½Π΅ сущСствуСт: всС ΠΊΠΎΠΏΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΠΊΠΎ отличаСтся ΠΎΡ‚ VCS Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ поколСния, Π³Π΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π° основана Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ измСнСниями Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ объСдинСниСм своих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ.

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

Когда Ρ„Π°ΠΉΠ» добавляСтся для отслСТивания Π² Git, ΠΎΠ½ сТимаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° сТатия zlib. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ…ΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SHA-1. Π­Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ…ΡΡˆ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ содСрТимому Π² этом Ρ„Π°ΠΉΠ»Π΅. Git Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΅Π³ΠΎ Π² Π±Π°Π·Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², которая находится Π² скрытой ΠΏΠ°ΠΏΠΊΠ΅ .git/objects. Имя Ρ„Π°ΠΉΠ»Π°Β β€” это сгСнСрированный Ρ…ΡΡˆ, Π° Ρ„Π°ΠΉΠ» содСрТит сТатый ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚. Π”Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π±Π»ΠΎΠ±Π°ΠΌΠΈ ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠΉ вСрсии ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°).

Git Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ индСкс (staging index), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выступаСт Π² качСствС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ области для ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ готовятся ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ. По ΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΠΈΡ… сТатоС содСрТимоС ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ индСксном Ρ„Π°ΠΉΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄Π΅Ρ€Π΅Π²Π°. Π”Π΅Ρ€Π΅Π²ΠΎΒ β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Git, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ связываСт Π±Π»ΠΎΠ±Ρ‹ с ΠΈΡ… Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ Π½Π° доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ ссылками Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄Π΅Ρ€Π΅Π²ΡŒΡ ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ прСдставляСт состояниС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². Когда всС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, индСксноС Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаёт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Git. ΠšΠΎΠΌΠΌΠΈΡ‚ ссылаСтся Π½Π° Π΄Π΅Ρ€Π΅Π²ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° Π°Π²Ρ‚ΠΎΡ€Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, Π΄Π°Ρ‚Ρƒ ΠΈ сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ ссылку Π½Π° свой Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚(-Ρ‹), ΠΈ Ρ‚Π°ΠΊ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ создаётся история развития ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ, всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ GitΒ β€” Π±Π»ΠΎΠ±Ρ‹, Π΄Π΅Ρ€Π΅Π²ΡŒΡ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹Β β€” ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ, Ρ…ΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ хранятся Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° основС ΠΈΡ… Ρ…ΡΡˆΠ΅ΠΉ. Они Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ свободными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ (loose objects). Π—Π΄Π΅ΡΡŒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄ΠΈΡ„Ρ„Ρ‹ для экономии мСста, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Git ΠΎΡ‡Π΅Π½ΡŒ быстрым, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ»Π½ΠΎΠ΅ содСрТимоС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии Ρ„Π°ΠΉΠ»Π° доступно ΠΊΠ°ΠΊ свободный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Однако Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅Π½ΡŒ большого количСства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΉ запуск ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сборки мусора Git Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π’ процСссС ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π΄ΠΈΡ„Ρ„Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ избыточности ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ .pack с содСрТимым ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… создаётся Ρ„Π°ΠΉΠ» .idx (ΠΈΠ»ΠΈ индСкс) со ссылкой Π½Π° ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΈΡ… располоТСниС Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.

Когда Π²Π΅Ρ‚Π²ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΈΠ· Π½ΠΈΡ…, ΠΏΠΎ сСти ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ эти ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. ΠŸΡ€ΠΈ вытягивании ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ Π²Π΅Ρ‚Π²Π΅ΠΉ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ для создания свободных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

  • git init: ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠ°ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git (создаётся скрытая ΠΏΠ°ΠΏΠΊΠ° .git ΠΈ Π΅Ρ‘ содСрТимоС).
  • git clone <git-url>: Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ копию рСпозитория Git ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ URL.
  • git add <filename.ext>: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСотслСТСнный ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (создаёт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ записи Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²).
  • git commit -m 'Commit message': Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ вмСстС с сообщСниСм ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅.
  • git status: ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ статус Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚Π²ΠΈ, нСотслСТСнных Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ‚.Β Π΄.
  • git branch <new-branch>: ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ Π½Π° основС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ.
  • git checkout <branch>: ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
  • git merge <branch>: ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ, которая ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π° Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
  • git pull: ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию, объСдинив Π² Π½Π΅Ρ‘ зафиксированныС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π½ΠΎ Π½Π΅ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ.
  • git push: ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ свободныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ пСрСнСсти Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.
  • git log: ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ сообщСния для Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ.
  • git stash: ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС нСзафиксированныС измСнСния ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² кэш, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΡ… ΠΏΠΎΠ·ΠΆΠ΅.

Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Git, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с руководством Git для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… см. Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅ ΠΊΠ½ΠΈΠ³ΠΈ Pro Git.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π±Π»ΠΎΠ±Π°, Π΄Π΅Ρ€Π΅Π²Π° ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Git

Π‘Π»ΠΎΠ± с Ρ…ΡΡˆΠ΅ΠΌ 37d4e6c5c48ba0d245164c4e10d5f41140cab980:

hi there

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π΅Ρ€Π΅Π²Π° с Ρ…ΡΡˆΠ΅ΠΌ b769f35b07fbe0076dcfc36fd80c121d747ccc04:

100644 blob 37d4e6c5c48ba0d245164c4e10d5f41140cab980hi.txt

ΠšΠΎΠΌΠΌΠΈΡ‚ с Ρ…ΡΡˆΠ΅ΠΌ dc512627287a61f6111705151f4e53f204fbda9b:

tree b769f35b07fbe0076dcfc36fd80c121d747ccc04
author Jacob Stopak  1574915303 -0800
committer Jacob Stopak  1574915303 -0800

Initial commit

Mercurial: Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅

Mercurial создан Π² 2005 Π³ΠΎΠ΄Ρƒ ΠœΡΡ‚Ρ‚ΠΎΠΌ Макколлом ΠΈ написан Π½Π° Python. Он Ρ‚ΠΎΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для хостинга ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ Linux, Π½ΠΎ для этой Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Git. Π­Ρ‚ΠΎ вторая ΠΏΠΎ популярности систСма управлСния вСрсиями, хотя ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ€Π΅ΠΆΠ΅.

АрхитСктура

MercurialΒ β€” Ρ‚ΠΎΠΆΠ΅ распрСдСлённая систСма, которая позволяСт Π»ΡŽΠ±ΠΎΠΌΡƒ числу Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со своСй ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° нСзависимо ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Mercurial ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Ρ‚Π΅Ρ… ΠΆΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΈ Git, Π² Ρ‚ΠΎΠΌ числС сТатиС ΠΈ Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ SHA-1, Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ это ΠΈΠ½Π°Ρ‡Π΅.

Когда Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» фиксируСтся для отслСТивания Π² Mercurial, для Π½Π΅Π³ΠΎ создаётся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» revlog Π² скрытом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ .hg/store/data/. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» revlog (ΠΆΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² истории Π² старых VCS, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ CVS, RCS ΠΈ SCCS. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Git, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаёт Π½ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠ± для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Mercurial просто создаёт Π½ΠΎΠ²ΡƒΡŽ запись Π² revlog для этого Ρ„Π°ΠΉΠ»Π°. Для экономии мСста каТдая новая запись содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅Π»ΡŒΡ‚Ρƒ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии. Когда достигаСтся ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΎΠ΅ число Π΄Π΅Π»ΡŒΡ‚, снова сохраняСтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ снимок Ρ„Π°ΠΉΠ»Π°. Π­Ρ‚ΠΎ сокращаСт врСмя поиска ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ большого количСства Π΄Π΅Π»ΡŒΡ‚ для восстановлСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ вСрсии Ρ„Π°ΠΉΠ»Π°.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ revlog имСнуСтся Π² соотвСтствии с Ρ„Π°ΠΉΠ»ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ отслСТиваСт, Π½ΠΎ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .i ΠΈΠ»ΠΈ .d. Π€Π°ΠΉΠ»Ρ‹ .d содСрТат ΡΠΆΠ°Ρ‚ΡƒΡŽ Π΄Π΅Π»ΡŒΡ‚Ρƒ. Π€Π°ΠΉΠ»Ρ‹ .i ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² качСствС индСксов для быстрого отслСТивания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вСрсий Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² .d. Для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΌΠ°Π»Ρ‹ΠΌ количСством ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ индСксы ΠΈ содСрТимоС хранятся Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² .i. Записи Ρ„Π°ΠΉΠ»Π° revlog ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Ρ…ΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΈ Ρ…ΡΡˆ-значСния ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ΡΡ nodeid.

ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Mercurial отслСТиваСт всС вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ² этого ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ манифСстС. ΠœΠ°Π½ΠΈΡ„Π΅ΡΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ являСтся Ρ„Π°ΠΉΠ»ΠΎΠΌ revlog β€” Π² Π½Ρ‘ΠΌ хранятся записи, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ состояниям рСпозитория. ВмСсто ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ содСрТимого Ρ„Π°ΠΉΠ»Π°, ΠΊΠ°ΠΊ revlog, манифСст Ρ…Ρ€Π°Π½ΠΈΡ‚ список ΠΈΠΌΡ‘Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ nodeids, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ вСрсии Ρ„Π°ΠΉΠ»Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΈ записи манифСста Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΈ Ρ…ΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ. Π₯эш-значСния Ρ‚ΠΎΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ nodeid.

НаконСц, Mercurial ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ revlog, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся changelog, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ список записСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ:

  • nodeid манифСста: ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ вСрсий Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
  • ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° nodeid для Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²: это позволяСт Mercurial ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡˆΠΊΠ°Π»Ρƒ ΠΈΠ»ΠΈ Π²Π΅Ρ‚Π²ΡŒ истории ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° (ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ слияниС) хранится ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ID.
  • Автор ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
  • Π”Π°Ρ‚Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π°
  • Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

КаТдая запись changelog Ρ‚Π°ΠΊΠΆΠ΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ…ΡΡˆ, извСстный ΠΊΠ°ΠΊ Π΅Π³ΠΎ nodeid.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

  • hg init: ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠ°ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Mercurial (создаёт ΡΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ .hg ΠΈ Π΅Ρ‘ содСрТимоС).
  • hg clone <hg-url>: Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ копию рСпозитория Mercurial ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ URL.
  • hg add <filename.ext>: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
  • hg commit -m 'Commit message': Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ вмСстС с сообщСниСм ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.
  • hg status: ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с состояниСм Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, нСотслСТСнных Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ‚.Π΄.
  • hg update <revision>: ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
  • hg merge <branch>: ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ, ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Π½Π½ΠΎΠΉ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
  • hg pull: ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ вСрсии ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΈΡ… Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
  • hg push: пСрСнСсти Π½ΠΎΠ²Ρ‹Π΅ вСрсии Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.
  • hg log: ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ связанныС с Π½Π΅ΠΉ сообщСния для Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»ΠΎΠ² Mercurial

ΠœΠ°Π½ΠΈΡ„Π΅ΡΡ‚:

hey.txt208b6e0998e8099b16ad0e43f036ec745d58ec04
hi.txt74568dc1a5b9047c8041edd99dd6f566e78d3a42

Π–ΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (changelog):

b8ee947ce6f25b84c22fbefecab99ea918fc0969
Jacob Stopak 
1575082451 28800
hey.txt

Add hey.txt

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация ΠΎΠ± устройствС Mercurial:

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

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

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

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

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

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

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

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

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

Β 

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

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

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

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

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

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

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

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

Если Π²Π°ΠΌ большС нравится ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ Π²ΠΈΠ΄Π΅ΠΎ-лСкциям, Ρ‚ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ классный курс ΠΏΠΎ git ΠΎΡ‚ GeekBrains, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ β€œΠšΡƒΡ€ΡΡ‹β€ курс β€œGit. Быстрый старт”. Он бСсплатный, Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° сайтС. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΏΠΎΠ²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° этот рСсурс, Π½Π° Π½Π΅ΠΌ Π΅Ρ‰Ρ‘ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π³ΠΎ интСрСсного!

Π§Π°ΡΡ‚ΡŒ 2. Установка Git >>>

БистСма контроля вСрсий (cvs) 2020

Π£ вас появилась новая Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ бизнСс-идСя, связанная с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ПО?Β Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ тСхнологичСски слоТноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅? Или Ρƒ вас большая ΠΊΠΎΠΌΠ°Π½Π΄Π° программистов, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π°Π΄ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ? Π’ΠΎΠ³Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ эти Ρ‚Ρ€ΠΈ слова: систСма контроля вСрсий.

БистСма контроля вСрсий, ΠΈΠ»ΠΈ vcs β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ даст ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Ρ€Π°Π·Π²Π°Π»ΠΈΡ‚ΡŒΡΡ Π½Π° куски, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ людСй. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹, ΠΊΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½Π°Π΄ своим кусочком, Π½Π΅ мСшая Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ ΠΈ Π½Π΅ нанося ΡƒΡ‰Π΅Ρ€Π±Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

Если Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ систСмы контроля вСрсий, Ρ‚ΠΎ Π²ΠΎΡ‚ здСсь всС ΠΎΡ‡Π΅Π½ΡŒ наглядно ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ.Β 

Π£Π·Π½Π°ΠΉΡ‚Π΅ сСгодня, ΠΊΠ°ΠΊ простая ΠΈ эффСктивная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΡ‡Π΅Ρ‚Π° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Time Doctor ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ вашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.

Β 

Или посмотритС Π²ΠΈΠ΄Π΅ΠΎ ΠΎΡ‚ GitHub.

Π˜Ρ‚Π°ΠΊ, какая систСма контроля вСрсий ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°?

ΠœΡ‹ сравнили нСсколько популярных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π°ΠΌ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€.

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

БистСмы контроля вСрсий, Π² Ρ‚ΠΎΠΌ числС ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстныС SVN (Subversion) ΠΈ Git, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ создавались, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ совмСстными ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π½Π΅ создавая ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹. Π’ систСмС контроля Π½Π΅ Π½Π°Π΄ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚Π²ΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ примСчания ΠΊ Π½ΠΈΠΌ. ВмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π³Π΄Π΅ всё упорядочСно, структурировано. Π—Π΄Π΅ΡΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ слияниС Π²Π΅Ρ‚ΠΎΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

МнСния Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ, какая систСма контроля вСрсий самая Π»ΡƒΡ‡ΡˆΠ°Ρ, сильно разнятся, ΠΈ это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π±ΡƒΡ€Π½Ρ‹ΠΌ спорам Π² срСдС программистов. ΠŸΠΎΠ΄Π±ΠΈΡ€Π°Ρ ΠΈ изучая систСмы контроля вСрсий для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ прСимущСства Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ часто ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹. НапримСр, Π»ΠΈΡ‡Π½Ρ‹Π΅ прСдпочтСния программиста ΠΈΠ»ΠΈ, скаТСм, Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΊΠ°ΠΊ быстродСйствиС,  возмоТности ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² IDE ΠΈ Ρ‚.Π΄.

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ систСмами контроля вСрсий состоит Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ: ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрныС ΠΈΠ»ΠΈ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ (p2p). Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ Π½ΠΈΡ… Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (сСрвСр), ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΊΠΎΠ΄ бСрСтся ΠΈ ΠΊΡƒΠ΄Π° возвращаСтся с внСсСнными измСнСниями. Или это копия Π² локальном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, обновляСмая посрСдством ΠΏΠΈΡ€ΠΎΠ²: Π±ΠΎΠ»Π΅Π΅ дСцСнтрализованная ΡΠ΅Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для синхронизации, ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΠ°Ρ‚Ρ‡Π°ΠΌΠΈ (Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) ΠΈ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°.

Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‡Π΅ΡΡ‚ΡŒ быстродСйствиС, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния/освоСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ систСмы контроля. Рассмотрим Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС систСмы контроля вСрсий ΠΈ Ρ‚Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ программисты ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

БистСма ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… вСрсий (CVS)

CVS появилась Π² 1980-Ρ… ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ популярна ΠΊΠ°ΠΊ Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² коммСрчСских ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ Ρƒ open-source Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

CVS  распространяСтся Π½Π° условиях ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ соглашСния GNU ΠΈ позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ с сСрвСра Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” Β«check-outΒ» (ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅), Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° сСрвСр, Β«check-inΒ» (Π²ΠΎΠ·Π²Ρ€Π°Ρ‚), с внСсСнными измСнСниями.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ CVS Π±Ρ‹Π»Π° создана, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° вСрсий. ВсСм участникам для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самая послСдняя вСрсия ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° пСрвая систСма контроля вСрсий. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ быстро Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΏΠΎΠΊΠ° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅ ΠΎΠΏΠ΅Ρ€Π΅Π΄ΠΈΠ»ΠΈ Π΅Π³ΠΎ.

БСйчас CVS ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ характСристиками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΠΎΠ·Π΄Π½Π΅Π΅.

Π‘Π΅Ρ€Π²Π΅Ρ€Π° CVS ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Unix, Π½ΠΎ CVS-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ доступны ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… популярных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах. CVS β€”   «зрСлая», провСрСнная Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ систСма контроля вСрсий. Π­Ρ‚ΠΎ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ опСнсорсная систСма, Π½ΠΎ Π½Π° сСгодняшний дСнь Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ довольно Ρ€Π΅Π΄ΠΊΠΎ.

ΠŸΡ€ΠΈ этом CVSNT, β€” Π²Ρ‹Π΄Π΅Π»ΠΈΠ²ΡˆΠ°ΡΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ вСрсия CVS для сСрвСров Windows, β€” сСйчас достаточно Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π».

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

Apache Subversion (SVN)

Β 

SVN создавалась ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° CVS с Ρ†Π΅Π»ΡŒΡŽ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ нСдостатки CVS ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π½Π΅ΠΉ.

Как ΠΈ CVS, SVN это бСсплатная систСма контроля вСрсий с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Π‘ Ρ‚ΠΎΠΉ лишь Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache, Π° Π½Π΅ ΠΏΠΎΠ΄ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹ΠΌ соглашСниСм GNU.

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

МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ Π½Π° SVN, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ новая тСхнология унаслСдовала Π»ΡƒΡ‡ΡˆΠΈΠ΅ возмоТности CVS ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»Π° ΠΈΡ….

Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² CVS ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π° дорогостоящиС ΠΈ Π½Π΅ прСдусмотрСны Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ систСмы, SVN создана ΠΊΠ°ΠΊ Ρ€Π°Π· для этого. Π’ΠΎ Π΅ΡΡ‚ΡŒ, для Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ направлСниями Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:
  • БистСма Π½Π° основС CVS
  • ДопускаСт Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° ΠΌΠ΅Π½Π΅Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Ρ‹
  • Π¨ΠΈΡ€ΠΎΠΊΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² IDE
  • НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΈΡ€ΠΈΠ½Π³ΠΎΠ²ΡƒΡŽ модСль
НСдостатки:
  • ВсС Π΅Ρ‰Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ошибки, связанныС с ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ
  • ΠΠ΅ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ
  • Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ

Git

Β 

Β 

Β 

Π­Ρ‚Π° систСма Π±Ρ‹Π»Π° создана для управлСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ядра Linux ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΊΠΎΡ€Π½Π΅ отличаСтся ΠΎΡ‚ CVS ΠΈ SVN.

Π’ основу Git Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π»ΠΈΡΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½Ρ‹Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ систСму контроля вСрсий, Π² противовСс ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π² CVS. Π’Π°ΠΊ ΠΊΠ°ΠΊ Git Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»Π°ΡΡŒ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ΄ Linux, Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² этой ОБ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС всСго.

Git Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСмах (ΠΊΠ°ΠΊ MacOS), Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚ mSysGit.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСдоступСн, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π±Π΅Π· рСпозитория. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ быстродСйствиС Git являСтся справСдливой ΠΏΠ»Π°Ρ‚ΠΎΠΉ Π·Π° нСудобства.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² Git Π΅ΡΡ‚ΡŒ мноТСство инструмСнтов для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. КаТдая рабочая копия исходного ΠΊΠΎΠ΄Π° содСрТит всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΡˆΡŒ Π±Π΅Π· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-соСдинСния.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:
  • ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅Π½Π°Π²ΠΈΠ΄ΠΈΡ‚ Β CVS/SVN
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ быстродСйствия
  • Π”Π΅ΡˆΠ΅Π²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°
  • Полная история Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ доступная ΠΎΡ„Ρ„Π»Π°ΠΉΠ½
  • РаспрСдСлСнная, пиринговая модСль
НСдостатки:
  • Высокий ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния (обучСния) для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ€Π°Π½Π΅Π΅ использовал SVN
  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Windows (ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Linux)

Β 

Mercurial

Β 

Β 

Mercurial Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Git. Π­Ρ‚ΠΎ Β Ρ‚Π°ΠΊΠΆΠ΅ распрСдСлСнная систСма контроля вСрсий.

Mercurial создавалась Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Git для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра Linux. Но Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ всС-Ρ‚Π°ΠΊΠΈ Git, Ρ‚ΠΎ Mercurial ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ мСньшС. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ с этой систСмой, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ OpenOffice.org.

БистСма контроля вСрсий Mercurial отличаСтся ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм контроля вСрсий Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ½Π° написана Π½Π° Python (Π° Π½Π΅ Π‘). Однако, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ части Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π² качСствС ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Π½Π° C.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ систСма дСцСнтрализованная ΠΈ написана Π½Π° Β Python, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Python-программисты ΡΠΊΠ»ΠΎΠ½ΡΡŽΡ‚ΡΡ ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρƒ Π½Π° Mercurial.

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

Один ΠΈΠ· сущСствСнных нСдостатков Mercurial Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ Git Π² Π½Π΅ΠΉ нСльзя ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Mercurial ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ систСму ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ скриптов. Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… программистов, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π½Π΅ хотят ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ возмоТностСй Git.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:
  • По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Git Π»Π΅Π³Ρ‡Π΅ Π² освоСнии
  • ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π°Ρ докумСнтация
  • РаспрСдСлСнная модСль систСмы контроля вСрсий
НСдостатки:
  • НСт возмоТности слияния Π΄Π²ΡƒΡ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ
  • ИспользованиС ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², Π° Π½Π΅ скриптов
  • МСньшС возмоТностСй для нСстандартных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

ΠšΠ°ΠΊΠ°ΡΒ ΡΠΈΡΡ‚Π΅ΠΌΠ° контроля вСрсий ΠΌΠ½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚?

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ CVS ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΈΠΌ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Π΅Π΅. Если ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Ρ‚ΠΎ пСрспСктива пСрСноса всСх Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ систСму контроля ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π½Π΅ вдохновляСт. Если Π±Ρ‹ ΠΈΠΌ всС-Ρ‚Π°ΠΊΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΌΠ΅Π½ΡΡ‚ΡŒ систСму, Ρ‚ΠΎ, скорСС всСго, ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ Π±Ρ‹ Π½Π° SVN.

CVS ΡƒΠΆΠ΅ достигла статуса β€œΠ·Ρ€Π΅Π»ΠΎΠΉ тСхнологии”, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ ΡƒΠΆΠ΅ Π½Π΅ появится Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π˜Π½Π΅Ρ€Ρ†ΠΈΡ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΈ тСряСтся, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ люди пСрСходят Π½Π° SVN. А Π·Π½Π°Ρ‡ΠΈΡ‚ CVS постСпСнно ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅.

БСгодня SVN ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°Π»ΡŒΠΌΡƒ пСрвСнства срСди сСрвСрных систСм контроля вСрсий. Она Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя прСимущСства CVS ΠΈ прСвосходит ΠΈΡ…. Если ΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ распространСнности, Ρ‚ΠΎ Π²Ρ‹, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с CVS ΠΈΠ»ΠΈ SVN, Ρ‡Π΅ΠΌ с Git ΠΈΠ»ΠΈ Mercurial. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π·Π½Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ сСрвСрной Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, хотя ΠΈ Π½Π΅ являСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ, ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄.

Благодаря ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ использованию ΠΈ  зрСлости Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π² SVN Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π° большая Π±Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΡŒ.

Π£ Git явно Π²Ρ‹ΡˆΠ΅ быстродСйствиС ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π°ΠΌΠΈ. Для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ распрСдСлСнныС систСмы контроля вСрсий, это ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅.

БущСствСнным нСдостатком Git являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€ΠΎΠΉ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠΉ систСмы контроля, ΠΈ это Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс, ΠΏΠΎΠΊΠ° программисты ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ°ΡŽΡ‚ ΠΊ Π½Π΅ΠΉ. Однако, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Β«ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния» ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π½, ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ возрастаСт ΠΈ удобство управлСния Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π° сполна ΠΎΠΊΡƒΠΏΠΈΡ‚ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ врСмя.

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ‚Π΅Ρ€ΠΏΠ΅Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Git (Π° Ρƒ этой систСмы Π΅ΡΡ‚ΡŒ свои ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠΈ Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²), Mercurial β€” это компромисс ΠΌΠ΅ΠΆΠ΄Ρƒ SVN ΠΈ Git. Π­Ρ‚Π° систСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… извСстных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρƒ Π½Π΅Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ докумСнтация.

БовмСстимая с Windows вСрсия Git Ρ‚Π°ΠΊΠΆΠ΅ прогрСссируСт, ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°ΡΡΡŒ ΠΏΠΎ своСму Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΠΊ Linux-вСрсии, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ эта систСма ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ для вас Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ Π²Π΅Π΄Π΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² Linux.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, какая ΠΆΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ для вас, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ особСнности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ!

Если для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° трСбуСтся Π΅Π΄ΠΈΠ½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ исходного ΠΊΠΎΠ΄Π°, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСбольшая Π³Ρ€ΡƒΠΏΠΏΠ° программистов, Ρ‚ΠΎ SVN – это ваш Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Она Π½Π°Π΄Π΅ΠΆΠ½Π° ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ Ρ€Π°Π· для Ρ‚Π°ΠΊΠΈΡ… случаСв.

Если ΠΆΠ΅ Π²Ρ‹ запускаСтС open-source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π² Ρ€Π°Π·Π½ΠΎΠ΅ врСмя Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Ρ€ΡƒΠ΄ΠΈΡ‚ΡŒΡΡ нСсколько программистов ΠΈΠ»ΠΈ, Ссли  прСдполагаСтся постоянноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Ρ‚ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Git. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ исходного ΠΊΠΎΠ΄Π° здСсь Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π² SVN.

Если Π²Ρ‹ Π½Π° Ρ€Π°ΡΠΏΡƒΡ‚ΡŒΠ΅ ΠΈΠ»ΠΈ Π²Π°ΠΌ просто Π½Π΅ нравится, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ SVN ΠΈΠ»ΠΈ Git, Ρ‚ΠΎΠ³Π΄Π° ΠΊ вашим услугам Mercurial.

ВсС эти систСмы ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹. А Ρ‚Π°ΠΊΠΆΠ΅ бСсплатны. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, сайтов ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ извСстны.

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

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с SVN

Если Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с SVN ΠΈΠ»ΠΈ Git, ΠΈ понятия Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‚ΠΎ хостинговоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² сочСтании с графичСским интСрфСйсом ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ быстро ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒΡΡ.

Как ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, самоС Π³Π»Π°Π²Π½ΠΎΠ΅ β€” Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π° Ρ‚Π°ΠΌ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅. Эксплуатация систСмы контроля вСрсий ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π° сСрвСрС с использованиСм FTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•: Π•ΡΡ‚ΡŒ мноТСство хостинговых Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для систСмы контроля вСрсий, Π² Ρ‚ΠΎΠΌ числС с бСсплатным ΠΏΡ€ΠΎΠ±Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π° ΠΈΡ… Π±Π°Π·Π΅ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (мСсто для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°) ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ бСсплатно. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· этих сСрвисов:

Π₯остинг SVN & GIT

  • Β 

    Β 

    Beanstalk

    — бСзопасный, Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΈ подходящий для хостинга Git ΠΈ Subversion. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ активности, Ρ„Π°ΠΉΠ»ΠΎΠ², сравнСниС Ρ€Π΅Π²ΠΈΠ·ΠΈΠΉ. ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ популярными сСрвисами, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Twitter! Π¦Π΅Π½Π° вопроса: ΠΎΡ‚ $15 Π² мСсяц

  • Β 

    Β 

    Unfuddle

    – популярный срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ПО хостинг для SVN, Git ΠΈ управлСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ с хостинговым Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° для Mac OS с простым ΠΈ понятным интСрфСйсом Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅ Π²ΠΎ всСх Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. 2 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ бСсплатно + 1 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ Π΄ΠΎ 200MB

  • Β 

    SlikSVN

    – Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° опция для бСсплатного хостинга, Π½ΠΎ Π½Π΅ такая Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΊΠ°ΠΊ Unfuddle. 1 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ бСсплатно + 1 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ Π΄ΠΎ 100MB

  • XP-Dev.com

    – хостинг Subversion, Git ΠΈ Mercurial. ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°. ΠžΡ‚ $5 Π² мСсяц, Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ число ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄ΠΎ 2GB

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ рСпозитория

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ создали Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ β€” для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это выглядит Ρ‚Π°ΠΊ:

  • Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² свой Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚, ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ вашим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ.
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:
  • Π’ строкС Β«Create a New ProjectΒ» Π²Π²Π΅Π΄ΠΈΡ‚Π΅ имя вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
  • ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Create ProjectΒ»
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ SVN:
  • ПослС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«Source ControlΒ» (вСрсиями исходного ΠΊΠΎΠ΄Π°)
  • ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС Β«Enable Source ControlΒ»
  • ΠŸΡ€ΠΈΡΠ²ΠΎΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ имя
  • НаТмитС Β«SaveΒ»

ГрафичСскиС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ SVN ΠΈ GIT

Π˜Ρ‚Π°ΠΊ, Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ создан. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π½Π΅ΠΌ всС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΎΡΡŒ просто ΠΈ наглядно. Для этого Π²Π°ΠΌ понадобится графичСский интСрфСйс.

Β 

TortoiseSVN

— удобная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с систСмами контроля вСрсий Π² Microsoft Windows ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΈΠ· прСдставлСнных Apache Subversion ΠΊΠ»ΠΈΠ΅Π½Ρ‚. TortoiseSVN Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Windows, Ρ‡Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ доступны 34 языковых ΠΏΠ°ΠΊΠ΅Ρ‚Π°

  • Β 

Β 

Β 

SmartGit

– графичСский ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Git (Open Source распрСдСлСнная систСма контроля вСрсий). Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows, Mac OS X ΠΈ Linux. Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ β€” $39

  • Β 

    Β 

    Β 

    Versions

    – SVN ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для MAC OS X – Versions: ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ°Ρ систСма контроля вСрсий для Mac. По ΠΈΡ… собствСнным словам: «Благодаря Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ, Π²Ρ‹ смоТСтС Π½Π°Ρ‡Π°Ρ‚ΡŒ Π±Π΅Π· раскачки». Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ прост Π² использовании. Π¦Π΅Π½Π° вопроса: Β£39 (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ $50 согласно Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ курсу)

  • Β 

    Β 

    Β 

    Tower

    – ΠšΠ»ΠΈΠ΅Π½Ρ‚ GIT для MAC OS X – Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ элСгантноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, идСально подходящСС для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ GIT, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с синтаксисом ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, содСрТащий мноТСство Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ GIT (см. Π½ΠΈΠΆΠ΅). ~ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ $50 Π·Π° Π»ΠΈΡ†Π΅Π½Π·ΠΈΡŽ, доступны ΠΌΠ΅Π½Π΅Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈ-Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ.

Β«Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅Β» рСпозитория (β€œCheckout”)

Π˜Ρ‚Π°ΠΊ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для систСмы контроля. НуТно ввСсти URL-адрСс вашСго рСпозитория, имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

URL-адрСс ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит Ρ‚Π°ΠΊ:Β https://svn<servernumber>.hostname.com/svn/<repository>Β (Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ https:// (SSL), Ссли Ρƒ вас ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚)

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠΎΡ€Π½Π΅Π²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Check OutΒ» (Β«Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅Β») ΠΈ создайтС Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² Π½Π΅Π΅ Ρ„Π°ΠΉΠ»Ρ‹.
  2. ПослС извлСчСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ смоТСтС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² локальной Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

ПослС внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Ρ‹ для ΠΈΡ… сохранСния Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Check-inΒ» (Β«Π’ΠΎΠ·Π²Ρ€Π°Ρ‚Β») Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ измСнСния ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ β€” это довольно Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ идСя, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² дальнСйшСм Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Π½Π°Π΄ Ρ‡Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния внСсСны ΠΈ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² курсС Π΄Ρ€ΡƒΠ³ΠΈΡ… участников ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

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

МнСния ΠšΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π’Π°ΠΉΠΌ Π”ΠΎΠΊΡ‚ΠΎΡ€:

Β 

Β 

Rob Rawson

Π ΠΎΠ± Роусон являСтся со-ΡƒΡ‡Ρ€Π΅Π΄ΠΈΡ‚Π΅Π»Π΅ΠΌ Time Doctor — ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ продуктивности ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Π°ΡˆΠΈΡ… сотрудников, Π³Π΄Π΅ Π±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² систСмы контроля вСрсий β€” Π‘Π»ΠΎΠ³ HTML Academy

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия

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

ВСрсионированиС

Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ вСрсионирования, рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈΒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ. Π£Β Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π° Π΅ΡΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΠ°, Π²Β ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранится Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ вСрсия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

source/
barbershop_index_final.psd

Всё Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½ΠΎΒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ прислал Π²Β ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΊΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ к старой вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ создал Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» barbershop_index_final_2.psd, внёс измСнСния ΠΈΒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ:


source/
barbershop_index_final.psd
barbershop_index_final_2.psd

Π­Ρ‚ΠΈΠΌ всё Π½Π΅Β ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»ΠΎΡΡŒ, Π²Β ΠΈΡ‚ΠΎΠ³Π΅ структура ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°Π·Ρ€ΠΎΡΠ»Π°ΡΡŒ и стала Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:


source/
barbershop_index_final.psd
barbershop_index_final_2.psd
…
barbershop_index_final_19.psd
…
barbershop_index_latest_final.psd
barbershop_index_latest_final_Final.psd

ВСроятно, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡƒΠΆΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с подобным, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ написании курсовых Ρ€Π°Π±ΠΎΡ‚ во врСмя ΡƒΡ‡Ρ‘Π±Ρ‹. Π’Β ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для вСрсионирования — плохая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π²Β ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° хранится мноТСство Ρ„Π°ΠΉΠ»ΠΎΠ². Π’Π°ΠΊΠΆΠ΅ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Если ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ для вСрсионирования Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ измСняя Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии, то в скором Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Β ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ начнётся хаос ΠΈΒ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅Β Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ.

Git

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с сохранСниСм Π½ΠΎΠ²ΠΎΠΉ вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ² ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСмы контроля вСрсий. Одна из самых популярных — Git. Π Π°Π±ΠΎΡ‚Ρƒ Git ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с процСссом сохранСния ΠΈΒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²Β ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…:

  • Ссли Π²ΠΏΠ΅Ρ€Π΅Π΄ΠΈ ΠΆΠ΄Ρ‘Ρ‚ тяТёлоС сраТСниС, Ρ‚ΠΎΒ ΠΏΠ΅Ρ€Π΅Π΄ этим Π»ΡƒΡ‡ΡˆΠ΅ Π·Π°Ρ€Π°Π½Π΅Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ;
  • Ρ‡Ρ‚ΠΎΠ±Ρ‹ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ;
  • послС Ρ‡Π΅Π³ΠΎ сохранСниС ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π²Β ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ и содСрТит состояниС ΠΈΠ³Ρ€Ρ‹;
  • Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ нСобходимости всСгда Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊΒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии ΠΈΠ³Ρ€Ρ‹.

Папка, содСрТащая Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹, ΠΌΠΎΠ³Π»Π°Β Π±Ρ‹ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:


SomeGame/
| - saves
|  | - save001.sav
|  | - save002.sav
|  |   …
|  |   ΠΏΠ°ΠΏΠΊΠ° с сохранСниями
|
| - game.exe
|   ...Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ³Ρ€Ρ‹

Π€Π°ΠΉΠ»Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния, хранятся Π²Β Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области. Π’Β ΠΏΠ°ΠΏΠΊΠ΅ saves хранится история всСх сохранСний ΠΈΠ³Ρ€Ρ‹. Git сохраняСт ΠΊΠΎΠ΄ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΒ Ρ‚Π°ΠΊΠΎΠΌΡƒΒ ΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ: сохранСния ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π²Β ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, Π°Β Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ являСтся содСрТимоС ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия

Бписок Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹.

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚, Π²Β ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±Ρ‹Π»Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° систСма Git, называСтся Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ. ΠŸΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Β ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ добавляСтся скрытая ΠΏΠ°ΠΏΠΊΠ° .git. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ всС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΡ…Β ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Рабочая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈΒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

barbershop/
	| - .git
	|  | - bea0f8e
	|  | - d516600
	|  |   Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅
	|
	| - css
	| - index.html
	|   Рабочая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ

ΠšΠΎΡ€Π½Π΅Π²Π°Ρ ΠΏΠ°ΠΏΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Β β€” это рабочая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. Π’Β Π½Π΅ΠΉ находятся всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΒ ΠΏΠ°ΠΏΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Β β€” это содСрТимоС скрытой ΠΏΠ°ΠΏΠΊΠΈ .git. В этой ΠΏΠ°ΠΏΠΊΠ΅ хранятся всС вСрсии Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области и слуТСбная информация. Π­Ρ‚ΠΈΠΌ вСрсиям систСма автоматичСски Π΄Π°Ρ‘Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, состоящСС ΠΈΠ·Β Π±ΡƒΠΊΠ² ΠΈΒ Ρ†ΠΈΡ„Ρ€. Π’Β ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅Β β€” это bea0f8e ΠΈ d516600. НС стоит ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ манипуляции с папкой .git Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Вся Ρ€Π°Π±ΠΎΡ‚Π° с систСмой производится ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ прилоТСния ΠΈΠ»ΠΈ консоль.

ΠšΠΎΠΌΠΌΠΈΡ‚

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΒ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈΒ Π²Β ΠΈΠ³Ρ€Π΅, в систСмС контроля вСрсий Git ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Для этого Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°Β β€” commit. Она Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ новая вСрсия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сохраняСтся и добавляСтся Π²Β Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Π’Β Ρ„Π°ΠΉΠ»Π΅ с сохранСниСм ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ: всС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ происходили Π²Β Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области, Π°Π²Ρ‚ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΒ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΡΡƒΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΏΠΎΠ»Π½ΠΎΠ΅ состояниС Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области, Π΅Ρ‘Β ΠΏΠ°ΠΏΠΎΠΊ ΠΈΒ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’Β ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ:

  1. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ всС вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. В случаС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, ΠΎΠ½Β ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ всё, Ρ‡Ρ‚ΠΎ с ним происходило до этого.
  2. НичСго нС тСряСтся и нС удаляСтся бСсслСдно. ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° Π²Β Π½ΠΎΠ²ΠΎΠΉ вСрсии добавляСтся запись ΠΎΒ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π±Ρ‹Π» ΡƒΠ΄Π°Π»Ρ‘Π½.
  3. ВсСгда ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ к любой из вСрсий ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ² Π΅Ρ‘Β ΠΈΠ·Β Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π²Β Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ.

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

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

Π Π°Π±ΠΎΡ‚Π° Π²Β ΠΊΠΎΠΌΠ°Π½Π΄Π΅

Как ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ? Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ сами ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Β ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊΒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для этого Π½Π΅Β Π½ΡƒΠΆΠ½Ρ‹. Π•ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ в консоли, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ·Β ΠΎΠ΄Π½ΠΎΠ³ΠΎ рСпозитория Π²Β Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.

Π­Ρ‚ΠΎΡ‚ способ слоТный ΠΈΒ Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π§Π°Ρ‰Π΅ всСго Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с удалённым. Π£Π΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ β€” это Ρ‚ΠΎΡ‚Β ΠΆΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ находятся Π²Β ΠΎΠ±Π»Π°ΠΊΠ΅.

Бинхронизация Ρ‡Π΅Ρ€Π΅Π· ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π­Ρ‚Π°ΠΏΡ‹ синхронизации

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ смог ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊΠΎΠ»Π»Π΅Π³Π΅?

Для взаимодСйствия с систСмой Git в консоль вводятся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠΠ΅Β ΠΏΡƒΠ³Π°ΠΉΡ‚Π΅ΡΡŒ, Ρ€Π°Π±ΠΎΡ‚Ρƒ с консолью ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°Β Ρ€Π°Π±ΠΎΡ‚Ρƒ с одной ΠΈΠ·Β ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΎΒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… расскаТСм Π½ΠΈΠΆΠ΅. Но чтобы Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΡƒΡ‚ΡŒ, придётся Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄. ВсС ΠΎΠ½ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ ΡΒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова git. Для синхронизации Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ основных ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: pull (Π°Π½Π³Π». Β«Ρ‚ΡΠ½ΡƒΡ‚ΡŒΒ») ΠΈ push (Π°Π½Π³Π». Β«Ρ‚ΠΎΠ»ΠΊΠ°Ρ‚ΡŒΒ»).

Pull

Если Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ вСдётся Π²Β ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Ρ‚ΠΎΒ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Для этого Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ pull. Π’Π°ΠΊ ΠΌΡ‹Β Π·Π°Π±ΠΈΡ€Π°Π΅ΠΌ всС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Ρ‹ со врСмСни послСднСй синхронизации с удалённым Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ΠΈ у нас Π²Β Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ на локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Push

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° выполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ push. Если Π²Β ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с момСнта послСднСй синхронизации Π½Π΅Β Π±Ρ‹Π»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, то всС сохранённыС измСнСния ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ загрузятся Π²Β ΠΎΠ±Π»Π°ΠΊΠΎ, ΠΈΒ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ pull. Если ТС Π±Ρ‹Π»ΠΈ измСнСния, Ρ‚ΠΎΒ Git попросит вас ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚ΡŒ послСдниС вСрсии, сдСлав pull.

Бинхронизация (push ΠΈ pull) ΠΌΠ΅ΠΆΠ΄Ρƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌ рСпозиториями.

Π’ΠΈΠΏΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс с использованиСм Git

Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сайта Π²Β ΠΊΠΎΠΌΠ°Π½Π΄Π΅. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π˜Π³ΠΎΡ€ΡŒ и Алиса — Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π°Β ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π˜Π³ΠΎΡ€ΡŒ Π½Π°Ρ‡Π°Π» Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ и сдСлал ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π²Β ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зафиксировал измСнСния Π²Β Ρ„Π°ΠΉΠ»Π΅ index.html. Для схСматичности названия ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ простыС: B1Β ΠΈΒ B2.

ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ B1Β ΠΈΒ B2.

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π˜Π³ΠΎΡ€ΡŒ сдСлал Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΎΠ½Β Π·Π°Ρ…ΠΎΡ‚Π΅Π» ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ свои измСнСния Π²Β ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ…Β ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ, Π˜Π³ΠΎΡ€ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git push. ПослС Ρ‡Π΅Π³ΠΎ Π²Β ΠΎΠ±Π»Π°ΠΊΠ΅ появилось Π΄Π²Π΅ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ΠΎΒ Π΅ΡΡ‚ΡŒ Π˜Π³ΠΎΡ€ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» Π½Π΅Β Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, но и всС сохранённыС измСнСния.

Π˜Π³ΠΎΡ€ΡŒ Π·Π°ΠΏΡƒΡˆΠΈΠ» свои ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹.

ПослС ΠΏΡƒΡˆΠ° Π΄Π°Π½Π½Ρ‹Π΅ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ с удалённым Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ. Но как АлисС Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ измСнСния? Для этого ΠΎΠ½Π° выполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git pull ΠΈΒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ всС измСнСния ΠΈΠ·Β ΠΎΠ±Π»Π°ΠΊΠ° к сСбС Π½Π°Β ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, состояниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΡƒΒ Π˜Π³ΠΎΡ€Ρ и Алисы ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ, ΠΈΒ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ дальшС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄Β Π½ΠΈΠΌ.

Π”Π°Π½Π½Ρ‹Π΅ ΡƒΒ ΠΎΠ±ΠΎΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ.

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния

Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚, Ссли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ измСнят ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΒ ΡΠ΄Π΅Π»Π°ΡŽΡ‚ push? ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π˜Π³ΠΎΡ€ΡŒ и Алиса ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» index.html, сдСлали ΠΊΠΎΠΌΠΌΠΈΡ‚ с измСнСниями ΠΈΒ Π·Π°ΠΏΡƒΡˆΠΈΠ»ΠΈ Π΅Π³ΠΎ. Π˜Π³ΠΎΡ€ΡŒ оказался быстрСС Алисы и сдСлал push ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ.

Π”Π²Π° ΠΏΡƒΡˆΠ° Π²Β ΠΎΠ΄Π½ΠΎ врСмя?

В этом случаС Git сообщит АлисС, Ρ‡Ρ‚ΠΎ нСльзя ΠΏΡƒΡˆΠΈΡ‚ΡŒ свои измСнСния, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅Β Π΄Π΅Π»Π°Π»Π° pull. Π”Π΅Π»ΠΎ Π²Β Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π˜Π³ΠΎΡ€ΡŒ синхронизировался с удалённым Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, вСрсия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Алисы стала ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Β Ρ‚ΠΎΠΉ, Ρ‡Ρ‚ΠΎ находится Π½Π°Β ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΈΒ Git это Π²ΠΈΠ΄ΠΈΡ‚. БистСма сообщаСт, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ push, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ pull, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π±Ρ€Π°Ρ‚ΡŒ измСнСния. Алиса Π΄Π΅Π»Π°Π΅Ρ‚ pull и Сй вновь ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΡ‚Β Git. В этот Ρ€Π°Π· он сообщаСт АлисС ΠΎΒ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΡ‘Π» ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Π”Π΅Π»ΠΎ Π²Β Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π˜Π³ΠΎΡ€ΡŒ и Алиса ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ АлисС прСдстоит Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° Π²ΠΈΠ΄Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²:

  1. АвтоматичСски Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.
  2. ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

НиТС рассмотрим ΠΎΠ±Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°.

БлияниС

Допустим, Ρ‡Ρ‚ΠΎ Π½Π°Β Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ строкС Π˜Π³ΠΎΡ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π²Β ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡˆΠ°ΠΏΠΊΡƒ, Π°Β Π½Π°Β Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΠΎΠΉ Алиса Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° Ρ„ΡƒΡ‚Π΅Ρ€.

Π˜Π³ΠΎΡ€ΡŒ сдСлал ΡˆΠ°ΠΏΠΊΡƒ ΠΈΒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» ΠΊΠΎΠΌΠΌΠΈΡ‚, а Алиса Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° ΠΏΠΎΠ΄Π²Π°Π».

Git Π²ΠΈΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ измСнСния Π½Π΅Β Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°. Он сам ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ Π΄Π²Π΅ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π²Β ΠΎΠ΄Π½Ρƒ, ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΠ² слияниС. ПослС этого Алиса спокойно синхронизируСтся с удалённым Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ИзмСнСния Π²Β ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½Π΅Β ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°Π»ΠΈΡΡŒ ΠΈΒ Git выполняСт слияниС сам.

Во врСмя слияния Git Π½Π΅Β Π·Π½Π°Π΅Ρ‚, Π²Β ΠΊΠ°ΠΊΠΎΠΌ порядкС Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π’3Β Π˜Π³ΠΎΡ€Ρ ΠΈΒ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π’4 Алисы, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случился ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Git Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ нСскольким вСрсиям ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Как Ρ€Π°Π· для этого ΠΈΒ Π½ΡƒΠΆΠ΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚Β Π’5, Π²Β ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ происходит слияниС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вСрсий. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Алиса Π·Π°ΠΏΡƒΡˆΠΈΡ‚ измСнСния, ΠΎΠ½Π° отправляСт всС вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π°Β ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π’Β ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π˜Π³ΠΎΡ€ΡŒ сдСлаСт pull, ΠΎΠ½Β ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ со слияниСм ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°.

БлияниС.

Допустим, Ρ‡Ρ‚ΠΎ Π˜Π³ΠΎΡ€ΡŒ и Алиса ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, но в этот Ρ€Π°Π· ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ строку Π²Β Ρ„Π°ΠΉΠ»Π΅ index.html. Π’Π½ΠΎΠ²ΡŒ Π˜Π³ΠΎΡ€ΡŒ оказался быстрСС ΠΈΒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ синхронизировал свои измСнСния с удалённым Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ. Алиса сдСлала pull ΠΈΒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° сообщСниС ΠΎΒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π΅.

Алиса ΠΈΒ Π˜Π³ΠΎΡ€ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΒ Ρ‚ΠΎΡ‚Β ΠΆΠ΅ Π±Π»ΠΎΠΊ.

Π’Β Ρ‚Π°ΠΊΠΎΠΌ случаС Git Π½Π΅Β Π·Π½Π°Π΅Ρ‚ Ρ‡ΡŒΡ вСрсия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ и поступаСт ΠΎΡ‡Π΅Π½ΡŒ просто. ΠžΠ½Β ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ‚ Ρ„Π°ΠΉΠ» index.html, добавляя Π²Β Π½Π΅Π³ΠΎ измСнСния ΠΈΒ Π˜Π³ΠΎΡ€Ρ и Алисы. ПослС этого ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅Ρ‚ Алису ΠΎΒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π΅ и просит Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

ВСрсии Ρ„Π°ΠΉΠ»Π°.

ВСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ строками Π²Ρ‚ΠΎΡ€ΠΎΠΉ, Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΠΎΠΉ ΠΈΒ ΡˆΠ΅ΡΡ‚ΠΎΠΉ. Π˜Ρ…Β Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΒ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Алиса это сдСлаСт, ΠΎΠ½Π° смоТСт Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ измСнСния ΠΈΒ Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ ΠΈΡ…Β Π½Π°Β ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π˜Π³ΠΎΡ€ΡŒΒ ΠΆΠ΅ ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ синхронизации с облаком ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π±Ρ€Π°Π»Π° Алиса.

ΠžΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Git

GitΒ β€” удобная систСма. Плюсом являСтся то, Ρ‡Ρ‚ΠΎ Π²ΠΎΠΊΡ€ΡƒΠ³ Π½Π΅Π³ΠΎ создано мноТСство сСрвисов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ним ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅. РасскаТСм ΠΎΒ Ρ‚Π΅Ρ…, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π²Β Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

GitHub

GitHubΒ β€” это сайт, сСрвис и то самоС ΠΎΠ±Π»Π°ΠΊΠΎ, Π²Β ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈΒ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Как Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, мы рассказали в этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.

GUI

ΠžΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Git ΠΈΒ GitHub ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Β ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ измСнСния Π²Β ΠΊΠΎΠ΄Π΅, список ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΒ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ возмоТностями. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Β ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ стандартныС Git ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: pull, push, commit ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅Β β€” просто Π½Π°ΠΆΠ°Π² Π½Π°Β ΠΊΠ½ΠΎΠΏΠΊΡƒ.

Π‘Π°Π½Π½Π΅Ρ€_Ρ„ΠΈΠ½Π°Π»_ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ_2_final_1_2.html

ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ бСсплатныС курсы ΠΏΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Ρƒ ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ сразу Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

РСгистрация


НаТатиС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ β€” согласиС Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

Как Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ систСму контроля вСрсий (VCS) Π±Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

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

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

ΠœΡ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅ΠΌ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² Ρ†Π΅Π»ΠΎΠΌ, Π½ΠΎ Π² нашСй нСбольшой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² (4 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°) Ρ„Π°Π½Π°Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой Π½Π΅Ρ‚ :).

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ считаСм, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой нСэффСктивна?

  1. Π’Ρ€Π°Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…. ΠΠ°Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ дольшС, Ρ‡Π΅ΠΌ ΠΊΠ»ΠΈΠΊΠ°Ρ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ.
  2. Π’Ρ€Π°Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ синтаксиса Π² эпоху понятных интСрфСйсов ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ дольшС, Ρ‡Π΅ΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ графичСскому интСрфСйсу.
  3. Π’Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибки. ΠžΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку Π»Π΅Π³Ρ‡Π΅ (чСловСчСский Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ отмСнял).
  4. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это самый Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ создан для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π·Π°ΠΌΠ΅Π½Π΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’ случаС с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой ΠΌΡ‹ всСгда Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΏΠΎ сути, приходится ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΏΡƒΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ).

К соТалСнию, Π½Π°ΠΌ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ русскоязычного ΠΌΠ°Π½ΡƒΠ°Π»Π° ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с соврСмСнными систСмами контроля вСрсий. Π‘ΠΎΠ±Ρ€Π°Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… статСй ΠΈ англоязычных Π²ΠΈΠ΄Π΅ΠΎ Π½Π° YouTube, ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ своё собствСнноС руководство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅:

  1. Π‘ΡƒΠ΄Π΅Ρ‚ пошаговой инструкций (ΠΏΠΎ Π½Π΅ΠΉ ΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ наши программисты).
  2. Π‘ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΉ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ нСбольшой, Π½ΠΎ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ β€” Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ систСму контроля вСрсий).
  3. Π‘ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с использованиСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ графичСских интСрфСйсов (ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ см. Π²Ρ‹ΡˆΠ΅).
ВступлСниС

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

Если Π²Ρ‹ Π½Π΅ Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒ ΠΌΠ°Π½ΡƒΠ°Π»ΠΎΠ² «Для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²Β», Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΈ ΠΏΠΎΠΉΡ‚ΠΈ своим ΠΏΡƒΡ‚Π΅ΠΌ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ подъСма VCS.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ сСрвисы

Для развСртывания VCS (систСмы контроля вСрсий) ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ сСрвисы:

  • Mercurial β€” кроссплатформСнная распрСдСлСнная систСма управлСния вСрсиями, разработанная для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΡ‡Π΅Π½ΡŒ большими рСпозиториями ΠΊΠΎΠ΄Π°.
  • TortoiseHg β€” графичСский Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ для систСмы контроля вСрсий Mercurial.
  • Bitbucket β€” Π²Π΅Π±-сСрвис для хостинга ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΈΡ… совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, основанный Π½Π° систСмС контроля вСрсий Mercurial ΠΈ Git.
Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ систСма контроля вСрсий – пошаговая инструкция

1. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΈ устанавливаСм ΠΊ сСбС Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ TortoiseHg с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта: http://tortoisehg.bitbucket.org/

Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° всСх ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅ΡΡ‚ΠΈΡΡŒ совмСстная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π’ Π΄Π°Π½Π½ΠΎΠΉ инструкции всС шаги настройки ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с систСмой контроля вСрсий Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ с использованиСм TortoiseHg вСрсии: 2.10.1 for Windows 64-bit with Mercurial 2.8.1.

2. РСгистрируСмся Π² Π²Π΅Π±-сСрвисС Bitbucket: https://bitbucket.org/

Π’Π΅ΡΡŒ процСсс рСгистрации сводится ΠΊ заполнСнию ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (Username, Email ΠΈ Ρ‚.Π΄.) ΠΈ подтвСрТдСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈ рСгистрации email-адрСса Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Confirm this email addressΒ» Π² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌ послС рСгистрации письмС.

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

Π‘ ΠΏΠΎΠ»Π½Ρ‹ΠΌ списком Ρ‚Π°Ρ€ΠΈΡ„ΠΎΠ² Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ, пройдя ΠΏΠΎ ссылкС: https://bitbucket.org/plans

3. Зайдя Π² ваш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π² сСрвисС Bitbucket, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сразу ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ язык интСрфСйса вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π½Π° русский.

Для этого Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню ΠΈΠ· Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π» Β«Manage accountΒ» ΠΈ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΉΡΡ страницС Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка Β«LanguageΒ» Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π²Π°ΠΌ язык интСрфСйса

4. Для созданиС рСпозитория для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π³Π»Π°Π²Π½ΡƒΡŽ страницу вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° (https://bitbucket.org/dashboard/overview) ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ваш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ»

5. На страницС создания Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ настройки:

β€” Имя – Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ имя вашСго Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория. Π”Π°Π½Π½ΠΎΠ΅ имя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для построСния ссылки доступа ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ.
Π’Π°ΠΆΠ½ΠΎ! Π›ΡƒΡ‡ΡˆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ имя латинскими Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, ΠΈΠ½Π°Ρ‡Π΅ ссылка Π½Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Ρ€ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ дСфисами ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ слоТный ΠΊ пониманию Π²ΠΈΠ΄: httΡ€s://вашлогин@bitbucket.org/вашлогин/———

β€” ОписаниС – Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС вашСго рСпозитория (ΠΏΠΎΠ»Π΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅)

β€” Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ доступа – ΠŸΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ доступ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠΌΠ΅Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π»Π΅Π½Ρ‹ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² (ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ).

β€” Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΊΠΎΠ² – ΠŸΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Β«Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΊΠΈΒ»

β€” Π’ΠΈΠΏ рСпозитория – Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«MercurialΒ»

β€” Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ – ΠŸΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΠΈ Β«Π’Ρ€Π΅ΠΊΠ΅Ρ€ Π·Π°Π΄Π°Ρ‡Β» ΠΈ Β«Π’ΠΈΠΊΠΈΒ»

β€” Π―Π·Ρ‹ΠΊ – Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ язык Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ написан ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’ ΠΌΠΎΠ΅ΠΌ случаС это PHP.

По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ указания всСх настроСк страница Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ:

Π•Ρ‰Π΅ Ρ€Π°Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Ссли всС Π²Π²Π΅Π΄Π΅Π½ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ».

6. ПослС создания Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория Π²Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚Π΅ Π½Π° страницу «Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹Β»:

Π“Π΄Π΅, Π½Π°ΠΆΠ°Π² Π½Π° ссылку Β«Π― Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ с ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ нуля», смоТСтС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ TortoiseHg.

Бсылка Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄: httΡ€s://вашлогин@bitbucket.org/вашлогин/имярСпозитория

7. Π£ сСбя Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ создаСтС ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π² дальнСйшСм Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ„Π°ΠΉΠ»Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊ систСмС контроля вСрсий Mercurial.

Π’Π°ΠΆΠ½ΠΎ! Папка Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ пустой. МнС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠ°ΠΏΠΊΠΈ с ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ (ΠΊΡƒΡ‡Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°) ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ пСрСнСсти всС Ρ„Π°ΠΉΠ»Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию β€” backup). ПозТС ΠΌΡ‹ Π²Π΅Ρ€Π½Π΅ΠΌ всС Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° мСсто, Π° ΠΏΠΎΠΊΠ° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

Π”Π°Π»Π΅Π΅ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° пустой ΠΏΠ°ΠΏΠΊΠ΅, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для хранСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊ систСмС контроля вСрсий Mercurial, ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΈ ΠΈΠ· Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Β«TortoiseHg->Clone…»

8. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π΅ Β«Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΒ» ссылку для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ созданному Π²Π°ΠΌΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ· ΠΏ. 6

И Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ».

9. БистСма запросит Ρƒ вас ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΎΡ‚ вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π² сСрвисС Bitbucket, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΅Π³ΠΎ.

10. Если всС Π±Ρ‹Π»ΠΎ сдСлано Π±Π΅Π· ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ ΠΎΡ‚ Π΄Π°Π½Π½ΠΎΠΉ инструкции, Ρ‚ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ появится Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Β«.hgΒ» со слуТСбными Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ созданного рСпозитория.

11. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ смСло Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄) вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΏΠ°ΠΏΠΊΡƒ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ для хранСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊ систСмС контроля вСрсий Mercurial

Π’Π°ΠΆΠ½ΠΎ! Π‘Π»ΡƒΠΆΠ΅Π±Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Β«.hgΒ» Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°ΠΉΡ‚Π΅. Он Π½ΡƒΠΆΠ΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ VCS.

12. Π‘Π½ΠΎΠ²Π° Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° нашСй ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΈΠ· Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Β«Hg Commit…»

13. Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для фиксации всСх сдСланных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½Π°Π΄ вашим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° наши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹).

Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ всС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅) Ρ„Π°ΠΉΠ»Ρ‹, ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ВСрсия 1.00) ΠΊ измСнСнию ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π€ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ».

БистСма попросит ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΆΠΌΠΈΡ‚Π΅ Β«Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΒ».

14. Если всС Π±Ρ‹Π»ΠΎ сдСлано ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ систСма зафиксируСт ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ измСнСния, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:

БобствСнно, Π² дальнСйшСм, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚Π΅ вСсти Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ нСбольшого куска ΠΊΠΎΠ΄Π°, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ дСйствиС ΠΈΠ· ΠΏ. 12 (Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Β«Hg Commit…») для фиксации ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠ³ΠΎ измСнСния Π² систСмС контроля вСрсия. Π­Ρ‚ΠΎ даст Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ систСму Π΄ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ фиксации.

Учитывая Π²Ρ‹ΡˆΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ слСдуСт ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ, Ρ‡Π΅ΠΌ «ВСрсия 1.00Β», ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· фиксаций.

15. Π”Π°Π»Π΅Π΅ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΈΠ· Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Β«Hg Workbench…»

16. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ сохранСнных (зафиксированных) ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΉ фиксации, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния Π² созданный Π²Π°ΠΌΠΈ Ρ€Π°Π½Π΅Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Для этого Π² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠŸΡ€ΠΎΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ входящиС измСнСния Π²Β».

ПослС этого Π²Π°ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π° с ΠΏΡ€ΠΎΡΡŒΠ±ΠΎΠΉ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Β«ΠΏΡ€ΠΎΡ‚Π°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅Β» ΠΈ ΠΏΡ€ΠΎΡΡŒΠ±ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΎΡ‚ вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Π² Bitbucket. Π‘ΠΎΠ³Π»Π°ΡˆΠ°ΠΉΡ‚Π΅ΡΡŒ ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

БистСма Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ваш Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° сСрвСрС Bitbucket. НС ΡΠΏΠ΅ΡˆΠΈΡ‚Π΅ ΠΈ Π΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ΡΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса.

17. Π’Π΅ΠΏΠ΅Ρ€ΡŒ копия Ρ„Π°ΠΉΠ»ΠΎΠ² вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² вашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° сСрвСрах Bitbucket. Π’ вашСм Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅ Bitbucket Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с вашим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΈΡ‚ΠΎΠ³ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ систСмы контроля вСрсий (VCS)

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

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ вашСго Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· рСпозитория Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ шаги 1 – Установка TortoiseHg ΠΈ 7 – Π˜ΠΌΠΏΠΎΡ€Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ² рСпозитория, для копирования Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ, Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ваши Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ сотрудников ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ.

Основная Ρ†Π΅Π»ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ систСмы контроля вСрсий (VCS) ΠΊ своСму ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ β€” это организация совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’.Π΅. ΠΏΠΎΠΊΠ° Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ систСму ΠΎΠ΄ΠΈΠ½, Π²Ρ‹ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· VCS, Π½ΠΎ Ссли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² нСсколько, Ρ‚ΠΎ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ рСгулярной ΠΏΠΎΡ‚Π΅Ρ€ΠΈ (затирания) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² вСрсий систСмы ΠΎΡ‡Π΅Π½ΡŒ высока.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ сСйчас ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ программиста (пригласим участника) ΠΈ настроим Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ мСсто.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ сотрудника ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ

18. ВсС сотрудники, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ зарСгистрированы Π½Π° сСрвисС Bitbucket. А Ρ‚Π°ΠΊΠΆΠ΅ Ρƒ Π½ΠΈΡ… Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн TortoiseHg.

Как Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° сСрвисС ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ TortoiseHg, я рассказывал Ρ‡ΡƒΡ‚ΡŒ Ρ€Π°Π½Π΅Π΅ Π² Π΄Π°Π½Π½ΠΎΠΉ инструкции. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π½Π½Ρ‹ΠΉ процСсс Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρƒ вас ΠΈ Π²Π°ΡˆΠΈΡ… ΠΊΠΎΠ»Π»Π΅Π³ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… трудностСй.

19. Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² ваш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π½Π° сСрвисС Bitbucket:

НаТмитС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅Β», Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«ΠŸΡ€ΠΈΠ³Π»Π°ΡΠΈΡ‚ΡŒ участника Π½Π° этот Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ».

20. БистСма Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π²Π°ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΏΡ€ΠΎΡΡŒΠ±ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ элСктронный адрСс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄Π°Ρ‚ΡŒ доступ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ. Помимо этого, Π²Π°ΠΌ понадобится ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа (Β«Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Β» ΠΈΠ»ΠΈ «запись»). Π’.ΠΊ. Π² Π΄Π°Π½Π½ΠΎΠΉ инструкции ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ‚ΠΎ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ «запись».

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π²Π΅Π»ΠΈ email сотрудника ΠΈ ΡƒΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡ€Π°Π²Π° доступа, ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ShareΒ».

21. ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½Π½Ρ‹ΠΉ участник ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π½Π° свой email письмо со ссылкой Π½Π° ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅. Π•ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ ссылкС ΠΈ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° доступ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ.

Π•Ρ‰Π΅ Ρ€Π°Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡŽ, всС участники вашСго рСпозитория Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ зарСгистрированы Π² сСрвисС Bitbucket.

22. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ принято, Π½ΠΎΠ²Ρ‹ΠΉ участник Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρƒ сСбя Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ свою ссылку Π½Π° доступ ΠΊ Π½Π΅ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ TortoiseHg.

23. Π”Π°Π»ΡŒΡˆΠ΅ Π²Π°ΡˆΠ΅ΠΌΡƒ сотруднику Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ 7 ΠΏΡƒΠ½ΠΊΡ‚ Π΄Π°Π½Π½ΠΎΠΉ инструкции для получСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊ сСбС Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.

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

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

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: ΠΠ²Ρ‚ΠΎΠžΡ„ΠΈΡ – ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ бизнСса

Если Ρƒ вас послС прочтСния ΡΡ‚Π°Ρ‚ΡŒΠΈ появились вопросы ΠΊΠΎ ΠΌΠ½Π΅ ΠΈΠ»ΠΈ уточнСния ΠΈ дополнСния инструкций, Ρ‚ΠΎ ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях. Π‘ΡƒΠ΄Ρƒ ΠΎΡ‡Π΅Π½ΡŒ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½, Ссли усилитС ΡΡ‚Π°Ρ‚ΡŒΡŽ своим ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ VCS.

P.S.: Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ доступным языком Ρ€Π°ΡΠΏΠΈΡΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Β«Π’Π΅Ρ‚ΠΊΠΈΒ», Β«ΠœΠ΅Ρ‚ΠΊΠΈΒ» ΠΈ Β«Π€ΠΎΡ€ΠΊΠΈΒ» ΠΈ ΠΊΠ°ΠΊ с Π½ΠΈΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈ распрСдСлСнных систСм управлСния вСрсиями [Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ]

для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π΄ΡƒΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ распрСдСлСнныС систСмы Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΌ
ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ мСст, Π³Π΄Π΅ распространСны
систСмы ΠΈΠΌΠ΅ΡŽΡ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ, ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вСроятно
Π―Π΄Ρ€ΠΎ Π΄Π΅Ρ€Π΅Π²Π° Лайнуса. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρƒ ΠΌΠ½ΠΎΠ³ΠΈΡ… людСй Π΅ΡΡ‚ΡŒ свои Π΄Π΅Ρ€Π΅Π²ΡŒΡ, Π½ΠΎ
ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΎΠ½ΠΈ Ρ‚Π΅ΠΊΡƒΡ‚ ΠΊ Π΄Π΅Ρ€Π΅Π²Ρƒ Лайнуса.

это сказало, Ρ‡Ρ‚ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ распрСдСлСнныС SCM Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для
ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, Π½ΠΎ Π² послСднСС врСмя Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΉ
Ρ‡Ρ‚ΠΎ всС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ распрСдСлСнный
Π»ΡƒΡ‡ΡˆΠ΅.

Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, скаТСм, Π²Ρ‹ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ Π½Π°Π΄ своим Π»ΠΈΡ‡Π½Ρ‹ΠΌ
ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, Π½ΠΎ
рассмотрим этот сцСнарий. Π’Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π²Π΄Π°Π»ΠΈ ΠΎΡ‚ доступа ΠΊ сСти (Π½Π° самолСтС,
Π² ΠΏΠ°Ρ€ΠΊΠ΅ ΠΈ Ρ‚. Π΄.) ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ своим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. Π£ вас Π΅ΡΡ‚ΡŒ свой мСстный
скопируйтС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π²Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹
Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ ΠΎΠ΄Π½Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, ΠΈΠ»ΠΈ Π²Ρ‹ нашли
ошибка для исправлСния ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π Π•ΠŸΠž
Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹ Π»ΠΈΠ±ΠΎ ΡΠΌΠ΅ΡˆΠΈΠ²Π°Π΅Ρ‚Π΅ всС измСнСния вмСстС ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚Π΅ ΠΈΡ…
Π² Π½Π΅Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π²Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΈΡ… ΠΏΠΎΠ·ΠΆΠ΅.

с распрСдСлСнным Π Π•ΠŸΠž Π²Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, фиксируСтС, Π΄Π²ΠΈΠ³Π°Π΅Ρ‚Π΅ΡΡŒ дальшС,
ΠΊΠΎΠ³Π΄Π° Ρƒ вас снова Π΅ΡΡ‚ΡŒ доступ ΠΊ сСти, Π²Ρ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ Π½Π° своС «ΠΎΠ΄Π½ΠΎ истинноС Π Π•ΠŸΠž» ΠΈ
Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ измСнилось.

Π½Π΅ говоря ΡƒΠΆΠ΅ ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ приятной Π²Π΅Ρ‰ΠΈ ΠΎ распрСдСлСнныС Π Π•ΠŸΠž: ΠΏΠΎΠ»Π½Ρ‹ΠΉ
история доступна всСгда. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΉ, ΠΊΠΎΠ³Π΄Π°
ΠΎΡ‚ сСти? Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ источник, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ошибка
Π±Ρ‹Π» прСдставлСн? ВсС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с распрСдСлСнными Π Π•ΠŸΠž.

поТалуйста, поТалуйста, Π½Π΅ Π²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ распрСдСлСнный vs Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎ
ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ, ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² этом Ρ€ΠΎΠ΄Π΅. Π Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
распространяСтся являСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π² ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ SCM.

Mercurial – РаспрСдСлённая систСма управлСния вСрсиями / Π₯Π°Π±Ρ€

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

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

ΠœΡ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅ΠΌ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² Ρ†Π΅Π»ΠΎΠΌ, Π½ΠΎ Π² нашСй нСбольшой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² (4 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°) Ρ„Π°Π½Π°Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой Π½Π΅Ρ‚ :).

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ считаСм, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой нСэффСктивна?

  1. Π’Ρ€Π°Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…. ΠΠ°Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ дольшС, Ρ‡Π΅ΠΌ ΠΊΠ»ΠΈΠΊΠ°Ρ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ.
  2. Π’Ρ€Π°Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ синтаксиса Π² эпоху понятных интСрфСйсов ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ дольшС, Ρ‡Π΅ΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ графичСскому интСрфСйсу.
  3. Π’Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибки. ΠžΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку Π»Π΅Π³Ρ‡Π΅ (чСловСчСский Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ отмСнял).
  4. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это самый Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ создан для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π·Π°ΠΌΠ΅Π½Π΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’ случаС с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой ΠΌΡ‹ всСгда Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΏΠΎ сути, приходится ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΏΡƒΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ).

К соТалСнию, Π½Π°ΠΌ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ русскоязычного ΠΌΠ°Π½ΡƒΠ°Π»Π° ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с соврСмСнными систСмами контроля вСрсий. Π‘ΠΎΠ±Ρ€Π°Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… статСй ΠΈ англоязычных Π²ΠΈΠ΄Π΅ΠΎ Π½Π° YouTube, ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ своё собствСнноС руководство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅:

  1. Π‘ΡƒΠ΄Π΅Ρ‚ пошаговой инструкций (ΠΏΠΎ Π½Π΅ΠΉ ΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ наши программисты).
  2. Π‘ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΉ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ нСбольшой, Π½ΠΎ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ β€” Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ систСму контроля вСрсий).
  3. Π‘ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с использованиСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ графичСских интСрфСйсов (ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ см. Π²Ρ‹ΡˆΠ΅).

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий: Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с DVCS

Π’ нашСй ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ основы любой систСмы контроля вСрсий — различия ΠΈ исправлСния. ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ²ΡˆΠΈΡΡŒ Π½Π° различиях ΠΈ исправлСниях, ΠΌΡ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ обсудим систСмы контроля вСрсий. МногиС ΠΈΠ· вас Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмой управлСния вСрсиями , Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Subversion (SVN), CVS ΠΈ Perforce, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сразу ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π² ΠΌΠΈΡ€Ρ‹ распрСдСлСнного управлСния вСрсиями Git ΠΈ Mercurial. БущСствуСт мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… разновидностСй Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ распрСдСлСнного контроля вСрсий, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свои прСимущСства ΠΈ нСдостатки.

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий

БущСствуСт мноТСство систСм контроля вСрсий. Часто ΠΈΡ… дСлят Π½Π° Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹: Β«Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅Β» ΠΈ «распрСдСлСнныС».

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ систСмы контроля вСрсий основаны Π½Π° ΠΈΠ΄Π΅Π΅, Ρ‡Ρ‚ΠΎ Π³Π΄Π΅-Ρ‚ΠΎ сущСствуСт СдинствСнная Β«Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Π°ΡΒ» копия вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π° сСрвСрС), ΠΈ программисты Π±ΡƒΠ΄ΡƒΡ‚ Β«Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» свои измСнСния Π² этой Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ.

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

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

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

НСкоторыС ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм контроля вСрсий, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΈΠ»ΠΈ использовали, — это CVS, Subversion (ΠΈΠ»ΠΈ SVN) ΠΈ Perforce.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ процСсс Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ управлСния вСрсиями

Когда Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмой контроля вСрсий, ваш Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс для добавлСния Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ исправлСния ошибки Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

  • Π£Π΄Π°Π»ΠΈΡ‚Π΅ с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сСрвСра всС измСнСния, внСсСнныС Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.
  • ВнСситС измСнСния ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.
  • Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ваши измСнСния Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ сСрвСрС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ программисты ΠΌΠΎΠ³Π»ΠΈ ΠΈΡ… ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π·Π° послСдниС ΠΏΡΡ‚ΡŒ Π»Π΅Ρ‚ появилось Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ инструмСнтов: Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ «распрСдСлСнныС» систСмы контроля вСрсий (сокращСнно DVCS). Π’Ρ€ΠΈ самых популярных ΠΈΠ· Π½ΠΈΡ… — Mercurial, Git ΠΈ Bazaar.

Π­Ρ‚ΠΈ систСмы Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр для хранСния всСх вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.ВмСсто этого ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Β«ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚Β» копию рСпозитория ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΏΠΎΠ»Π½Ρ‹Ρ… истории ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° собствСнном ТСстком дискС. Π­Ρ‚Π° копия (ΠΈΠ»ΠΈ Β«ΠΊΠ»ΠΎΠ½Β») содСрТит всСх ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π°.

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

ДСйствиС получСния Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· рСпозитория ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ называСтся «вытягиваниСм», Π° дСйствиС пСрСмСщСния Π²Π°ΡˆΠΈΡ… собствСнных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ — Β«ΠΏΡ€ΠΎΡ‚Π°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌΒ». Π’ ΠΎΠ±ΠΎΠΈΡ… случаях Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ (измСнСния Π³Ρ€ΡƒΠΏΠΏ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅), Π° Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΏΠ΅Ρ€Π΅Π΄ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ вСрсий

Акт клонирования всСго рСпозитория Π΄Π°Π΅Ρ‚ инструмСнтам управлСния распрСдСлСнными вСрсиями нСсколько прСимущСств ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ систСмами:

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

НСдостатки ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ вСрсий

Если чСстно, Ρ‚ΠΎ нСдостатков Π² использовании распрСдСлСнной систСмы контроля вСрсий Π½Π°Π΄ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅Ρ‚. РаспрСдСлСнныС систСмы Π½Π΅ , Π° Π½Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ Π²Π°ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Β«Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉΒ» Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΎΠ½ΠΈ просто ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ большС возмоТностСй ΠΏΠΎΠΌΠΈΠΌΠΎ этого.

РаспрСдСлСнная систСма ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° основных нСдостатка:

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

Авторы ΠΈ соавторы соврСмСнных распрСдСлСнных систСм контроля вСрсий Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ этих ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ встроСнныС встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΠΈΡ….

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

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

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

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ‚Π΅ΠΌΠ°Ρ… git

.

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

НайдТСл Π§Π΅ΡˆΠΈΡ€

Π’ Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° Lotus Notes всС Π΅Ρ‰Π΅ носил ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΡˆΡ‚Π°Π½Ρ‹, скаТСм, Ρ€Π°Π½ΡŒΡˆΠ΅, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 1995 ΠΈΠ»ΠΈ 1996 Π³ΠΎΠ΄Π°Ρ…, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° контроля вСрсий Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ поднималась Π±Ρ‹ Π² Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π°Ρ… Π²ΠΎΠΊΡ€ΡƒΠ³ Π²ΠΎΠ΄Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Notes. ΠΊΡƒΠ»Π΅Ρ€. ЀактичСски, Ρ‚ΠΎΠ³Π΄Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Notes, вСроятно, Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Π»ΠΈ Π±Ρ‹, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ исходного ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ это Π½Π°Π·Π²Π°Ρ‚ΡŒ.

МногиС люди, создававшиС ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ прилоТСния Lotus Notes, Π½Π΅ ΠΈΠΌΠ΅Π»ΠΈ ΠΎΠΏΡ‹Ρ‚Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π½Π°Ρ‡Π°Π² ΠΊΠ°ΠΊ Β«ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΒ» ΠΈ Ρ€Π°Π·Π²ΠΈΠ² свои Π½Π°Π²Ρ‹ΠΊΠΈ синхронно с Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Notes ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.По ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΡŽ, я Π΄Π°Π²Π½ΠΎ учился Π² школС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ (класс 1984 Π³ΠΎΠ΄Π°!), Но Π΄Π°ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° мСня ΠΏΡ€ΠΈΡƒΡ‡ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SCCS ΠΈ Make для контроля вСрсий ΠΈ управлСния сборкой.

По ΠΈΡ€ΠΎΠ½ΠΈΠΈ ΡΡƒΠ΄ΡŒΠ±Ρ‹ мСня всСгда ΠΏΠΎΡ€Π°ΠΆΠ°Π»ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Lotus Notes — ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°), основанноС Π½Π° сотрудничСствС, — Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΠ»ΠΈ Π±Ρ‹ сотрудничСство ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Notes. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π½ΠΈ Notes — срСда программирования Π±Ρ‹Π»Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ простой, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ довольно Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

Но со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ стали Π±ΠΎΠ»Π΅Π΅ Π°ΠΌΠ±ΠΈΡ†ΠΈΠΎΠ·Π½Ρ‹ΠΌΠΈ, ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Lotus Notes, стали Π±ΠΎΠ»Π΅Π΅ слоТными. К сСрСдинС-ΠΊΠΎΠ½Ρ†Ρƒ 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² Π½Π° Lotus Notes Π±Ρ‹Π»ΠΎ поставлСно нСсколько довольно слоТных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΈ обслуТивания ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

Как Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, эти прилоТСния создавались Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ людСй, ΠΈ Π·Π°Π΄Π°Ρ‡Π° отслСТивания Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ Ρ‚Π΅ΠΌ, ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»Π°ΡΡŒ всС Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΠΉ. По ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ возрастала ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡŒ всС Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ, какая вСрсия прилоТСния находится Π² производствС, Π΄Π°ΠΆΠ΅ Ссли всС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ.Π’Π°ΠΊ Ρ€ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Teamstudio CIAO !, наша систСма контроля вСрсий для IBM Notes ΠΈ Domino.

Но я забСгаю Π²ΠΏΠ΅Ρ€Π΅Π΄. Для нСпосвящСнных ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий (VCS) ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ различия ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. ЀактичСски сущСствуСт Π΄Π²Π° Ρ‚ΠΈΠΏΠ° VCS: цСнтрализованная ΠΈ распрСдСлСнная.

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий

ЦСнтрализованная систСма контроля вСрсий Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр.БущСствуСт СдинствСнная (цСнтрализованная) главная копия Π±Π°Π·Ρ‹ ΠΊΠΎΠ΄Π°, ΠΈ части ΠΊΠΎΠ΄Π°, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ (ΠΈΠ»ΠΈ Β«ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Ρ‹Β»), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этой Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠ΄ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚. Доступ ΠΊ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ сСрвСром. Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ свой ΠΊΠΎΠ΄, Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° снимаСтся, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ.

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

ВСроятно, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстными ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм VCS ΡΠ²Π»ΡΡŽΡ‚ΡΡ CVS ΠΈ Subversion, ΠΎΠ±Π΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, хотя Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ коммСрчСских ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Rational ClearCase ΠΎΡ‚ IBM).

Teamstudio CIAO! Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² эту ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ, Π½ΠΎ я Π²Π΅Ρ€Π½ΡƒΡΡŒ ΠΊ этому ΠΏΠΎΠ·ΠΆΠ΅.

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

Π’ послСднСС врСмя Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ тСндСнция (ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π·Π²Π°Ρ‚ΡŒ это Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠ΅ΠΉ) ΠΊ распрСдСлСнным систСмам контроля вСрсий. Π­Ρ‚ΠΈ систСмы Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΡ€Π°Π½Π³ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ: кодовая Π±Π°Π·Π° распрСдСляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². ЀактичСски, вся история ΠΊΠΎΠ΄Π° отраТаСтся Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ систСмС.

Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ главная копия Π±Π°Π·Ρ‹ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΎΠ½Π° хранится Π½Π° клиСнтском ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π° Π½Π΅ Π½Π° сСрвСрС. НСт Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ частСй ΠΊΠΎΠ΄Π°; Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ вносят измСнСния Π² свою Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию, Π° Π·Π°Ρ‚Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои измСнСния Π² мастСр-копию, ΠΎΠ½ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ мастСр-ΠΊΠΎΠΏΠΈΠΈ запрос Π½Π° слияниС своих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с мастСр-ΠΊΠΎΠΏΠΈΠ΅ΠΉ.

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

Π‘Π°ΠΌΡ‹ΠΌΠΈ извСстными ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ распрСдСлСнных VCS ΡΠ²Π»ΡΡŽΡ‚ΡΡ Git ΠΈ Mercurial, ΠΎΠ±Π° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄.

ΠŸΠ»ΡŽΡΡ‹ ΠΈ минусы

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

Π­Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

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

  • Π’ распрСдСлСнной систСмС Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ слияниС, Π² основном ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ встроСны Π² способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы.

  • Π’ распрСдСлСнной систСмС Π½Π΅Ρ‚ нСобходимости постоянно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ сСти.

По этим ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ люди стали ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠ°ΠΌΠΈ DVCS ΠΈ вСрят, Ρ‡Ρ‚ΠΎ Git ΠΈ Mercurial — это ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° любой вопрос VCS. Однако Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ систСмы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Subversion, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСимущСства:

  • Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ систСмы ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ.

  • ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ доступа ΠΏΡ€ΠΎΡ‰Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС управляСтся ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ мСста (сСрвСра).

  • Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТно.

VCS для Notes и Domino

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ насчСт нас, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² IBM Notes ΠΈ Domino? ΠšΠ°ΠΊΡƒΡŽ систСму контроля вСрсий ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ всСго? Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° этот вопрос, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ аспСкт.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ каТдая систСма VCS, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ здСсь Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚, Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹, Ρ‚.Π΅.Π΅. исходный ΠΊΠΎΠ΄. Как Π²Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π·Π½Π°Π΅Ρ‚Π΅, это Π½Π΅ относится ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Lotus Notes. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π΄ΠΈΠ·Π°ΠΉΠ½Π° (Ρ„ΠΎΡ€ΠΌΡ‹, прСдставлСния, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ сцСнариСв ΠΈ Ρ‚. Π”.) Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Notes ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ содСрТатся Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ (NSF ΠΈΠ»ΠΈ NTF).

Π­Ρ‚ΠΎ создаСт Π΄Π²Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ VCS Π½Π° основС Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚Π°ΠΊΡƒΡŽ ​​как Git ΠΈΠ»ΠΈ Mercurial. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, элСмСнты Π΄ΠΈΠ·Π°ΠΉΠ½Π° Notes Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ ΠΈ распрСдСлСны ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ станциям ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² СстСствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π΄Π°ΠΆΠ΅ Ссли Π±Ρ‹ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ, объСдинСниС ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ копию ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΊΠΎΡˆΠΌΠ°Ρ€ΠΎΠΌ Π±Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… спСциализированных инструмСнтов.

ВСорСтичСски Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты Π΄ΠΈΠ·Π°ΠΉΠ½Π° Notes Π² DXL ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ VCS для управлСния создаваСмыми тСкстовыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Однако ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ Π½ΠΈΠΊΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ смог Π±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот ΠΌΠ΅Ρ‚ΠΎΠ΄. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ считаСм, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ создаСтС ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ классичСскиС прилоТСния Notes, Teamstudio CIAO! это ΠΏΡƒΡ‚ΡŒ.

CIAO! интСгрируСтся Π² Domino Designer ΠΈ позволяСт Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π΄ΠΈΠ·Π°ΠΉΠ½Π° Notes.Когда Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ снова Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ эти элСмСнты, сняв Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ. ЧАО! строит ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ элСмСнта, позволяя Π²Π°ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ вСрсиям. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ всС элСмСнты Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ вСрсии, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ врСмя Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ прилоТСния.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Π²Ρ‹ создаСтС прилоТСния с использованиСм Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… тСкстовых исходных Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ JavaScript ΠΈ Node.js для доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Domino, Ρ‚ΠΎ распрСдСлСнная VCS, такая ΠΊΠ°ΠΊ Git, вСроятно, являСтся Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ.Но Ссли ваши прилоТСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ классичСскими прилоТСниями Notes, с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ, прСдставлСниями ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ скриптов, Π²Π°ΠΌ стоит ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Teamstudio CIAO! (ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ я Ρ‚Π°ΠΌ Π΄Π΅Π»Π°Π»?)

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ CIAO !, устройтС Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ просто ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ ΠΎ любом аспСктС управлСния вСрсиями для IBM Lotus Notes ΠΈ Domino, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½ΠΈΠΆΠ΅. ВсСгда Ρ€Π°Π΄Ρ‹ ΠΏΠΎΠ±ΠΎΠ»Ρ‚Π°Ρ‚ΡŒ!

.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git | Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ срСдство управлСния распрСдСлСнными вСрсиями

Git — это бСсплатный инструмСнт распрСдСлСнной систСмы управлСния вСрсиями с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для быстрой ΠΈ эффСктивной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π»ΡŽΠ±Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΡ‚ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ…. Он Π±Ρ‹Π» создан Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ Π² 2005 Π³ΠΎΠ΄Ρƒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ядра Linux. Git ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Он Ρ‚Π°ΠΊΠΆΠ΅ слуТит Π²Π°ΠΆΠ½Ρ‹ΠΌ инструмСнтом распрСдСлСнного контроля вСрсий DevOps .Π­Ρ‚ΠΎΡ‚ Π±Π»ΠΎΠ³ Β«Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ GitΒ» — ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· ΠΌΠΎΠ΅ΠΉ сСрии ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… пособий ΠΏΠΎ Git. Π― надСюсь, Π²Π°ΠΌ понравится. πŸ™‚

Π’ этом Π±Π»ΠΎΠ³Π΅ Β«Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ GitΒ» Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git — ΠΏΠΎΡ‡Π΅ΠΌΡƒ Git появился?

ВсС ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Β«ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ — ΠΌΠ°Ρ‚ΡŒ всСх ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠΉΒ». Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Git Π±Ρ‹Π» ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ для удовлСтворСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… потрСбностСй, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ Π΄ΠΎ Git.

Какова Ρ†Π΅Π»ΡŒ Git?

Git Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для управлСния вашим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, состоящим ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… / тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ.

Но ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠΉΠ΄Π΅ΠΌ дальшС, Π΄Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм шаг Π½Π°Π·Π°Π΄ ΠΈ ΡƒΠ·Π½Π°Π΅ΠΌ всС ΠΎ систСмах контроля вСрсий (VCS) ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ появился Git.

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

БущСствуСт Π΄Π²Π° Ρ‚ΠΈΠΏΠ° VCS:

  • ЦСнтрализованная систСма контроля вСрсий (CVCS)
  • РаспрСдСлСнная систСма контроля вСрсий (DVCS)

ЦСнтрализованная VCS

ЦСнтрализованная систСма контроля вСрсий (CVCS) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр для хранСния всСх Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ обСспСчСния совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌΡƒ сСрвСру.

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ CVCS:

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ станции программиста.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ программист ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ своих Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станций Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈΡΡ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ внСсти измСнСния Π² Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.КаТдая опСрация выполняСтся нСпосрСдствСнно Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Π₯отя ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ каТСтся довольно ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ, Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ нСсколько ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… нСдостатков. НСкоторыС ΠΈΠ· Π½ΠΈΡ…:

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

ИмСнно здСсь Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ распрСдСлСнная VCS.

РаспрСдСлСнная VCS

Π­Ρ‚ΠΈ систСмы Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр для хранСния всСх вСрсий Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

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

Π’Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅ это Π»ΡƒΡ‡ΡˆΠ΅, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ ΠΊ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅:

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π²Ρ‹ΡˆΠ΅, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ программист ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° самом Π΄Π΅Π»Π΅ являСтся ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ТСсткий диск.Они ΠΌΠΎΠ³ΡƒΡ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ свой Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°.

Они ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ свои Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сСрвСра с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Β« pull Β» ΠΈ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° измСнСния Π² Π³Π»Π°Π²Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Β« push Β» ΠΈΠ· своСго локального рСпозитория.

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСго рСпозитория Π½Π° Π²Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΡΡ‚Π°Π½Ρ†ΠΈΡŽ ​​для получСния локального рСпозитория Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСимущСства:

  • ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (ΠΊΡ€ΠΎΠΌΠ΅ push & pull) Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ быстро, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ инструмСнту Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ доступ ΠΊ ТСсткому диску, Π° Π½Π΅ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр.Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Π°ΠΌ Π½Π΅ всСгда Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ.
  • Ѐиксация Π½ΠΎΠ²Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° локально Π±Π΅Π· измСнСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Π³Π»Π°Π²Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Когда Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ готовая Π³Ρ€ΡƒΠΏΠΏΠ° Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… всС сразу.
  • ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участника Π΅ΡΡ‚ΡŒ полная копия рСпозитория ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ измСнСниями Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Ссли ΠΎΠ½ΠΈ хотят ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° измСнСния Π² Π³Π»Π°Π²Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.
  • Если Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ΠΈΠ· строя Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚, потСрянныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ· любого локального рСпозитория участника.

Познакомившись с распрСдСлСнной VCS, ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git.

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

Git — это инструмСнт управлСния распрСдСлСнными вСрсиями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ распрСдСлСнныС Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы, обСспСчивая Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ качСствСнного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ, посмотритС это Π²ΠΈΠ΄Π΅ΠΎ Π½Π° GIT, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ.

Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС ΠΏΠΎ Git ΠΈ Github, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰Π΅Π΅ Π½Π°ΡƒΠΊΡƒ, Π»Π΅ΠΆΠ°Ρ‰ΡƒΡŽ Π² основС Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов Git ΠΈ Github | ΠžΡΠ½ΠΎΠ²Ρ‹ Github

Git прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ всС срСдства распрСдСлСнной VCS, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅.Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Git ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, насколько Git Π³ΠΈΠ±ΠΎΠΊ ΠΈ совмСстим с вашСй систСмой, ΠΊΠΎΠ³Π΄Π° ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с функциями, упомянутыми Π½ΠΈΠΆΠ΅:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git — ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Git

БСсплатно ΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ:
Git Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPL (Бтандартная общСствСнная лицСнзия) лицСнзия с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ Git. Π­Ρ‚ΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ бСсплатно. А ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄ Π² соотвСтствии с вашими трСбованиями.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ:
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ сСти для выполнСния всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΎΠ½ выполняСт всС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΡ‡Π΅Π½ΡŒ быстро. ВСсты ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Mozilla, ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π° порядок быстрСС Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм контроля вСрсий. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ истории вСрсий ΠΈΠ· локально Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠ³ΠΎ рСпозитория ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² сто Ρ€Π°Π· быстрСС, Ρ‡Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΅Π΅ с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра. Основная Ρ‡Π°ΡΡ‚ΡŒ Git написана Π½Π° C, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, связанных с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками высокого уровня.

ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ:
Git ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Ссли Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ количСство соавторов увСличится, Git Π»Π΅Π³ΠΊΠΎ справится с этим ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ. Π₯отя Git прСдставляСт собой вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π΄Π°Π½Π½Ρ‹Π΅, хранящиСся Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Git сТимаСт всС ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ сТатия Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ.

НадСТно:
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участник ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π² случаС сбоя систСмы потСрянныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ· любого локального рСпозитория.Π£ вас всСгда Π±ΡƒΠ΄Π΅Ρ‚ рСзСрвная копия всСх Π²Π°ΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ².

Secure:
Git ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ SHA1 (Secure Hash Function) для имСнования ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² своСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ фиксация ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммС Π²ΠΎ врСмя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Git хранится Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии (фиксация Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… Git) зависит ΠΎΡ‚ ΠΏΠΎΠ»Π½ΠΎΠΉ истории Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π²Π΅Π΄ΡƒΡ‰Π΅ΠΉ ΠΊ этой фиксации.ПослС ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ старыС вСрсии, Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ² этого.

Π­ΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π½Ρ‹ΠΉ:
Π’ случаС CVCS Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ достаточно ΠΌΠΎΡ‰Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ запросы всСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ это Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ роста Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ограничСния сСрвСра ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠΌ мСстом для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ случаС DVCS Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с сСрвСром, Ссли ΠΈΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ измСнСния. Вся тяТСлая Ρ€Π°Π±ΠΎΡ‚Π° выполняСтся Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, поэтому сСрвСрноС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простым.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ:
Git ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ быстроС Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ слияниС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ истории Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ОсновноС ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Git состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ написано, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΎ пСрСдаСтся Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π΅Ρ†Π΅Π½Π·Π΅Π½Ρ‚Π°ΠΌ. Π’Π΅Ρ‚Π²ΠΈ Π² Git ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΈΠ΅. Π’Π΅Ρ‚ΠΊΠ° Π² Git — это всСго лишь ссылка Π½Π° ΠΎΠ΄Π½Ρƒ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ. Π‘ Π΅Π³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ структуру Π²Π΅Ρ‚Π²Π΅ΠΉ.

Π›Π΅Π³ΠΊΠΎΠ΅ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅:
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСтвями с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git ΠΎΡ‡Π΅Π½ΡŒ простоС. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ объСдинСниС Π²Π΅Ρ‚ΠΎΠΊ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ всСго нСсколько сСкунд. Π’Π΅Ρ‚ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния вашСй ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹. Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ…ΠΎΡ‡Π΅Ρ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, насколько ΠΎΠ½ большой ΠΈΠ»ΠΈ малСнький, ΠΎΠ½ создаСт Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ основная Π²Π΅Ρ‚Π²ΡŒ всСгда содСрТит ΠΊΠΎΠ΄ производствСнного качСства.

РаспрСдСлСнная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°:
Git прСдоставляСт ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию всСй истории Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈ измСнСния ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ рСпозитория Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ.Π­Ρ‚ΠΈ измСнСния ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ локально Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ.

Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ систСмами ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ
Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· http, ftp ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Git Ρ‡Π΅Ρ€Π΅Π· простой сокСт ΠΈΠ»ΠΈ ssh. Git Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΌΡƒΠ»ΡΡ†ΠΈΡŽ сСрвСра Concurrent Version Systems (CVS), которая позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ CVS ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ IDE для доступа ΠΊ рСпозиториям Git.Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Apache SubVersion (SVN) ΠΈ SVK ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с Git-SVN.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git — Ρ€ΠΎΠ»ΡŒ Git Π² DevOps?

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Git являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ DevOps.

DevOps — это ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ гибкости процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ эксплуатации. Π­Ρ‚ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ новая идСология, которая ΠΎΡ…Π²Π°Ρ‚ΠΈΠ»Π° ИВ-ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ, увСличивая ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, увСличивая ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ. DevOps способствуСт ΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈ производитСлями, участвуя вмСстС Π½Π° протяТСнии всСго ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° услуги, ΠΎΡ‚ проСктирования Π΄ΠΎ процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ производства.

На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Devops ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Git вписываСтся Π² Devops.

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

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Git, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ эксплуатации. Когда Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ большой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ количСством соавторов, ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ связь ΠΌΠ΅ΠΆΠ΄Ρƒ соавторами ΠΏΡ€ΠΈ внСсСнии ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. БообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² Git ΠΈΠ³Ρ€Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² ΠΎΠ±Ρ‰Π΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. Части ΠΈ части, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ всС Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π΅ΠΌ, находятся Π² систСмС контроля вСрсий, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Git. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ успСха Π² DevOps, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ всС ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² систСмС управлСния вСрсиями.Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Git ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² достиТСнии успСха Π² DevOps.

ΠšΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Git? — ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Git

Git Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π» Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами контроля вСрсий, доступными Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Apache Subversion (SVN), Concurrent Version Systems (CVS), Mercurial ΠΈ Ρ‚. Π”. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ интСрСс ΠΊ Git ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами контроля вСрсий с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ, собранным ΠΈΠ· Google Trends Π½ΠΈΠΆΠ΅:

Π’ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… компаниях ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ со всСго ΠΌΠΈΡ€Π°.Для обСспСчСния связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ являСтся Git.

НСкоторыС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Git для контроля вСрсий: Facebook, Yahoo, Zynga, Quora, Twitter, eBay, Salesforce, Microsoft ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Π’ послСднСС врСмя всС Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Microsoft Π±Ρ‹Π»ΠΈ связаны с функциями Git. Microsoft пСрСносит .NET ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° GitHub, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ управляСт Git.

Одним ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² являСтся LightGBM. Π­Ρ‚ΠΎ быстрая, распрСдСлСнная, Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ структура ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π°, основанная Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… Π΄Π΅Ρ€Π΅Π²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ранТирования, классификации ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ машинного обучСния.

Π—Π΄Π΅ΡΡŒ Git ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ этой распрСдСлСнной вСрсиСй LightGBM, обСспСчивая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.

На этом этапС Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git; Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ научимся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π±Π»ΠΎΠ³Π΅ Git Tutorial .

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹ΠΉ вопрос:

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Git ΠΈ GitHub?

Git — это просто систСма контроля вСрсий, которая управляСт ΠΈ отслСТиваСт измСнСния исходного ΠΊΠΎΠ΄Π°, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ GitHub — это облачная хостинговая ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, которая управляСт всСми вашими рСпозиториями Git.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Git Ρ‚Π°ΠΊ популярСн?

Git — это распрСдСлСнная систСма контроля вСрсий (VCS), которая позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ измСнСниями Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΏΡ€ΠΈ нСобходимости Π²Π΅Ρ‚Π²ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ, прСдоставляя ΠΈΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ локальной Π±Π°Π·ΠΎΠΉ ΠΊΠΎΠ΄Π°. Он быстр, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ массивных Π±Π°Π· ΠΊΠΎΠ΄Π°, разбросанных ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярным инструмСнтом.

Если Π²Ρ‹ нашли этот Π±Π»ΠΎΠ³ Β« Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git Β» Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½Ρ‹ΠΌ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с DevOps-Ρ‚Ρ€Π΅Π½ΠΈΠ½Π³ΠΎΠΌ ΠΎΡ‚ Edureka, Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΠ½Π»Π°ΠΉΠ½-обучСния с ΡΠ΅Ρ‚ΡŒΡŽ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 250 000 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ учащиСся Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ.ΠšΡƒΡ€Ρ Edureka DevOps Certification Training ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ учащимся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… процСссах ΠΈ инструмСнтах DevOps, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Puppet, Jenkins, Nagios ΠΈ GIT, для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… этапов Π² SDLC.

.

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

ΠœΡ‹ Ρ‡ΠΈΡ‚Π°Π»ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ / прСимущСства / Ρ‚ΠΈΠΏΡ‹ систСм контроля вСрсий Π² нашСй послСднСй ΡΡ‚Π°Ρ‚ΡŒΠ΅.

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

Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² SCM ΠΈ систСмах контроля вСрсий, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ свой Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΊ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅, Π³Π΄Π΅ ΠΌΡ‹ рассмотрСли нСсколько ΠΎΡ‡Π΅Π½ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² Π² VCS .

Π˜Ρ‚Π°ΠΊ, поСхали…

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° основС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ находится Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС ΠΈ прСдоставляСт доступ мноТСству ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² распрСдСлСнной систСмС ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию рСпозитория Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π΅ΠΏΠΎ Π½Π° сторонС сСрвСра.

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями — это ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ°Ρ систСма с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ 1 Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория, сСрвСры ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ послСдний ΠΊΠΎΠ΄ всСм ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ.

РаспрСдСлСнный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий обСспСчиваСт Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊ с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ свой собствСнный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΎΠ½ΠΈ Π½Π΅ просто провСряйтС снимок ΠΊΠΎΠ΄Π° — ΠΎΠ½ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

CVCS Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ DVCS ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ слоТный процСсс для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

CVCS зависит ΠΎΡ‚ доступа ΠΊ сСрвСру, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ DVCS Π΄Π°Π΅Ρ‚ прСимущСства для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. ВсС, ΠΊΡ€ΠΎΠΌΠ΅ наТатия ΠΈ извлСчСния ΠΊΠΎΠ΄Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ.

CVCS проста Π² администрировании ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ больший ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈ доступом, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это сСрвСр ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ мСста.

DVCS ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстр ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с CVCS, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ сСрвСром для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.DVCS просто Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π·Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° вашСм локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Если ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ Π½Π°Π±ΠΎΡ€Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° всСй истории ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π½Π΅ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ дискового пространства Π² DVCS, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ CVCS позволяСт Π²Π°ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсколько строк ΠΊΠΎΠ΄Π°, Ссли Π²Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ нСсколькими ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

DVCS обСспСчиваСт ΠΌΠΎΡ‰Π½ΠΎΠ΅ ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ отслСТиваниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ мСньшС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π²ΠΎ врСмя слияния.

DVCS Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ измСнСниями с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ двумя Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Ссли ΠΎΠ½ΠΈ хотят ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ измСнСния всСм.

ВСрсии Π² DVCS — это Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ большиС Π³ΠΈΠ΄Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, fa333b7rer96cd6d3b0037d660) — это Π½Π΅ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ числа (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ CVCS), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‚ ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅.

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

SVN ΠΈ CVS — популярныС инструмСнты CVCS

GIT ΠΈ Mercurial — популярныС инструмСнты DVCS

Π― надСюсь, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ прСдставлСниС ΠΎ различиях ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ систСмами контроля вСрсий — Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ распрСдСлСнной.

.

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

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