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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° git — Ρ‡Ρ‚ΠΎ это?

GitΒ β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС (ПО) для контроля вСрсий. VCS (Version Control System) ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ на программистов ΠΈΒ Π²Π΅Ρ€ΡΡ‚Π°Π»ΡŒΡ‰ΠΈΠΊΠΎΠ², помогая им быстрСС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄.

БистСма git прСдоставляСт ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ об опСрациях ΠΏΠΎΒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠ°ΠΌΠΈΒ ΠŸΠž. ΠŸΠΎΡΡ€Π΅Π΄ΡΡ‚Π²ΠΎΠΌ VCS Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ обновлСния, Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ΄ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ числовыми ΠΈΠ»ΠΈ Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ.

GitΒ β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π΄Π°Π΅Ρ‚ свСдСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΈΒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π»ΠΈΡ†, Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠ²ΡˆΠΈΡ… Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°. Π’Π°ΠΊ, Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ ΠΈΠ·Β ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΒ Π²Β ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ занимался ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ version ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

ΠŸΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании ПО обСспСчиваСт ΠΌΠ½ΠΎΠ³ΠΎ достоинств для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² софта, сущСствСнно ускоряя и облСгчая ΠΈΡ…Β Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ git

GitΒ β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, подготовлСнная для контроля вСрсий ΡΒ Ρ†Π΅Π»ΡŒΡŽ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»Π΅ΠΌ систСмы Π³ΠΈΡ‚ выступил Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ Π²Β 2005 Π³ΠΎΠ΄Ρƒ.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½Π° Π±Ρ‹Π»Π° ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° для руководства ядром Linux. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΡ†Π΅Π½ΠΈΠ»ΠΈ Π΄ΠΎΡΡ‚ΠΎΠΈΠ½ΡΡ‚Π²Π°Β ΠŸΠž и стали ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ в ядрах PHP, DokuWiki, Swift, Wine ΠΈΒ ΠΈΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… софта. Π”Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ сСйчас вСрсия, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GNU GPL, свободна для распространСния.

НазначСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

БистСма git прСдставляСт собой ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для контроля вСрсий. ΠŸΠžΒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ свои возмоТности Π½Π°Β Π±Π°Π·Π΅ Π³ΠΈΡ‚ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов. Π‘Ρ€Π΅Π΄ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ этой систСмы:

  • Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ опСративности раздСлСния и слияния вСрсий ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ срСдства Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΈΒ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ истории ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ участник ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΏΠΈΠΈ истории настройки. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ знакомятся ΡΒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΎΠΊ ΠΈΠ·Β Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².
  • Π£Π΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ доступ к рСпозиториям. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ SSH- ΠΈΠ»ΠΈ HTTP-сСрвСры. Π‘Π°ΠΌΡ‹ΠΉ популярный и бСзопасный ΠΌΠ΅Ρ‚ΠΎΠ΄ доступа: TCP-сСрвис git-daemon.
  • Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Β ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΌ состоянии. БистСма ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ дСйствия участников. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅ΠΌΡ‹Π΅ манипуляции ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅. МоТно ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ»ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅Β Π²Β ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. НСт Π½Π΅Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… шагов, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°Π·Ρ‹.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ криптографичСской цСлостности содСрТимого рСпозитория git. Π›ΡŽΠ±Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с файлами (commit, Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ, созданиС) Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΡ€ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ свСдСний.
  • Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Β ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… индСкса. ИзмСнСниС и просмотр ΠΊΠΎΠ΄Π° происходит Π΄ΠΎΒ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅Π³ΠΎ фактичСского использования.

GitΒ β€” это ПО, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ ΠΏΠΎΒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ ΠΎΠ΄Π½ΠΎΡ€Π°Π½Π³ΠΎΠ²ΠΎΠΉ сСти. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ модСль построСния peer toΒ peer. ΠŸΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ мноТСство нСзависимых Π²Π΅Ρ‚ΠΎΠΊ (branch) ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΈ нСобходимости программисты ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ доступныС Π²Π΅Ρ‚ΠΊΠΈ Π²Β ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠ΅ сроки.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹

БистСма git ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²Β ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° .git. Π―Π΄Ρ€ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставляСт собой ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки с заданными настройками. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ в тСкстовых Ρ„Π°ΠΉΠ»Π°Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ позволяСт Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… усилий ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ софт Π²Β Π»ΡŽΠ±ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π»Π΅Π³ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСму в ПО с наиболСС ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ интСрфСйсом.

Под Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ git понимаСтся Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ в сСбя Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΆΡƒΡ€Π½Π°Π»Ρ‹, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’Β Π½Π΅ΠΌ отраТаСтся индСкс, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ располоТСниС свСдСний.

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

Богласно исходным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ располагаСтся Π²Β Β«.gitΒ», Ρ‚ΠΎΒ Π΅ΡΡ‚ΡŒ Π²Β ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π•Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ прСдставляСт собой Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π΄Ρ€Π΅Π²Π°. КаТдоС Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΈΠΌΠΎ Π²Β Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git, Ссли ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π²Β ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… софта ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ создания рСпозитория ΠΈΠ·Β ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π΄Π΅Ρ€Π΅Π²Π° или ПО.

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ пСрСмСщаСтся с доступного по сСти ΡƒΠ·Π»Π°. В процСссС Π΅Π³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° автоматичСски осущСствляСтся ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ. Новый ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» соотвСтствуСт послСднСму зафиксированному ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ рСпозитория.

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ строСниС

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

ΠšΠΎΠ½Ρ‚Π΅Π½Ρ‚Π½ΠΎ-адрСсуСмая систСма Ρ„Π°ΠΉΠ»ΠΎΠ² располагаСтся Π½Π°Β Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ git. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки содСрТит Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя нСсколько ΠΊΠΎΠΌΠ°Π½Π΄. Они Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π°Β ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… манипуляций с рСпозиториСм. Π’Β Π³ΠΈΡ‚ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с рСпозиториСм Π½Π°Β Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅.

Π”Π°Π½Π½Ρ‹Π΅ манипуляции Π½Π΅Β Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ софта. Однако ΠΈΡ…Β Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ слоТных Π·Π°Π΄Π°Ρ‡. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ слуТит Ρ€Π΅ΠΌΠΎΠ½Ρ‚ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория. ИмСнно благодаря этим ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ собствСнныС прилоТСния Π½Π°Β Π±Π°Π·Π΅ рСпозитория git.

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

Π’Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ располагаСтся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ refs, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠΌΠ΅Π½Π° для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’Β ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Π΅ΡΡ‚ΡŒ 2 Ρ‚ΠΈΠΏΠ° ссылок: Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈΠ·Β refs ΠΈΒ Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ SHA-1.

Π’Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ 2 разновидности рСпозитория git. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ пустым ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ .git посрСдством дСйствия git init. МоТно ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСпустой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ с копированиСм Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ рСпозитория ΠΈΒ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ссылки посрСдством ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ git clone. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ стандартныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²Β Ρ‚ΠΎΠΌ числС commit и слияниС.

Π£Π΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ ΡΒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Π½ΠΈΠ· Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ pull ΠΈΠ»ΠΈ Π²Π²Π΅Ρ€Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ push. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π½Π΅Β Π½ΡƒΠΆΠ½ΠΎ соСдинСниС с интСрнСтом. Π’Β Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв манипуляции в систСмС управлСния вСрсиями ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ на локальном ΡƒΡ€ΠΎΠ²Π½Π΅.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ прСобразуСтся Π²Β Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· git init <ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³>. Для копирования Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ git clone.

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

Под Commit ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация, в качСствС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π’Π΅Ρ‚ΠΊΠΈ

Π’Π΅Ρ‚Π²ΡŒΡŽ называСтся имСнованная ссылка, пСрСходящая Π½Π°Β commit. Если ΠΊΠΎΠΌΠΌΠΈΡ‚ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π±Π΅Π· branch, ΠΎΠ½Β ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°Π΅Ρ‚ ссылку на сСбя. Commit branch сохраняСт ΡΡ‚Π°Ρ€ΡƒΡŽ ссылку ΠΈΒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ нСзависимыС Π²Π΅Ρ‚ΠΊΠΈ Π²Β ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Β ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π΅ большоС число сотрудников ΠΈΒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ².

Π“Π»Π°Π²Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ Π²Π΅Ρ‚ΠΊΠΈ являСтся ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Один ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. В процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ с главной ΠΈΠ»ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ доступ ΠΊΒ branch, СС пСрСносят Π½Π°Β ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. ΠŸΠ΅Ρ€Π΅Π΄ созданиСм Π½ΠΎΠ²Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ git pull. ВсСгда Π΅ΡΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ программист ΠΌΠΎΠ³ ΡΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹. Π’Π°ΠΊΠΈΠ΅ ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π°Β Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ ΠΈΒ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΏΡ€ΠΈ merge. Π•ΡΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ merge commit. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок git, рСкомСндуСтся Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ схСмами:

Врадиционная схСма

Для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ вопроса программист ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ от послСднСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ commit. В процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ выполнСния ряда ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². ПослС этого спСциалист занимаСтся тСстированиСм ΠΊΠΎΠ΄Π° Π²Β Π²Π΅Ρ‚ΠΊΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ. ПослС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ вопроса сотрудник добавляСт merge в мастСр Π²Π΅Ρ‚ΠΊΡƒ.

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

ИмСнная схСма branch

Если у программиста Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° Π²Β Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, он часто Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΡƒΡŽ схСму Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’Β Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΠ΄Π½Π° Π·Π°Π΄Π°Ρ‡Π° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π·Π°Β Ρ€Π°Π· ΠΈΒ ΠΏΠΎΒ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ создаСтся Π½ΠΎΠ²Ρ‹ΠΉ Pull запрос посрСдством Web интСрфСйса.

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

Dev branch

Π‘Ρ…Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ мастСр и дСвСлопСрской Π²Π΅Ρ‚ΠΎΠΊ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ dev. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΒ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ спСциалисту Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ завСсти Π²Π΅Ρ‚ΠΊΡƒ от послСднСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ состояния в мастСр Π²Π΅Ρ‚ΠΊΠ΅. ΠŸΠΎΒ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ программист ΠΌΠ΅Ρ€ΠΆΠΈΡ‚ Π΅Π΅Β Π½Π°Π΄ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ проходят ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ на тСстовом сСрвСрС. ΠŸΡ€ΠΈ нСобходимости проводится Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°. ПослС тСста branch с задачСй ΠΌΠ΅Ρ€ΠΆΠ°Ρ‚ с мастСр branch.

НСдостатком описанной Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ. Π‘Ρ…Π΅ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ отсутствии Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… тСстов ΠΈΒ Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² на сСрвСрС.

ΠžΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ по нСобходимости.

Π”Π΅Π»ΡŒΡ‚Ρ‹

Π”Π΅Π»ΡŒΡ‚Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ инструмСнты для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° к старым Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌ ΠΊΠΎΠ΄Π°. Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠ΅Π½ΡΡŽΡ‚ Π½Π°Β Π΄Π΅Π»ΡŒΡ‚Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΈΒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ вСрсиями. Π”Π΅Π»ΡŒΡ‚Ρ‹ ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ в большой Ρ„Π°ΠΉΠ» с индСксом для сокращСния Смкости свСдСний ΠΈΒ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹

Команда push Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… из локального рСпозитория Π²Β ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ. Для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ примСнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Β ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π½Π΅Β Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ git ΠΎΡ‚Β Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². Π’Β ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС дСйствиС Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ошибкой.

Команда pull ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Π° push. Pull ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ к слиянию, Ссли Π²Π΅Ρ‚ΠΊΠ° с нСзависимой историСй Π²Β ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ и локальной копиях. БлияниС Π²Β ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ в автоматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π’Β ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ с данными эта опСрация ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ стандартноС Ρ‚Ρ€Π΅Ρ…ΠΏΠ°Π½Π΅Π»ΡŒΠ½ΠΎΠ΅ сравнСниС. ΠŸΠΎΒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ слияния ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ. Π’Β ΠΈΡ‚ΠΎΠ³Π΅ возникшиС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°ΡŽΡ‚ Π½ΠΎΠ²ΠΎΠ΅ состояниС. Π˜ΠΌΒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ git commit.

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ такая функция ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ rebase. Она обСспСчиваСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Π° внСсСнных ΠΏΡ€Π°Π²ΠΎΠΊ. Π‘Β Π΅Π΅Β ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ программист Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ исправлСния Π²Β ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ и пСрСносит ΠΈΡ…Β Π½Π°Β Π΄Ρ€ΡƒΠ³ΠΎΠΉ, нС оставляя ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… commit.

Π”Π°Π½Π½Ρ‹Π΅ манипуляции ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ commit ΠΈΒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Π­Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ индСкс Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Для этой Ρ†Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ add. ПослС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ доступны для рСдактирования. ΠŸΠΎΒ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Π΅Ρ‚Π²ΠΈ ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ΡΡ master git, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всСгда присутствуСт в локальном ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π£Π΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ называСтся git clone. Команда fetch ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° Π·Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ с удалСнного сСрвСра измСнСния ΠΈΒ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ…Β Π²Β Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с этим продвигаСтся Ρ‚Π΅Π³ master ΠΈΠ»ΠΈ origin.

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

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

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅Β Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ описанных трудностСй, спСциалистам Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ дСйствия. ΠšΒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ распрСдСлСниС Π·Π°Π΄Π°Ρ‡ ΠΏΠΎΒ Ρ€Π°Π·Π½Ρ‹ΠΌ сотрудникам. Π­Ρ‚ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ риск Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΡ… ΠΈΒ Ρ‚Π΅Ρ…Β ΠΆΠ΅ вопросов ΠΎΠ΄Π½ΠΈΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠ°ΠΌΠΈ.

Иной Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Β β€” ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠΎΠ΄Π° Π·Π°Π±Π»Π°Π³ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. НС трСбуСтся ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ к смСнС форматирования ΠΈΒ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ строки.

ЦСль изучСния git

Π“ΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ, в числС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…:

  • РСализация Π²Β Windows.
  • Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ.
  • ИспользованиС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², SSH, HTTP ΠΈΒ HTTPS.
  • Π’Ρ‹Π±ΠΎΡ€ графичСских интСрфСйсов и хостингов.
  • Π›Π΅Π³ΠΊΠΎΠ΅ взаимодСйствиС с иными Π½Π°Π΄Π·ΠΎΡ€Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ (Subversion, CVS).
  • БСсплатноС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.

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

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ софта Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π½Π°Β Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, сокращая и упрощая Ρ€Π°Π±ΠΎΡ‚Ρƒ рядового пСрсонала ΠΈΒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ².

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ GIT для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Один ΠΈΠ· инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π² «Π°Ρ€ΡΠ΅Π½Π°Π»Π΅» любого Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° — это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Git.

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

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Git — это просто ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая устанавливаСтся Π½Π° ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅ Π½Π° свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€:

https://git-scm.com/download

Π•ΡΡ‚ΡŒ вСрсии для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ваш Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈ устанавливайтС git ΠΊ сСбС Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.

Π—Π΄Π΅ΡΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Git — это консольная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π£ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ графичСской ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ курсором ΠΌΡ‹ΡˆΠΈ, ΠΏΠΎΠΊΠ»ΠΈΠΊΠ°Ρ‚ΡŒ ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ ΠΈ.Ρ‚.Π΄. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ консоль (Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π») вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π­Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Для Ρ‡Π΅Π³ΠΎ ΠΆΠ΅ Π½ΡƒΠΆΠ΅Π½ Git?

Git — это Ρ‚Π°ΠΊ называСмая систСма контроля вСрсий. Π­Ρ‚ΠΎ такая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° измСнСниями Π² любой ΠΏΠ°ΠΏΠΊΠ΅ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.Β 

НапримСр, ΠΌΡ‹ создали Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΠ°ΠΏΠΊΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ внСсли Ρ‚ΡƒΠ΄Π° ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΊΠΈ. ΠœΡ‹ Π΅Π³ΠΎ сохранили ΠΈ Π²Ρ‹ΡˆΠ»ΠΈ. Git зафиксировал эти измСнСния ΠΈ состояниС ΠΏΠ°ΠΏΠΊΠΈ ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.Β 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ добавляСм Π² этот тСкстовый Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ тСкст. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ состояниС этой ΠΏΠ°ΠΏΠΊΠΈ. Git это Ρ‚ΠΎΠΆΠ΅ зафиксировал.Β 

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±ΡƒΠ΄Ρƒ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π² этой ΠΏΠ°ΠΏΠΊΠ΅, git всС это ΠΌΠΎΠΆΠ΅Ρ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ, ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.Β 

Бмысл Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ измСнСниям, Ссли Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±Ρ‹Π»ΠΎ сдСлано Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ этим Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ измСнСниям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ основноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Git.

Git — это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π•ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹, ΠΊΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Π΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ тСксты, Π² ΠΎΠ±Ρ‰Π΅ΠΌ, всСм, ΠΊΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ состояниС Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΠ°ΠΏΠΊΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ программисты, Ρ‚. ΠΊ. Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с консолью ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠΌ.

Π Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°ΠΏΠΊΠΈ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС измСнСния Git ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π».Β Β  Β Β Π’ git Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠ°ΠΊ эти всС измСнСния Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.Β 

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ создали ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ„Π°ΠΉΠ», внСсли Π² Π½Π΅Π³ΠΎ измСнСния ΠΈ git сохраняСт Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ вСсь Ρ„Π°ΠΉΠ», Π° сохраняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ сдСлали, Ρ‚.Π΅. Ρ€Π°Π·Π½ΠΈΡ†Ρƒ.Β 

Если Π²Ρ‹ создали ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ тСкстовый Ρ„Π°ΠΉΠ», Π° ΠΏΠΎΡ‚ΠΎΠΌ внСсли Π² Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π² Git Π±ΡƒΠ΄Π΅Ρ‚ сохранСн Π½Π΅ вСсь тСкстовый Ρ„Π°ΠΉΠ», Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΡ‚ кусок тСкста, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ вносили ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.Β 

Π’Π΅Ρ‚ΠΊΠΈ — это ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Git. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС полоТСния Π΄Π΅Π» Π² нашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π½ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Π°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту Π²Π΅Ρ‚ΠΊΡƒ.

НапримСр, ΠΌΡ‹ создаСм сайт ΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. НапримСр, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠΊΠ° ΠΌΡ‹ всС это Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ, Π½Π° сайтС ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ошибки ΠΈ.Ρ‚.Π΄. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΌ.Β 

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС измСнСния ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ ΠΈ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ»ΠΈΡ‚ΡŒ эти измСнСния с основной вСрсиСй сайта ΠΈ всС Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π’Π΅Ρ‚ΠΊΠΈ — это просто Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² ΠΏΠ°ΠΏΠΊΠ΅. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²Π΅Ρ‚ΠΊΠΈ Π½ΡƒΠΆΠ½Ρ‹ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Git — это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌΠΈ сСрвСрами ΠΈΠ»ΠΈ рСпозиториями. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ — это Π½Π΅ΠΊΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ наши Ρ„Π°ΠΉΠ»Ρ‹.Β 

Π£ нас Π΅ΡΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ (сСрвСр), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΈ Π½Π° Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ нСкая ΠΏΠ°ΠΏΠΊΠ° ΠΈ Π² Π½Π΅ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ„Π°ΠΉΠ»Ρ‹ нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ этой ΠΏΠ°ΠΏΠΊΠ΅ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ настроСн Git.

Π§Ρ‚ΠΎ ΠΆΠ΅ это Π½Π°ΠΌ Π΄Π°Π΅Ρ‚?

Π“Π»Π°Π²Π½ΠΎΠ΅ прСимущСство Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π½Π΅ привязаны ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ мСсту ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этим ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ с любого ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Β 

Π’Ρ‹ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π½Π° домашнСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π·Π°ΠΊΠ°Ρ‡Π°Π»ΠΈ эти измСнСния Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ, скачали эту Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‚Π°ΠΌ ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’Π°ΠΊΠΆΠ΅ это Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… людСй. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своС, Π·Π° Ρ‡Ρ‚ΠΎ ΠΎΠ½ отвСтствСнСн.Β 

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Git — это соврСмСнный инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ вСрсиям этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Π½ΠΈΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git? ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий для совмСстного программирования

БистСма управлСния вСрсиями Git, разработанная для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ядра Linux, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с GitHub ΠΈΠ»ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ.

Π‘ΠΎΠ°Π²Ρ‚ΠΎΡ€, Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠΈΡ€ |

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

Git Ρ‚Π°ΠΊΠΆΠ΅ являСтся стандартом управлСния вСрсиями для GitHub ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈ ΠΎΠ½ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² devops для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ CI/CD. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… своими прилоТСниями Π² Kubernetes ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, GitOps ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹ΠΌΠΈ кластСрами ΠΈ прилоТСниями.

ЯвляСтся Π»ΠΈ Git языком программирования?

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ это называСтся Git?

Имя Git тСсно связано с Π΅Π³ΠΎ историСй. Git Π±Ρ‹Π» создан ΠΊΠ΅ΠΌ-Ρ‚ΠΎ, Ρ‡ΡŒΠ΅ имя Π²Ρ‹ ΠΏΠΎΡ‡Ρ‚ΠΈ навСрняка Π·Π½Π°Π΅Ρ‚Π΅: Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ, создатСлСм Linux. Git Π±Ρ‹Π» создан Π² 2005 Π³ΠΎΠ΄Ρƒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для управлСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ядра Linux. Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ Π±Ρ‹Π» Π½Π΅Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами контроля вСрсий Π² Ρ‚ΠΎ врСмя, Π° BitKeeper, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ядра, Π½Π΅ ΠΈΠΌΠ΅Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π°. (Π‘Π²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ влияния Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠ° Π½Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ такая вСздСсущая программная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, ΠΊΠ°ΠΊ Git, являСтся лишь Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ Π΅Π³ΠΎ притязаниСм Π½Π° ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ. )

Когда Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° пСрвая вСрсия Git, Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ Π΄Π΅Ρ€Π·ΠΊΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» мноТСство объяснСний Π΅Π΅ названия. НаиболСС вСроятноС объяснСниС состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Git β€” это комбинация ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π±ΡƒΠΊΠ², ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΠΈΠ·Π½ΠΎΡΠΈΡ‚ΡŒ ΠΈ которая Π΅Ρ‰Π΅ Π½Π΅ использовалась Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Unix. Π‘Π»ΠΎΠ²ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ β€” Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git для получСния исходного ΠΊΠΎΠ΄Π° с сСрвСра. Π‘Π»ΠΎΠ²ΠΎ git Ρ‚Π°ΠΊΠΆΠ΅ являСтся мягким Ρ€ΡƒΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ Π² британском английском β€” умСстно, Ссли Π²Ρ‹ Π·Π»ΠΈΡ‚Π΅ΡΡŒ Π½Π° ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ», Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΎΡ‚ Β«Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€Β», Ссли Π²Ρ‹ Π±Ρ‹Π»ΠΈ Π² Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌ настроСнии, ΠΈ Β«Ρ‡Π΅Ρ€Ρ‚ΠΎΠ² ΠΈΠ΄ΠΈΠΎΡ‚, ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π³Ρ€ΡƒΠ·ΠΎΠ²ΠΈΠΊ [Π³Ρ€ΡƒΠ±ΠΎΠ΅ слово здСсь]Β», Ссли Π²Ρ‹ Π±Ρ‹Π»ΠΈ Π² ΠΏΠ»ΠΎΡ…ΠΎΠΌ настроСнии.

ΠšΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Git?

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

Git ΠΏΡ€ΠΎΡ‚ΠΈΠ² GitHub

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

Git позволяСт Π²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π² качСствС Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ»ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС, Π½ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ поставщиков услуг, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ коммСрчСскиС услуги хостинга Git. GitHub, основанный Π² 2008 Π³ΠΎΠ΄Ρƒ ΠΈ ΠΊΡƒΠΏΠ»Π΅Π½Π½Ρ‹ΠΉ Microsoft Π² 2018 Π³ΠΎΠ΄Ρƒ, Π½Π° сСгодняшний дСнь являСтся самым извСстным, прСдлагая Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ услуги хостинга, Π½ΠΎ ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ GitHub ΠΈΠ· InfoWorld, Π½ΠΎ сСйчас Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ, хотя GitHub построСн Π²ΠΎΠΊΡ€ΡƒΠ³ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHub для использования Git.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git

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

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

ΠœΡ‹ ΡƒΠΆΠ΅ ΠΊΠΎΡΠ½ΡƒΠ»ΠΈΡΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ рСпозитория . Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ β€” это ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ пространство, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΆΠΈΠ²ΡƒΡ‚ всС части вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Π°ΠΌ, скорСС всСго, понадобится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² совмСстном ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π²Ρ‹, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория. Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π½Π° сСрвСрС ΠΈΠ»ΠΈ Ρƒ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ GitHub, ΠΈ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ свой собствСнный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. (Π§ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΡ‹ обсудим, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ΄Π° Π²ΠΎ всСх этих рСпозиториях.)

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° Π΄Π²Π΅ области. БущСствуСт промСТуточная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ , Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ история ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² . ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π»Π΅ΠΆΠ°Ρ‚ Π² основС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Git, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ обсудим ΠΈΡ… Π΄Π°Π»Π΅Π΅.

Git commit

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

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ созданиС ΠΊΠΎΠΌΠΌΠΈΡ‚Π° β€” это Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ запуск ΠΊΠΎΠ΄Π° Π² производство. ΠšΠΎΠΌΠΌΠΈΡ‚ создаСт Π²Π΅Ρ€ΡΠΈΡŽ вашСго прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Команда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ быстро Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² процСссС привСдСния прилоТСния Π² состояниС готовности ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅.

Git stash

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

Π’Π΅Ρ‚Π²ΡŒ Git ΠΈ слияниС git

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

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ Git ΠΈ слияниС Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ CoolApp вСрсии 1.0 Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ срСдС. Π’Ρ‹ постоянно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ CoolApp 2.0 со всСвозмоТными Π·Π°Π±Π°Π²Π½Ρ‹ΠΌΠΈ Π½ΠΎΠ²Ρ‹ΠΌΠΈ функциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π² Π²ΠΈΠ΄Π΅ сСрии ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² своСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Но ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ CoolApp 1.0 ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΡƒΡŽ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² систСмС бСзопасности ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ исправлСния. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ своСй фиксации CoolApp 1.0, внСсти исправлСния ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ этот ΠΊΠΎΠ΄ Π² производство ΠΊΠ°ΠΊ CoolApp 1.1 β€” ΠΈ всС это Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ добавлСния ΠΊ сСрии ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΊ CoolApp 2.0, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… всС Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ 1.0 Π² качСствС родитСля. Π’Π΅ΠΏΠ΅Ρ€ΡŒ говорят, Ρ‡Ρ‚ΠΎ вСрсии 1.1 ΠΈ 2.0 находятся Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… сСрвСрах.0017 ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΉ вашСй ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ вСрсия 1. 1 находится Π² производствС, Π° вСрсия 2.0 находится Π² стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ 1.1 основной Π²Π΅Ρ‚Π²ΡŒΡŽ .

Когда CoolApp 2.0 Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ бСзопасности вСрсии 1.1. Π­Ρ‚ΠΎΡ‚ процСсс, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ слияниСм Π΄Π²ΡƒΡ… Π²Π΅Ρ‚Π²Π΅ΠΉ, являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΌΠ°Π³ΠΈΠΈ Git. Git пытаСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… Β«Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉΒ», Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ самых послСдних ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ· Π΄Π²ΡƒΡ… Π²Π΅Ρ‚Π²Π΅ΠΉ. Он создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, сравнивая Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠΎΠ² с Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ раздСлСния Π΄Π²ΡƒΡ… Π²Π΅Ρ‚Π²Π΅ΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ объСдиняя всС измСнСния, сдСланныС Π² ΠΎΠ±Π΅ΠΈΡ… вСтвях, Π² Π½ΠΎΠ²ΠΎΠΌ объСдинСнном ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅. Если какая-Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ β€” скаТСм, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° β€” измСнялась Π² ΠΎΠ±Π΅ΠΈΡ… вСтвях ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Git Π·Π°Π΄Π°Π²Π°Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ вопрос ΠΎ Ρ‚ΠΎΠΌ, какая вСрсия ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π½ΠΎΠ²ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ.

Git checkout

МногиС ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ нСсколько Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ, находящихся Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Команда git checkout позволяСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Π­Ρ‚ΠΎΡ‚ процСсс обновляСт Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π΄ΠΎ послСдних вСрсий ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅ΠΉ вас Π²Π΅Ρ‚ΠΊΠΈ; всС ваши Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ зафиксированы Π² этой Π²Π΅Ρ‚ΠΊΠ΅, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΡƒΡŽ.

ИспользованиС Git для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ происходит Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Git, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ Π²Ρ‹ СдинствСнный, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π½ΠΈΠΌ. Но большС всСго Git извСстСн ΠΊΠ°ΠΊ инструмСнт для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Git Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² контСкстС совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Клон Git

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

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

Git pull ΠΈ Git push

ΠœΡ‹ обсудили, ΠΊΠ°ΠΊ Git ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС для Π΄Π²ΡƒΡ… Π²Π΅Ρ‚ΠΎΠΊ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π² основном ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. ΠŸΡ€ΠΎΡ†Π΅ΡΡ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ΄Π½Π° Π²Π΅Ρ‚Π²ΡŒ пСрСмСщаСтся ΠΌΠ΅ΠΆΠ΄Ρƒ машинами, называСтся Π»ΠΈΠ±ΠΎ pull , Π»ΠΈΠ±ΠΎ push , Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½. Если Π²Ρ‹ пСрСноситС Π²Π΅Ρ‚ΠΊΡƒ с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра Π½Π° свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Π²Ρ‹ тянСтС. Если Π²Ρ‹ отправляСтС Π²Π΅Ρ‚ΠΊΡƒ со своСй ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ, Π²Ρ‹ отправляСтС Π΅Π΅.

Git pull request

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

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

Π’ΠΈΠ»ΠΊΠ° Git

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

Π“ΠΈΡ‚ с Windows

Как ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, Git ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ разрабатывался для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ядра Linux ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ Π½Π°Π±ΠΎΡ€Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π•Π³ΠΎ структура ΠΈ синтаксис ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ основаны Π½Π° Unix, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π² Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Linux ΠΈ macOS. ΠŸΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Git Π½Π° Windows Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС ΠΈ зависит ΠΎΡ‚ Git bash, эмулятора ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Bourne для Windows, встроСнного Π² Git для Windows.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с графичСским интСрфСйсом ΠΈ IDE

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Windows ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ графичСский интСрфСйс, поэтому Git для Windows Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ графичСский ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ macOS ΠΈ Linux Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСбя ΠΎΠ±Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ: сущСствуСт мноТСство графичСских интСрфСйсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ графичСскиС интСрфСйсы Ρ‚Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π½Π°Π²ΠΎΡ€ΠΎΡ‚Ρ‹.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Git Π² ваши Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ IDE, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Eclipse ΠΈ Microsoft Visual Studio.

Руководство ΠΏΠΎ Git: ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git ΠΈ GitHub

Π“ΠΎΡ‚ΠΎΠ²Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎΠ± использовании Git ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Git? Для Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ ΠΈ простоС руководство ΠΎΡ‚ Atlassian. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Atlassian Π΄Π΅Π»Π°Π΅Ρ‚ это руководство доступным Π² контСкстС Bitbucket, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠΌ Atlassian для GitHub, Π½ΠΎ это всС ΠΆΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² основы Git.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ GitHub, Ρƒ ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° Π₯Π΅Π»Π»Π΅Ρ€Π° ΠΈΠ· InfoWorld Π΅ΡΡ‚ΡŒ для вас ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ руководство. А Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ тСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Git, Π² частности, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ Β«ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ β€” это ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ снимки, Π° Π½Π΅ сравнСния» Π² Π±Π»ΠΎΠ³Π΅ GitHub.

Бвязанный:

  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния
  • БистСмы контроля вСрсий
  • Π“ΠΈΡ‚Ρ…Π°Π±
  • БрСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
  • Гибкая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°
  • Линукс

Copyright Β© 2022 IDG Communications, Inc.

ΠŸΡ€Π΅ΠΌΠΈΡ InfoWorld Technology of the Year 2023. ΠŸΡ€ΠΈΠ΅ΠΌ заявок ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚!

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git? (ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ GitHub)

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

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΎΡ‚ экспСртов ΠΏΠΎ встроСнным тСхнологиям5 способов изучСния Git ΠΈ управлСния вСрсиями

Β 

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

Git Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для DevOps ΠΈΠ·-Π·Π° Π΅Π³ΠΎ возмоТностСй управлСния вСрсиями ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ² CI/CD.

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

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

Β 

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ основныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git?

БущСствуСт нСсколько основных ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности Git, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ git add, git branch, git checkout, git clean ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

10 ΠžΠ±Ρ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git

  1. git add β€” ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ измСнСния ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ
  2. git branch β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт администрирования Π²Π΅Ρ‚ΠΎΠΊ для создания ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅
  3. git checkout β€” позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π²Π΅Ρ‚ΠΊΠ°ΠΌ, ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ старыС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ старыС вСрсии Ρ„Π°ΠΉΠ»ΠΎΠ²
  4. git clean β€” ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°
  5. git clone β€” ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
  6. git commit β€” фиксируСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² истории ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
  7. git config β€” настраиваСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ установки Git
  8. git fetch β€” Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ связанныС с Π½Π΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ рСпозитория Π±Π΅Π· ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.
  9. git init β€” ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git. ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка.

НСвозмоТно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ JavaScript. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ это Π²ΠΈΠ΄Π΅ΠΎ Π½Π° сайтС www.youtube.com ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ JavaScript, Ссли ΠΎΠ½ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² вашСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

Git ΠΈ GitHub для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… β€” ускорСнный курс. | Π’ΠΈΠ΄Π΅ΠΎ: freeCodeCamp.org

Β 

Π―Π²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ Git ΠΈ GitHub ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅?

GitHub ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Git ΠΈ дСйствуСт ΠΊΠ°ΠΊ ΠΎΠ½Π»Π°ΠΉΠ½-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для хранСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС.

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

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΎΠ½Π»Π°ΠΉΠ½-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ измСнСния ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ располоТСниС, Ρ‡Ρ‚ΠΎ являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Git. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½Π»Π°ΠΉΠ½-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π±ΠΎΠ»Π΅Π΅ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ вСтвями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π΄Π°ΠΆΠ΅ позволяя ΠΈΠΌ быстро ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими вСтвями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ.