git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

ΠŸΡ€ΠΎ Git, Github ΠΈ Gitflow простыми словами

НС самоС ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰Π΅Π΅, Π½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡ…ΠΎΠ΄Ρ‡ΠΈΠ²ΠΎΠ΅ руководство ΠΏΠΎ Git, Github ΠΈ Gitflow – для Ρ‚Π΅Ρ…, ΠΊΠΎΠ³ΠΎ эти слова ΡΠΌΡƒΡ‰Π°ΡŽΡ‚, хотя Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹.

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

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

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

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

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

Git – это распрСдСлСнная систСма контроля вСрсий (version control system – VCS).

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

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

К слову, Git создал Π²ΠΎΡ‚ этот ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΆΠ΅Π½Ρ‚Π΅Π»ΡŒΠΌΠ΅Π½:

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словамиЛинус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ, ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Git ΠΈ Linux, ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ Nvidia

Π‘ Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π½Π΅ΠΌ?

Для Π½Π°Ρ‡Π°Π»Π°, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСн Git.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, всС Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ понадобится, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, это ΠΊΠΎΠΌΠ°Π½Π΄Π° git init Π² Π½ΡƒΠΆΠ½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку, ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Desktop (Π΄Π°, Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹), Π° Ρ‚Π°ΠΌ создайтС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, proglib).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈ выполняСм git init.

ВсС, Ρƒ нас Π΅ΡΡ‚ΡŒ пустой Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим простой README.md Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

git status – простая ΠΊΠΎΠΌΠ°Π½Π΄Π°, которая Π±ΡƒΠ΄Π΅Ρ‚ рСгулярно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Она ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ статусС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² git. Если Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΅Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ proglib, Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» README.md Π½Π΅ отслСТиваСтся git’ом.

Если Π²Ρ‹ΠΏΠΎΠ½ΠΈΡ‚ΡŒ git status Π΅Ρ‰Π΅ Ρ€Π°Π·, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π² систСмС появился Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ.

ΠšΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ измСнСния

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΠΎΠΌΠΌΠΈΠ½Ρ‚ΠΈΡ‚ΡŒ измСнСния Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, просто Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:

РазумССтся, Π² сообщСнии ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Но поТалуйста, сдСлайтС сСбС ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅, ΠΈ ΠΏΠΈΡˆΠΈΡ‚Π΅ Π²Ρ€Π°Π·ΡƒΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ясныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.

ΠŸΡƒΡˆΠΈΠΌ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡƒΡˆΠΈΡ‚ΡŒ измСнСния Π½Π° Github, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Ρƒ вас Π²Π΄Ρ€ΡƒΠ³ Π½Π΅Ρ‚ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°, создайтС Π΅Π³ΠΎ.

НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Start a project ΠΈ Π·Π°Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ имя, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ настройки ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

Π’Π΅Ρ‚ΠΊΠΈ

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

ВнСситС измСнСния Π² ваш README.md, сохранитС ΠΈΡ… ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ измСнСния ΠΈ Π·Π°ΠΌΠ΅Ρ€Π΄ΠΆΠΈΡ‚ΡŒ ΠΈΡ… Π² мастСр:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ насколько просто Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, вас Π½Π΅ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρƒ ΠΌΠ½ΠΎΠ³ΠΈΡ… людСй своСобразный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ.

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

Но Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ популярСн Π² сообщСствС. Π—Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ, популярная ΠΌΠΎΠ΄ΡƒΠ»ΡŒ управлСния Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ Gitflow:

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

Π‘Ρ…Π΅ΠΌΠ° выглядит бСспорядочно, ΠΊΠΎΠ³Π΄Π° видишь Π΅Π΅ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Π΅ΠΌ ΠΏΠΎ порядку. Π£ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ основныС Π²Π΅Ρ‚ΠΊΠΈ: master ΠΈ develop.

Π’ Π²Π΅Ρ‚ΠΊΠ΅ master содСрТится Ρ€ΠΎΠ²Π½ΠΎ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎ ΠΈ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ (Ρ‡ΠΈΡ‚Π°ΠΉ, ΠΏΡ€ΠΎΠ΄Π°ΠΊΡ‚) вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. А вся Ρ€Π°Π±ΠΎΡ‚Π° дСлаСтся Π² Π²Π΅Ρ‚ΠΊΠ΅ develop.

Π’ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° основС develop ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ feature-Π²Π΅Ρ‚ΠΊΠΈ. Π˜Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство.

Π”Π°Π»Π΅Π΅, Ρƒ нас Π΅ΡΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠ° release, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ Ρ€Π΅Π»ΠΈΠ·Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

НаконСц, Π΅ΡΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠ° hotfix, которая слуТит для срочного исправлСния Π±Π°Π³ΠΎΠ², Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡ‚Π΅.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ, происходит Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π² Gitflow:

1. БоздаСтся Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
2. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ инициализируСтся
3. НачинаСтся Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Π²Π΅Ρ‚ΠΊΠ΅ develop
4. Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΡˆΡ‚ΡƒΠΊΡƒ – создаСтся feature-Π²Π΅Ρ‚ΠΊΠ° ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹
5. Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ² Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π° feature-Π²Π΅Ρ‚ΠΊΠ΅, Π²Ρ‹ сливаСтС Π΅Π΅ с develop
6. Если Π²Ρ‹ Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсиСй, Π½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, создаСтся Π²Π΅Ρ‚ΠΊΠ° release, ΠΊΡƒΠ΄Π° пСрСмСщаСтся тСкущая вСрсия. ΠŸΡ€Π°Π²ΠΊΠ° Π±Π°Π³ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° этой ΠΆΠ΅ Π²Π΅Ρ‚ΠΊΠ΅.
7. Когда с Π²Π΅Ρ‚ΠΊΠΎΠΉ release ΠΏΠΎΠΊΠΎΠ½Ρ‡Π΅Π½ΠΎ, врСмя ΡΠ»ΠΈΡ‚ΡŒ Π΅Π΅ Π² master ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с develop
8. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° master-Π²Π΅Ρ‚ΠΊΠ΅

Gitflow ΠΊΠ°ΠΊ инструмСнт

ΠŸΡ€ΠΎΠ΄Π΅Π»Π°Π΅ΠΌ описанноС Π²Ρ‹ΡˆΠ΅ шаг Π·Π° шагом, Π½ΠΎ для Π½Π°Ρ‡Π°Π»Π° ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ gitflow-avh – инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Gitflow. На ΠΌΠ°ΠΊΠ΅ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ homebrew:

gitflow-avh – это коллСкция Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ для git, которая ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ Тизнь ΠΏΡ€ΠΎΡ‰Π΅ (это Π½Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ). К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с feature-Π²Π΅Ρ‚ΠΊΠΎΠΉ, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚, слилась Π»ΠΈ ΠΎΠ½Π° Π² develop ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ Π΅Π΅, Ссли всС ΠΏΡ€ΠΎΡˆΠ»ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ Gitflow ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, дСлая ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€ΡƒΠΊΠ°ΠΌΠΈ, Π½ΠΎ вСдь ΠΏΡ€ΠΎΡ‰Π΅ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ?

Как условиС для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Если Π²Ρ‹ Π½Π΅ Π½Π°Ρ‡Π°Π»ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ с этого мСста, Ρ‚ΠΎ Ρƒ вас ΠΎΠ΄ΠΈΠ½ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git-flow init, ΠΊΠ°ΠΊ для git.

Π”Π°Π»Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ нСсколько вопросов, Π½ΠΎ Ссли ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, эта ΠΊΠΎΠΌΠ°Π½Π΄Π° просто создаст ΠΈ Π½Π°Π·ΠΎΠ²Π΅Ρ‚ Π²Π΅Ρ‚ΠΊΠΈ Π² соотвСтствиС с модСлью Gtiflow.

Когда всС закончится, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π²Π΅Ρ‚ΠΊΠ΅ develop. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, создадим Π½ΠΎΠ²ΡƒΡŽ feature-Π²Π΅Ρ‚ΠΊΡƒ:

Π—Π°Ρ‚Π΅ΠΌ, ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ README.md ΠΈ внСсСм измСнСния. ПослС, сдСлаСм ΠΊΠΎΠΌΠΌΠΈΡ‚:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΌΡ‹ всСм Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹, Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ с этой Π²Π΅Ρ‚ΠΊΠΎΠΉ:

Как ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ Π² консоли, эта ΠΊΠΎΠΌΠ°Π½Π΄Π° сдСлала ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

1. Π‘Π»ΠΈΠ»Π° Π²Π΅Ρ‚ΠΊΠΈ new_docs ΠΈ develop
2. Π£Π΄Π°Π»ΠΈΠ»Π° new_docs
3. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ develop, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ

Допустим, новая Ρ„ΠΈΡ‡Π° нас устраиваСт, ΠΎΠ½Π° оттСстирована ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ исправно. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·.

Для Π½Π°Ρ‡Π°Π»Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ внСсти Π»ΡŽΠ±Ρ‹Π΅ послСдниС ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ исправлСния, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ (ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ) ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Когда Ρ€Π°Π±ΠΎΡ‚Π° Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π°, просто напишСм:

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСсколько сообщСний ΠΈ ΠΌΠ΅Ρ‚ΠΎΠΊ, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° сдСлаСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

1. Π‘ΠΎΠ»ΡŒΠ΅Ρ‚ release ΠΈ master
2. ΠŸΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ release ΠΊΠ°ΠΊ 2.0
3. Π‘ΠΎΠ»ΡŒΠ΅Ρ‚ release ΠΈ develop
4. Π£Π΄Π°Π»ΠΈΡ‚ release
5. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° develop

БовмСстная Ρ€Π°Π±ΠΎΡ‚Π°

Иногда совмСстная Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ классику:

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

На Π³ΠΈΡ‚Ρ…Π°Π±Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ, ΠΊΠΎΠ³ΠΎ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Π² сотрудники Π² настройках Settings-Collaborators. ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ участники ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡƒΡˆΠΈΡ‚ΡŒ Π² ваш Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΠ»ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ€ΠΎΠ²Π½ΠΈ доступа ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ.

Но Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°Π΅Ρ‚Π΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π²Π°ΠΌ Π½Π΅ всСгда ΠΌΠΎΠΆΠ΅Ρ‚ понравится, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² мастСр Π±Π΅Π· вашСго Π²Π΅Π΄ΠΎΠΌΠ°. Для Ρ‚Π°ΠΊΠΈΡ… случаСв Π² github ΡΡƒΡ‰Π΅ΡΡ‚ΡƒΡŽΡ‚ pull-request’ы ΠΈ code review.

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ это ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ фикс Π½Π° featire-Π²Π΅Ρ‚ΠΊΠ΅, Π΄Π΅Π»Π°Π΅Ρ‚Π΅ pull request, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· ΡΡ‚Π°Ρ€ΡˆΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ смотрит ваш ΠΊΠΎΠ΄ (Ρ‡ΠΈΡ‚Π°ΠΉ, Π΄Π΅Π»Π°Π΅Ρ‚ code review), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ замСчания ΠΈ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ добавляСт ваш ΠΊΠΎΠ΄ Π² мастСр-Π²Π΅Ρ‚ΠΊΡƒ (ΠΈΠ»ΠΈ ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ Π΅Ρ‰Π΅).

Выглядит Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ, НО

На Π΄Π΅Π»Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΠ΄ Ρ€Π΅Π²ΡŒΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌ. Π‘ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ, ΠΎΡ‚

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

И ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΊ относится ΠΊ code review? ΠšΠΎΠ½Ρ‡Π΅Π½ΠΎ, это ΠΎΡ‡Π΅Π½ΡŒ ваТная ΡˆΡ‚ΡƒΠΊΠ° ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π²ΡŒΡŽ всСх ΠΏΡƒΠ» рСквСстов, Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’ долгосрочной пСрспСктивС это окупится. И, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π»Π΅Π³ΠΊΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Β«just do itΒ», Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях слоТившиСся Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ своС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Π΅Ρ‰Π°ΠΌ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡƒΡŽ feature-Π²Π΅Ρ‚ΠΊΡƒ:

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ процСсс измСнСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ создания ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ сдСлаСм ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ новСнькоС:

Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΡƒΠ»-рСквСст. Если Π·Π°ΠΉΡ‚ΠΈ Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±, ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Compare & pull request:

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ ΠΏΡƒΠ»-рСквСсту.

На этом ΠΌΠΎΠΌΠ΅Π½Ρ‚Π΅, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ваш ΠΊΠΎΠ΄. Π’Ρ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°Ρ‚ΡŒ ΠΎΠ± этом Π·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠΌΡƒ слСдуСт Ρ‡Π΅Ρ€Π΅Π· инструмСнт управлСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ваша ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ (JIRA, Trello, Leankit, Kanbanflow, etc) Π΄ΠΎΠ±Π°Π²ΠΈΠ² таск/ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ.

Когда ΠΏΡƒΠ»-рСквСст Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½, Π²Ρ‹ ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΡ€, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Github Π·Π°ΠΊΡ€Ρ‹Π» ΠΏΡƒΠ»-рСквСст ΠΈ ΡƒΠ΄Π°Π»ΠΈΠ» Π²Π΅Ρ‚ΠΊΡƒ.

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

И ΠΊΠ°ΠΊ Π±Ρ‹ Ρ‚ΠΎ Π½ΠΈ Π±Ρ‹Π»ΠΎ, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡƒΠ» рСквСсты, Ссли Π²Π°ΠΌ каТСтся, Ρ‡Ρ‚ΠΎ ваш ΠΊΠΎΠ΄ нСдостаточно Ρ…ΠΎΡ€ΠΎΡˆ: идСального ΠΊΠΎΠ΄Π° Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚.

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

Git Π·Π° полчаса: руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

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

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

ΠžΡΠ½ΠΎΠ²Ρ‹

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

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

Установка

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ git Π½Π° свою ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΎΡ‡Π΅Π½ΡŒ просто:

Если Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ с графичСским интСрфСйсом(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ GitHub Desktop ΠΈ Sourcetree) Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π½ΠΎ, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ.

Настройка

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ установили git, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ настроСк. Π•ΡΡ‚ΡŒ довольно ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ†ΠΈΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ, Π½ΠΎ ΠΌΡ‹ настроим самыС Π²Π°ΠΆΠ½Ρ‹Π΅: нашС имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ нашС дСйствиС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ΠΎ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ всСгда Π±ΡƒΠ΄ΡƒΡ‚ Π² курсС, ΠΊΡ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΊΠ°ΠΊΠΈΠ΅ измСнСния β€” это вносит порядок.

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

Командная строка Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ наш Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±Ρ‹Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создан, Π½ΠΎ ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ пуст. Π’Π΅ΠΏΠ΅Ρ€ΡŒ создайтС тСкстовый Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ hello.txt ΠΈ сохранитС Π΅Π³ΠΎ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ git_exercise.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ состояния

status β€” это Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° ваТнСйшая ΠΊΠΎΠΌΠ°Π½Π΄Π°, которая ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ состоянии рСпозитория: Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π° Π»ΠΈ информация Π½Π° Π½Ρ‘ΠΌ, Π½Π΅Ρ‚ Π»ΠΈ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ помСнялось, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Запуск git status Π½Π° нашСм свСТСсозданном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π΄Π°Ρ‚ΡŒ:

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» hello.txt нСотслСТиваСмый. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π½ΠΎΠ²Ρ‹ΠΉ ΠΈ систСма Π΅Ρ‰Π΅ Π½Π΅ Π·Π½Π°Π΅Ρ‚, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° измСнСниями Π² Ρ„Π°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ просто ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π½ΡƒΠΆΠ½ΠΎ Π΅Π³ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²

Π’ git Π΅ΡΡ‚ΡŒ концСпция области ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². МоТно ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅ ΠΊΠ°ΠΊ холст, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ наносят измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅. Π‘ΠΏΠ΅Ρ€Π²Π° ΠΎΠ½ пустой, Π½ΠΎ Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ добавляСм Π½Π° Π½Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ (ΠΈΠ»ΠΈ части Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ строчки) ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ add ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ всС Π½ΡƒΠΆΠ½ΠΎΠ΅ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (создаСм слСпок Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Π½Π°ΠΌ состояния) ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ commit.
Π’ нашСм случаС Ρƒ нас Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ», Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π³ΠΎ:

Если Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ находится Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ статус снова, Π½Π° этот Ρ€Π°Π· ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΡ‚Π²Π΅Ρ‚:

Π€Π°ΠΉΠ» Π³ΠΎΡ‚ΠΎΠ² ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ состоянии Ρ‚Π°ΠΊΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π½Π°ΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„Π°ΠΉΠ»Π° Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Ρ‹ Π² области ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ β€” Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π½ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹.

ΠšΠΎΠΌΠΌΠΈΡ‚(фиксация ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ)

ΠšΠΎΠΌΠΌΠΈΡ‚ прСдставляСт собой состояниС рСпозитория Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΡΠ½Π°ΠΏΡˆΠΎΡ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² области ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ (ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ создали Π΅Π³ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ git add), послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ:

Π£Π΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

1. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, сначала Π½ΡƒΠΆΠ½ΠΎ ΠΊ Π½Π΅ΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ. Π’ нашСм руководствС ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ адрСс https://github.com/tutorialzine/awesome-project, Π½ΠΎ Π²Π°ΠΌ посовСтуСм ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² GitHub, BitBucket ΠΈΠ»ΠΈ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ сСрвисС. РСгистрация ΠΈ установка ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ врСмя, Π½ΠΎ всС ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ сСрвисы ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.
Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ наш Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π½Π° GitHub, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ URI рСпозитория Π½Π° свой.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ, ΠΌΡ‹ Π΄Π°Π΄ΠΈΠΌ ΠΈΠΌ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ называСтся origin.

2. ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° сСрвСр

Π’ зависимости ΠΎΡ‚ сСрвиса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ измСнСния ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈΡΡŒ. Если всС сдСлано ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ посмотритС Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» hello.txt

3. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория

БСйчас Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ GitHub ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ваш Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Они ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ· Π½Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΡƒΡŽ копию вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ clone.

Новый Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ создаСтся автоматичСски с GitHub Π² качСствС ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория.

4. Запрос ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с сСрвСра

Если Π²Ρ‹ сдСлали измСнСния Π² вашСм ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ измСнСния ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pull.

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² с Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΊΠ°ΠΊ ΠΌΡ‹ склонировали сСбС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½Π΅ Π±Ρ‹Π»ΠΎ, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ доступных для скачивания Π½Π΅Ρ‚.

Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅

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

1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ

Основная Π²Π΅Ρ‚ΠΊΠ° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ называСтся master. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ branch

Π­Ρ‚ΠΎ создаст Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ копию Π²Π΅Ρ‚ΠΊΠΈ master.

2. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ

БСйчас, Ссли ΠΌΡ‹ запустим branch, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π΄Π²Π΅ доступныС ΠΎΠΏΡ†ΠΈΠΈ:

master β€” это активная Π²Π΅Ρ‚ΠΊΠ°, ΠΎΠ½Π° ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΎΠΉ. Но ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с нашСй β€œΠ½ΠΎΠ²ΠΎΠΉ ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π΅ΠΉ фичСй”, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ понадобится ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Для этого Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ checkout, ΠΎΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” имя Π²Π΅Ρ‚ΠΊΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ.

3. БлияниС Π²Π΅Ρ‚ΠΎΠΊ

Наша β€œΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π°Ρ новая фича” Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ тСкстовым Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ feature.txt. ΠœΡ‹ создадим Π΅Π³ΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ:

ИзмСнСния Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ master.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅, ΠΌΡ‹ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Ρ„Π°ΠΉΠ»Π° feature.txt, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ master, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π½Π΅ сущСствуСт. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ появился, Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ merge для объСдинСния Π²Π΅Ρ‚ΠΎΠΊ (примСнСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ amazing_new_feature ΠΊ основной вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π΅Ρ‚ΠΊΠ° master Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°. Π’Π΅Ρ‚ΠΊΠ° amazing_new_feature большС Π½Π΅ Π½ΡƒΠΆΠ½Π°, ΠΈ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ

Π’ послСднСй части этого руководства ΠΌΡ‹ расскаТСм ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€ΡŽΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

1. ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, сдСланных Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ…

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π΅ΡΡ‚ΡŒ свой ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² Π²ΠΈΠ΄Π΅ строки Ρ†ΠΈΡ„Ρ€ ΠΈ Π±ΡƒΠΊΠ². Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список всСх ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ ΠΈΡ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ log:
[spoiler title=’Π’Ρ‹Π²ΠΎΠ΄ git log’]

[/spoiler]
Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ довольно Π΄Π»ΠΈΠ½Π½Ρ‹Π΅, Π½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ β€” ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… символов Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΏΠΎΠ»Π½Π΅ достаточно. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ появилось Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ show [commit]
[spoiler title=’Π’Ρ‹Π²ΠΎΠ΄ git show’]

[/spoiler]
Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° diff (с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ):
[spoiler title=’Π’Ρ‹Π²ΠΎΠ΄ git diff’]

[/spoiler]
ΠœΡ‹ сравнили ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ с послСдним, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всС измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ сдСланы. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git difftool, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ эта ΠΊΠΎΠΌΠ°Π½Π΄Π° запускаСт графичСский ΠΊΠ»ΠΈΠ΅Π½Ρ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ наглядно сопоставляСт всС измСнСния.

2. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ

3. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

Если Π²Ρ‹ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚Π°Π»ΠΈΡΡŒ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈΠ»ΠΈ Π·Π°Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ это сразу послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ»ΠΈ измСнСния, Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ это ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ commit β€”amend. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ всС ΠΈΠ· послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ попытаСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².
Для Π±ΠΎΠ»Π΅Π΅ слоТных исправлСний, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ Π² послСднСм ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Ссли Π²Ρ‹ успСли ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния Π½Π° сСрвСр, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ revert. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° создаст ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΎΡ‚ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉ измСнСния, ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ.
Π‘Π°ΠΌΡ‹ΠΉ послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ доступСн ΠΏΠΎ алиасу HEAD:

Для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹:

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

4. Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ слиянии

Помимо сцСнария, описанного Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ рСгулярно Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈ слиянии Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ Ρ‡ΡƒΠΆΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Иногда ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ автоматичСски, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ с этим приходится Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ β€” Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ остаСтся, Π° ΠΊΠ°ΠΊΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.
Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, Π³Π΄Π΅ ΠΌΡ‹ попытаСмся ΡΠ»ΠΈΡ‚ΡŒ Π΄Π²Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ john_branch ΠΈ tim_branch. И Π’ΠΈΠΌ, ΠΈ Π”ΠΆΠΎΠ½ правят ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ»: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ элСмСнты массива.
Π”ΠΆΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ†ΠΈΠΊΠ»:

Π’ΠΈΠΌ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ forEach:

Они ΠΎΠ±Π° коммитят свой ΠΊΠΎΠ΄ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΎΠ½ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΡΠ»ΠΈΡ‚ΡŒ Π΄Π²Π΅ Π²Π΅Ρ‚ΠΊΠΈ, ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ сообщСниС ΠΎΠ± ошибкС:

БистСма Π½Π΅ смогла Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ автоматичСски, Π·Π½Π°Ρ‡ΠΈΡ‚, это придСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ»ΠΎ строки, содСрТащиС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚:
[spoiler title=’Π’Ρ‹Π²ΠΎΠ΄’]

Когда всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ, Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ измСнСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ процСсс:

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, процСсс довольно ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ слоТным Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ с графичСским интСрфСйсом. (Для запуска Π½ΡƒΠΆΠ½ΠΎ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ git mergetool).

Π’ΠΎΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ:

Π‘ΠΈΠΌΠ²ΠΎΠ» слэша Π² ΠΊΠΎΠ½Ρ†Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ (ΠΈ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ рСкурсивно ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ всС Π΅Π΅ содСрТимоС). Π—Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ°, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ шаблон.

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

Π’ΠΎΡ‚ ΠΈ всС! НашС руководство ΠΎΠΊΠΎΠ½Ρ‡Π΅Π½ΠΎ. ΠœΡ‹ ΠΎΡ‡Π΅Π½ΡŒ ΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всю ΡΠ°ΠΌΡƒΡŽ Π²Π°ΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ ΠΈΠ·Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΅Π΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ сТато ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎ.
Git довольно слоТСн, ΠΈ Π² Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Ρ‚Ρ€ΡŽΠΊΠΎΠ². Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ с Π½ΠΈΠΌΠΈ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ, Π²ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ рСсурсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ:

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

Π Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽ ΠΏΡ€ΠΎ Git – ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½Π΅ΠΉΡˆΡƒΡŽ систСму контроля вСрсий для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

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

Git – это Ρ‚Ρ€ΠΈ сСрвиса Π² ΠΎΠ΄Π½ΠΎΠΌ. Π¦Π΅Π»Ρ‹ΠΉ комплСкс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сфСрах Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для отслСТивания ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

Π§Π°Ρ‰Π΅ всСго Git ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ сайтов, Π½ΠΎ ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… сфСрах, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°Ρ… ΠΊΠ½ΠΈΠ³.

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

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

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

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

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

Π’ΠΎ Π΅ΡΡ‚ΡŒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ссли Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· всС ΠΏΠΎΠ»ΠΎΠΌΠ°Π». Или ΠΊΠΎΠ³Π΄Π° срочно Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ выглядСл ΠΊΠΎΠ΄ Π΄ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°.

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

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

Π’Π°ΠΊΠΆΠ΅ Git позволяСт вСсти ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΊΠΎΠ³Π΄Π° нСсколько программистов ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ вносят измСнСния Π² ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ сайт, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ ΠΈ спокойно Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Π½Π΅ вызывая сбоСв Π² Ρ€Π°Π±ΠΎΡ‚Π΅ сСрвиса/сайта/прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, Π³Π΄Π΅ Π»Π΅ΠΆΠ°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°. НапримСр:

основноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ со всСми Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ функциями,

Π΅Π³ΠΎ вСрсия с Π½ΠΎΠ²Ρ‹ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ,

новая вСрсия с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ возмоТностями.

И ΠΏΠΎΠΊΠ° основноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ остаСтся Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΌ, Π΄Π²Π΅ Π΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ станут Ρ‡Π°ΡΡ‚ΡŒΡŽ основы. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, этот аспСкт Git ΠΌΡ‹ Π΅Ρ‰Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ Git?

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

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

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ строСнии Git

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

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Ρ€Π΅ΠΏΠΎ, Ρ€Π΅ΠΏ) – это Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ΠΎ Π΅ΡΡ‚ΡŒ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, относящиСся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ (ΠΊΠΎΠ΄, изобраТСния, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, стили, скрипты ΠΈ Ρ‚.ΠΏ.). Π‘ Π½ΠΈΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ люди, Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ.

ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹, ΠΏΡƒΡˆΠΈ ΠΈ стСйдТинг

ΠšΠΎΠΌΠΌΠΈΡ‚ – это Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, хранящая Π² сСбС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ рСпозитория Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π‘Ρ‚Π΅ΠΉΠ΄ΠΆΠΈΠ½Π³-Π·ΠΎΠ½Π° – это Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ пристанищС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΡΡΡŒ Π² стСйдТинг-Π·ΠΎΠ½Ρƒ (git add), ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Β«Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅Β», Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΈΠ· Π½ΠΈΡ… всС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ нСпосрСдствСнно ΠΈΡ… Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ. Π€Π°ΠΉΠ»Ρ‹ хранятся Π² стСйдТинг-Π·ΠΎΠ½Π΅ (git add) Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ сдСлаСт ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈ Π½Π΅ Π·Π°ΠΏΡƒΡˆΠΈΡ‚ (git push) измСнСния Π½Π° сСрвСр, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ с локального рСпозитория Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ.

Π£Π΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ (GitHub, GitLab ΠΈ Ρ‚.ΠΏ.)

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

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π² локальном Ρ€Π΅ΠΏΠΎ, Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ push ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² GitHub. А ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pull ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ ΠΈΡ… Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ ΡΠ°ΠΌΡƒΡŽ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° для дальнСйшСй Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π’Π΅Ρ‚Π²ΠΈ ΠΈ ΠΌΠ΅Ρ€Π΄ΠΆΠΈΠ½Π³

Π”Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… строится ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

Π’Π΅Ρ‚Π²ΠΈ (branches) – это Ρ€Π°Π·Π½Ρ‹Π΅ состояния ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НапримСр, Π΅ΡΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠ° master (ΠΈΠ½ΠΎΠ³Π΄Π° Π΅Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ main) – Π² Π½Π΅ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранится ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ, Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ ΠΊ дСплою (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² App Store ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π½Π° сСрвСр). Π•ΡΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠ° develop, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ программисты корпят Π½Π°Π΄ нововвСдСниями. Π’Π΅Ρ‚ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство, Ρ…ΠΎΡ‚ΡŒ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π° Π±ΡƒΠ΄ΡƒΡ‚ протСстированы. А Π΅Ρ‰Π΅ это ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Π½ΠΎΡΠΈΡ‚ΡŒ срочныС измСнСния Π² main-Π²Π΅Ρ‚ΠΊΡƒ, Π½Π΅ добавляя ΠΏΡ€ΠΈ этом Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π΅Π΄ΠΎΠ΄Π΅Π»Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ измСнСния Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅.

ΠœΠ΅Ρ€Π΄ΠΆΠΈΠ½Π³ (merging) – это процСсс объСдинСния ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π§Π°Ρ‰Π΅ всСго – Π²Π΅Ρ‚ΠΊΠΈ develop с Π²Π΅Ρ‚ΠΊΠΎΠΉ main.

ΠŸΡƒΠ»-рСквСсты

Pull Request – это запрос Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΈ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Когда ΠΎΠ΄ΠΈΠ½ ΠΈΠ· программистов Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΎΠ½ отправляСт PR своим ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ. Π’Π΅ проводят Π°ΡƒΠ΄ΠΈΡ‚ ΠΊΠΎΠ΄Π° ΠΈ выносят Π²Π΅Ρ€Π΄ΠΈΠΊΡ‚, публикуСтся этот ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

git Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ простыми словами

ΠŸΡ€ΠΈ этом сам ΠΏΡƒΠ»-рСквСст являСтся Π½Π΅ просто ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΎ готовности куска ΠΊΠΎΠ΄Π° – это цСлая систСма взаимодСйствия ΠΈ обсуТдСния. Один PR ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² дСсятки ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ ΠΏΡ€Π°Π²ΠΎΠΊ ΠΊΠΎΠ΄Π°. ПослС Β«ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈΒ» PR прСвращаСтся Π² ΠΌΠ΅Ρ€Π΄ΠΆ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ стали ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Pull Request Preview, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ процСссу ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ², Π½Π°Ρ‡Π°Π»ΡŒΡΡ‚Π²ΠΎ ΠΈ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠ².

Π‘ Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Git?

Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ git послСднСй вСрсии с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта. Π—Π°Ρ‚Π΅ΠΌ создаСм Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ для рСпозитория ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π½Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cd.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с git. Π’ΠΎΡ‚ список основных ΠΊΠΎΠΌΠ°Π½Π΄:

На этом всС. Вас ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·Π΄Ρ€Π°Π²ΠΈΡ‚ΡŒ – Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с систСмой контроля вСрсий.

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

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

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