Π Π°Π·Π½ΠΎΠ΅

Github ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ: Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ GitHub | Losst

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

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ GitHub | Losst

Github — это ΠΎΡ‡Π΅Π½ΡŒ извСстная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для хранСния, распространСния ΠΈ управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎΡ‚ сСрвис ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ мноТСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ ΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Microsoft, RedHat ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ…, Ρ‚Π°ΠΊΠΆΠ΅ сотни Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΈΡ… популярных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

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

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ GitHub

Π˜Ρ‚Π°ΠΊ, допустим, Ρƒ вас Π΅ΡΡ‚ΡŒ свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π½Π° Github Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ доступС Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚.

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

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π½Π° сайтС ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π³Π»Π°Π²Π½ΡƒΡŽ страницу GitHub ΠΈ Ρ‚ΡƒΡ‚ ΠΆΠ΅ сразу Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти Π΄Π°Π½Π½Ρ‹Π΅ для Π½ΠΎΠ²ΠΎΠΉ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Email ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ:

Когда Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅ Π²Π²ΠΎΠ΄, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Sign Up Free»:

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ рСпозитория. ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ бСсплатны, Π½ΠΎ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ частный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΠ΄ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΌ, Ρ‚ΠΎ придСтся ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ $7 Π² мСсяц.

Аккаунт Π³ΠΎΡ‚ΠΎΠ², ΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° страницу, Π³Π΄Π΅ смоТСтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Но ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π²Ρ‹ смоТСтС это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ свой Email адрСс. Для этого ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ваш ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ящик ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС Π² письмС ΠΎΡ‚ Github.

Β 

Β 

Никакая настройка github Π½Π΅ Π½ΡƒΠΆΠ½Π°, достаточно лишь нСсколько ΠΊΠ»ΠΈΠΊΠΎΠ² ΠΌΡ‹ΡˆΠΊΠΎΠΉ.

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

На ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΉΡΡ страницС, это главная страница для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Start a project»:

Π”Π°Π»ΡŒΡˆΠ΅ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ имя ΠΈ описаниС Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ рСпозитория:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сразу ΠΆΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, создав Ρ„Π°ΠΉΠ» Readme, для этого Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ «Initialize this repository with a README» Π²Π½ΠΈΠ·Ρƒ страницы. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡŽ:

Когда всС Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎ, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Create project», Π±ΡƒΠ΄Π΅Ρ‚ создан Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с Ρ„Π°ΠΉΠ»ΠΎΠΌ README, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится описаниС ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠΌ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ.

Π”Π°Π»ΡŒΡˆΠ΅ всС самоС интСрСсноС как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с github.

3. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΎΠΊ

Π’Π΅Ρ‚ΠΊΠΈ Github ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с нСсколькими вСрсиями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ создании рСпозитория создаСтся Π²Π΅Ρ‚ΠΊΠ° master, это основная рабочая Π²Π΅Ρ‚ΠΊΠ°. МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ Π² Π²Π΅Ρ‚ΠΊΠ΅ master. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ для вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Ρ€Π°Π·Π½Ρ‹Ρ… систСм.

ВСкущая Π²Π΅Ρ‚ΠΊΠ° ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π° Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ послС слова «Branch».Β Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ просто Ρ€Π°Π·Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ этот список ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΅Π΅ имя:

Β 

Β 

Β 

Π‘Π°ΠΉΡ‚ сам ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Create branch».

Π‘Ρ€Π°Π·Ρƒ ΠΆΠ΅ послС создания Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданной Π²Π΅Ρ‚ΠΊΠΎΠΉ.

4. ИзмСнСниС Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹

Π›ΡŽΠ±Ρ‹Π΅ измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Github Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². ΠšΠΎΠΌΠΌΠΈΡ‚ выполняСтся ΠΏΡƒΡ‚Π΅ΠΌ внСсСния самих исправлСний ΠΈ описания этих исправлСний. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Π·Π½Π°Π»ΠΈ Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ мСняли, Π° Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π‘Π»ΠΎΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ пСрСвСсти ΠΊΠ°ΠΊ «Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ». Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ внСсти измСнСния Π² нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡ… Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π”Π°Π²Π°ΠΉΡ‚Π΅ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Ρ„Π°ΠΉΠ» README. Для этого Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π² ΠΏΡ€Π°Π²ΠΎΠΉ сторонС ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ с кисточкой ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Π½Π΅Π΅:

ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти Π½ΡƒΠΆΠ½Ρ‹Π΅ Π²Π°ΠΌ исправлСния:

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ сдСлаСтС всС Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ «Commit» Π²Π½ΠΈΠ·Ρƒ страницы. ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Commit changes»:

Π­Ρ‚ΠΈ измСнСния Π±ΡƒΠ΄ΡƒΡ‚ внСсСны Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ сСйчас Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с testing, Ρ‚ΠΎ ΠΈ измСнСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΡƒΠ΄Π°.

5. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ запросов слияния (Pull Request)

GitHub для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ слоТным ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·-Π·Π° Ρ‚Π°ΠΊΠΈΡ… возмоТностСй, Π½ΠΎ это ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ссли Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Запрос слияния ΠΈΠ»ΠΈ Pull Request — это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, благодаря ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ любой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, создатСля рСпозитория ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ΄ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² основной ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ Π²Π΅Ρ‚ΠΊΡƒ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с запросами слияния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ инструмСнт сравнСния diff, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всС измСнСния, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ. Pull Request ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сразу ΠΆΠ΅ послС создания ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ Pull Request ΠΈΠ· нашСй testing Π²Π΅Ρ‚ΠΊΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Pull Request».

Β 

Β 

Π—Π΄Π΅ΡΡŒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Create Pull Request»:

Π”Π°Π»ΡŒΡˆΠ΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΡΠ»ΠΈΡ‚ΡŒ с основной, Π² нашСм случаС «testing».

Β 

Π’ этом ΠΎΠΊΠ½Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС измСнСния, сСйчас ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° строчка:

Π”Π°Π»ΡŒΡˆΠ΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π·Π΅Π»Π΅Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Create Pull Request» ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ описаниС, ΠΊΠ°ΠΊ ΠΈ для ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

6. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΈ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ запросов Π½Π° слияниС

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Pull Requests ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданный запрос Π½Π° слияниС ΠΈ Π½Π°ΠΌ остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π½Π°ΠΆΠ°Π² «Merge Pull Request»:

Но Ссли этот запрос ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚Π°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ это, для этого просто Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° описаниС запроса ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ΅ ΠΎΠΊΠ½ΠΎ просмотра ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Pull Request:

Β 

Β 

Β 

Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π° Π²Π΅Ρ‚ΠΊΠ° testing ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ бСзопасно ΡƒΠ΄Π°Π»Π΅Π½Π°.

Β 

7. ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…

Π£Π΄ΠΎΠ±Π½ΠΎ Π΅Ρ‰Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС GitHub Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ управлСния ΠΊΠΎΠ΄ΠΎΠΌ, Π½ΠΎ ΠΈ для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ «Issue» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сообщСния ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ΠΈ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ ΠΏΡ€ΠΈ использовании вашСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Issues», ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «New issue»:

Π”Π°Π»ΡŒΡˆΠ΅ Π²Π°ΠΌ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ввСсти Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, тСкст ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ «Create new issue».

8. Π Π΅Π»ΠΈΠ·Ρ‹

ПослСднСС Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сСгодня рассмотрим — это Ρ€Π΅Π»ΠΈΠ·Ρ‹. Когда ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ достиг ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ стадии ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ всС ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ Π½ΠΈΠΊΡ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ сломал Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌ Pull Request Π² Master. Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π³Π»Π°Π²Π½ΡƒΡŽ страницу ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π·Π°Ρ‚Π΅ΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Releases»:

Π”Π°Π»ΡŒΡˆΠ΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Create New Release»:

На этой страницС Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Π² ΠΏΠΎΠ»Π΅ «Tag Version», Π·Π°Ρ‚Π΅ΠΌ имя Ρ€Π΅Π»ΠΈΠ·Π° ΠΈ нСбольшоС описаниС. Если Ρƒ вас Π΅ΡΡ‚ΡŒ скомпилированныС Π°Ρ€Ρ…ΠΈΠ²Ρ‹ с Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ°ΠΌΠΈ Ρ‚ΠΎ ΠΈΡ… Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ сюда. Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ «Create Release»:

ПослС создания Ρ€Π΅Π»ΠΈΠ·Π° Π±ΡƒΠ΄Π΅Ρ‚ создана такая страничка:

Бсылки Π½Π° исходный ΠΊΠΎΠ΄ Π² tar.gz ΠΈ zip Π±ΡƒΠ΄ΡƒΡ‚ созданы автоматичСски, всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π²Π°ΠΌ придСтся Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ GitHub для размСщСния ΠΈ управлСния своим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. Вся систСма Π½Π° английском, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания языка ΠΎΡ‡Π΅Π½ΡŒ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ Π½ΠΎ Π΄Π°ΠΆΠ΅ Π±Π΅Π· Π½ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π° с github Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΉ. НадСюсь, эта информация Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для вас. Если вас интСрСсуСт ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Git ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, смотритС ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ git для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² GitHub: ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ?

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! НСсмотря Π½Π° Ρ‚Π°ΠΊΠΎΠΉ Π΄ΠΎΠ»Π³ΡƒΡŽ ΠΏΠ°ΡƒΠ·Ρƒ послС послСднСй ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎ VestaCP, Π±ΡƒΠ΄Ρƒ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Π±ΠΎΠ»Π΅Π΅ интСнсивный Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π‘ этого дня Ρ‚Π΅ΠΌΡ‹ Π½ΠΎΠ²Ρ‹Ρ… статСй Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ смСнСны, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ большС статСй, связанных с вёрсткой сайтов. Π― Π½Π΅ Π±Π΅Ρ€Ρƒ Π½Π° сСбя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ вас вёрсткС, Π°, скорСС, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽ Π²Π°ΠΌ миниконспСкт основ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ. НадСюсь, Π²Π°ΠΌ понравится ΠΈ Π²Ρ‹ смоТСтС эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π₯Π²Π°Ρ‚ΠΈΡ‚ прСдисловий, приступим ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅.

ΠŸΡƒΡ‚ΡŒ Ρ†ΠΈΠΊΠ»Π° Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ GitHub. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ инструмСнты Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. НСльзя Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Π·Π΅ΠΌΠ»Π΅Π΄Π΅Π»ΠΈΠΈ, Π½Π΅ упомянув ΠΏΠ»ΡƒΠ³)

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

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

НавСрноС, всС ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ сохраняли 2 вСрсии Ρ„Π°ΠΉΠ»Π° с нСбольшими отличиями ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ? К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π½Π°ΡƒΡ‡ΠΊΠ°-Π²Π΅Ρ€1.txt ΠΈ Π½Π°ΡƒΡ‡ΠΊΠ°-Π²Π΅Ρ€1-ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»_ΠŸΡƒΡˆΠΊΠΈΠ½.txt. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π²Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ своСму Π½Π°ΡƒΡ‡Π½ΠΎΠΌΡƒ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ, ΠΎΠ½ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ», внёс свои измСнСния ΠΈ ΠΎΡ‚Ρ€Π°Π²ΠΈΠ» Π²Π°ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„Π°ΠΉΠ». Π’Π°ΠΊΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ бСсконСчности, плодя мноТСство Ρ„Π°ΠΉΠ»ΠΎΠ², названия ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ставятся всС Π±ΠΎΠ»Π΅Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ странными. А ваша ΠΏΠ°ΠΏΠΊΠ° с вСрсиями с «Π½Π°ΡƒΡ‡ΠΊΠΎΠΉ» становится ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄ΠΈΠΊΠΎΠ΅ ΠΈ слоТноС Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ, ΠΈ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ становится ΠΎΡ‡Π΅Π½ΡŒ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ слоТно.

Π’Π°ΠΊΠΎΠΉ способ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌ*Β Π² ΠΌΠΈΡ€Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, особСнно, Ссли Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ трудится ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. И Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ:

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

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

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

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

ЦСль Ρ‚Π°ΠΊΠΎΠΉ систСмы — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρƒ всСх Π΅Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы контроля вСрсий Π½ΡƒΠΆΠ½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ — Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, своСобразный сСйф для Ρ„Π°ΠΉΠ»ΠΎΠ² вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π°Π½Π°Π»ΠΎΠ³ ΠΏΠ°ΠΏΠΊΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС Π² Π΄Ρ€Π΅Π²Π½Π΅ΠΉ систСмС контроля вСрсий.

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

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

  1. БущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.
  2. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ² (1, 2, 3 ΠΈ Ρ‚.Π΄.).
  3. Π£ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ хранится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкущая вСрсия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  4. ВрСбуСтся ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ.
  5. ΠŸΡ€ΠΎΡΡ‚ΠΎ, Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.
  6. БлоТности Π² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ.

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

На ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ приходится ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².

  1. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ создаСт Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию всСго рСпозитория Π½Π° основС Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ.
  2. НомСра вСрсий слоТныС.
  3. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΡ„Π»Π°ΠΉΠ½.
  4. Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстро ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ.
  5. ВрСбуСтся синхронизация Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β€” ΠΎΠ΄ΠΈΠ½.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ слову Git.

GitΒ β€” это инструмСнт для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ распрСдСлённой систСмы контроля вСрсий.

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

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Β GitHub

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с GitHub Π½Π°ΠΌ потрСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ контроля вСрсий (Π²Β GitHub, это GitHub Desktop) ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-сайт, Ρ‚Π°ΠΊ ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ GitHub

  1. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ вСсь Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ (pull).
  2. Вносим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΊΠΈ, сохраняСм, вносим ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ Ρ‚.Π΄. Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ рСпозитория.
  3. ΠŸΡ€ΠΎΡΠΈΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° внСсти ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.
    ВнСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ называСтся фиксациСй ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Β«ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌΒ» (commit).
  4. ПослС ΠΊΠΎΠΌΠΌΠΈΡ‚Π° вСрсия вашСго локального рСпозитория измСнилась.
  5. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ измСнСния фиксированы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠ»ΠΈΡΡŒ Π½Π° сайтС GitHub, трСбуСтся Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° функция «ΡΠΈΠ½Ρ…ронизация Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²» (push).
  6. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ваш Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, располоТСнный Π² GitHub, Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Вакая стандартная схСма ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ°, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Если Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Ρ‚ΡƒΡ‚ Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ², слияний, Ρ€ΡƒΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ².

БлияниС, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°

Для понимая Π½ΡƒΠΆΠ΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π’Π»Π°Π΄ ΠΈ АртСм сдСлали копию рСпозитория (pull) с Ρ„Π°Π»ΠΎΠΌ вСрсии 1 с GitHub, внСсли Ρ€Π°Π·Π½Ρ‹Π΅ измСнСния Π² этот Ρ„Π°ΠΉΠ», ΠΎΠ±Π° зафиксировали измСнСния (commit) β†’ вСрсии Ρ„Π°Π»Π° Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² измСнились, Ρƒ Π’Π»Π°Π΄Π° вСрсия 2, Ρƒ АртСм 2А. И Π·Π°Ρ‚Π΅ΠΌ Π’Π»Π°Π΄ Π·Π°ΠΏΡƒΡˆΠΈΠ» (синхронизировал Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ- push). Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π° GitHub добавилась вСрсия Ρ„Π°ΠΉΠ»Π° 2. АртСм Ρ‚ΠΎΠΆΠ΅ Ρ€Π΅ΡˆΠΈΠ» Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ свои измСнСния, Ρ‚. ΠΊ. Π½Π° GitHub Π΅ΡΡ‚ΡŒ вСрсия ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ Ρƒ АртСма (Ρƒ Π½Π΅Π³ΠΎ Π½Π΅Ρ‚ вСрсии 2), систСма откаТСтся ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для сохранСния вСрсии 2.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ внСсти свои измСнСния, АртСму Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡΡ‚ΡŒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (pull) с GitHub с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ вСрсиСй этого Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.

На самом Π΄Π΅Π»Π΅ сильно ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π±ΠΎΡΡ‚ΡŒΡΡ Π½Π΅ Π½Π°Π΄ΠΎ, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² большой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΡ… Π½Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ, это становится ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΉ Ρ€ΡƒΡ‚ΠΈΠ½ΠΎΠΉ.

Бпособы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°:

  1. АвтоматичСскоС слияниС. Бравнивая построчно ΠΊΠΎΠ΄ Π’Π»Π°Π΄Π° ΠΈ АртСма, GitHub ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ куски ΠΊΠΎΠ΄Π° Π² Ρ„Π°ΠΉΠ»Π΅, ΠΏΡ€ΠΈ этой получится новая вСрсия Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ Π²Β Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ вСрсии 1, 2, 2А, ΠΈ 3, Π° АртСм Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ всС ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ вСрсии Ρ„Π°ΠΉΠ»Π°.
  2. Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Git ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚, ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ внСсти Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ. БоздаСтся вСрсия 3, ΠΈ АртСм ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ вСрсии Ρ„Π°ΠΉΠ»Π°.

Master / Π½Π΅ master, Fork, PullΒ request

Π’Π΅Ρ‚ΠΊΠΈ β€” это своСобразныС ΠΏΠ°ΠΏΠΊΠΈ со всСми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Π΅Ρ‚ΠΊΠ° Master — это самая главная ΠΏΠ°ΠΏΠΊΠ° вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΠ½Π° всСгда сущСствуСт.Β Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ всякиС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½ΡƒΠΆΠ΄Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ:

Π’ Master Π»Π΅ΠΆΠΈΡ‚ послСдняя ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния; development — Π²Π΅Ρ‚ΠΊΠ° для нСпосрСдствСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ; dev-adaptive — Π²Π΅Ρ‚ΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, связанная с ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Fork? К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π½Π° GitHub Π²Π°ΠΌ понравился ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½ΠΎ Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Π² Π½Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π΅Π΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Π½ΠΎ доступа ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‡ΡƒΠΆΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρƒ вас Π½Π΅Ρ‚. Для этого Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ fokr. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ доступ для рСдактирования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Ρ‹ ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈΡΡŒ с Π±Π°Π³ΠΎΠΌ, Π½ΠΎ ваши Ρ‚Ρ€ΡƒΠ΄Ρƒ ΠΏΡ€ΠΎΠΏΠ°Π΄ΡƒΡ‚ Π΄Π°Ρ€ΠΎΠΌ Ρ‚. ΠΊ. измСнСния Π½Π΅ отобразится Π² master Π²Π΅Ρ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΈ создан PullΒ request.

PullΒ request β€” это ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ внСсти Π² Π³Π»Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ваши измСнСния.

На этом нСбольшоС Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ. НС ΠΌΡƒΡ‡Π°ΠΉΡ‚Π΅ΡΡŒ с Π΄ΠΎΠΏΠΎΡ‚ΠΎΠΏΠ½ΠΎΠΉ систСмой вСрсий, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° GitHub. Бпасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Git для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

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

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

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Команда git

Π£ΠΆΠ΅ ΠΏΠΎ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΅Π΅ основныС ΠΎΠΏΡ†ΠΈΠΈ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Бинтаксис git ΠΎΡ‡Π΅Π½ΡŒ прост:

$ git ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹

Π‘Π½Π°Ρ‡Π°Π»Π° рассмотрим ΠΎΠΏΡ†ΠΈΠΈ, ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ всСй ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹:

  • -C — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ рСпозитория вмСсто Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ;
  • -c ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€=Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ;
  • -p — ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ вСсь Π²Ρ‹Π²ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ less;

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git, ΠΈΡ… Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΈΡ… Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ всС основныС дСйствия:

  • add — Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡƒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git;
  • am — ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС ΠΏΠ°Ρ‚Ρ‡ΠΈ ΠΈΠ· email;
  • archive — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²;
  • bisect — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ поиск для поиска Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°;
  • branch — ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;
  • bundle — ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ссылок Π² Π°Ρ€Ρ…ΠΈΠ²Π΅;
  • checkout — ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ;
  • cherry-pick — внСсти измСнСния Π² ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹;
  • clean — ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;
  • clone — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ копию ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория Π² ΠΏΠ°ΠΏΠΊΡƒ;
  • commit — ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ;
  • diff — ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ измСнСния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ;
  • fetch — ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ;
  • init — ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ;
  • merge — ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π΅ Π²Π΅Ρ‚Π²ΠΈ;
  • pull — ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ;
  • push — ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ;
  • tag — ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π³Π°ΠΌΠΈ;
  • worktree — ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ дСрСвями Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

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

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ git?

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΈΠ΄Ρ‚ΠΈ дальшС ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ использованиС git для управлСния своими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, я Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π» ΡΠΊΠ°Π·Π°Ρ‚ΡŒ нСсколько слов ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ эта тСхнология, Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, основы Ρ€Π°Π±ΠΎΡ‚Ρ‹ git.

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

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

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Git?

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

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, структура ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Git Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° ΠΈ слоТности вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Но для Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, состоящий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ содСрТит ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΎΠ½Π° называСтся master. Наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ test.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

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

mkdir -p ~/git/testing ;Β cd ~/git/testing

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° создаст Π½ΡƒΠΆΠ½ΡƒΡŽ структуру ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданный. Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

touch file

Β 

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ², Π½ΠΎ систСма контроля вСрсий git Π΅Ρ‰Π΅ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΎΠ± этом.

Настройка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² git

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ git Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ пустой Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² нашСй ΠΏΠ°ΠΏΠΊΠ΅:

git init

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ создан, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ свои Ρ„Π°ΠΉΠ»Ρ‹ Π² Π½Π΅Π³ΠΎ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ явно. Пока Π²Ρ‹ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» сам ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ. НовыС Ρ„Π°ΠΉΠ»Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ автоматичСски. Β Π‘Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ:

git add .

Если всС ΠΏΡ€ΠΎΡˆΠ»ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚.

Ѐиксация ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

ИзмСнСния Ρ‚ΠΎΠΆΠ΅ автоматичСски Π½Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ. Ѐиксация ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ commit. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ нСбольшого коммСнтария, Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π² нСсколько ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΡ‚ самой ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈ Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ смоТСтС Π·Π½Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈ Π³Π΄Π΅ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

git commit -m "Initial Commit" -a

КомандС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ — это -m, ваш ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ -a, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ дСйствиС ΠΊΠΎ всСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ. Для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

git commit -m "Changed file" file

Β 

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

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

Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ remote. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅ΠΉ URL:

Β git remote add origin https://github.com/Seriyyy95/testing.git

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²:

git remote -v

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ github сСрвСра, Π½ΠΎ ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π²Π°ΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git push origin master

Команда push ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, origin — наш настроСнный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π° master — Π²Π΅Ρ‚Π²ΡŒ.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСтвями

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

git branch -a

Β 

Β 

ΠžΠΏΡ†ΠΈΡ -a ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ вывСсти всС Π²Π΅Ρ‚Π²ΠΈ, Π΄Π°ΠΆΠ΅ Π½Π΅ синхронизированныС. Π—Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим Π²Π΅Ρ‚Π²ΡŒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ checkout:

git checkout -b develop

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ вСтвями ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

git checkout master
$ git checkout develop

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ»:

touch develop

И Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π³ΠΎ Π² Π½Π°ΡˆΡƒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ develop:

git add develop

Β 

Β 

Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ для внСсСнных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

git commit -m "develop file" develop

Π”Π°Π»ΡŒΡˆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ сущСствуСт Π»ΠΈ этот Ρ„Π°ΠΉΠ» Π² основной Π²Π΅Ρ‚ΠΊΠ΅ master ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ:

gitΒ branch
$ ls

Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ master ΠΈ снова смотрим:

git checkout master
$ git branch
$ ls

Π—Π΄Π΅ΡΡŒ Ρ„Π°ΠΉΠ»Π° Π½Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ. Π’ git Π΅ΡΡ‚ΡŒ такая полСзная Π²Π΅Ρ‰ΡŒ, ΠΊΠ°ΠΊ слияниС. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π΅ Π²Π΅Ρ‚Π²ΠΈ. НапримСр, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ. Для этого достаточно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ merge:

git mergeΒ develop --no-ff

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ слияниС Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ввСсти ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Π·Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ. Π—Π°Ρ‚Π΅ΠΌ Ссли Π²Ρ‹ Π΅Ρ‰Π΅ Ρ€Π°Π· Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ls, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ здСсь ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». Наши ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ git подошли ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

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

15 совСтов ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Github / Π‘Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Mail.ru Group / Π₯Π°Π±Ρ€

Π― 10 Π»Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽ ПО, участвовал Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… open source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈ Π² многочислСнных Π½Π΅-open source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈ ΠΌΠ°Π»Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…, ΠΈ Π²Π΅Π·Π΄Π΅ ΠΌΡ‹ использовали Github Π² качСствС рСпозитория вСрсионирования.

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


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

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

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ open source-инструмСнтов, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² open source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Ρ‚ΠΎ навСрняка Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ свой Github-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Git ΠΈ Github ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ способ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ OSS, Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ, соотвСтствСнно, Π² стандартный язык вСрсионирования ΠΈ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ для сотрудничСства.

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ Github’ом Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс называСтся github flow. Он прСкрасно описан Π½Π° сайтС. Π­Ρ‚ΠΎΠ³ΠΎ процСсса, с нСбольшими вариациями, придСрТиваСтся Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ open source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Github Flow ΠΎΡ‡Π΅Π½ΡŒ Π³ΠΈΠ±ΠΎΠΊ Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ Π΄ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π»ΠΈΠ·ΠΈΡ‚ΡŒ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния, ΠΊΠ°ΠΊΡƒΡŽ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ слияния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ pull request’Ρ‹, ΠΊΠ°ΠΊΠΈΠ΅ инструмСнты ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠΌ стандартам ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ принятиСм pull request’Π°. Всё это ΠΎΡ‚Π΄Π°Π½ΠΎ Π½Π° вашС усмотрСниС, ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ сдСлано, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ сущСствуСт ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, подходящих всСм ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ.

Π”Π°Π»ΡŒΡˆΠ΅ я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ список Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ Π½Π° основС ΠΌΠΎΠ΅Π³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°.

По большСй части (ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ) я ΠΏΠΈΡˆΡƒ Π½Π° JavaScript, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ упомянутыС ΠΌΠ½ΠΎΠΉ инструмСнты ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ JS-экосистСмы, Π½ΠΎ сами ΠΈΠ΄Π΅ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ Π² любом языкС.

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Π·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ отслСТивайтС прогрСсс с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ GithubΒ Projects

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

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Π³ΠΎΠ²

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

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Github-ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для pull request’ΠΎΠ² ΠΈ Π·Π°Π΄Π°Ρ‡

НС ΠΏΠΎΠΆΠ°Π»Π΅ΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° написаниС Guthub-шаблонов для pull request’ΠΎΠ² ΠΈ информирования ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…. Π­Ρ‚ΠΎ заставит Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² β€” ΠΈΠ»ΠΈ хотя Π±Ρ‹ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌ β€” ΡΠ»Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Ρ‹ ΠΎ Π±Π°Π³Π°Ρ… ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ созданиС Ρ„ΠΈΡ‡ Π½Π΅ΠΊΠΈΠΌ стандартным способом, прикладывая всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π²Π°ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ совСты ΠΏΠΎ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π°ΠΌ ΠΎ Π±Π°Π³Π°Ρ…:

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅:

  • Π£Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ послСднСй вСрсиСй.
  • ΠŸΠΎΠΈΡ‰ΠΈΡ‚Π΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΎΠ± этом Π±Π°Π³Π΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡ‚Ρ‡Ρ‘Ρ‚ ΠΎ Π½Ρ‘ΠΌ ΡƒΠΆΠ΅ Π±Ρ‹Π» Ρ€Π°Π½ΡŒΡˆΠ΅.

ΠžΡ‚Ρ‡Ρ‘Ρ‚Ρ‹ ΠΎ Π±Π°Π³Π°Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ:

  • ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС.
  • Как Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с Π±Π°Π³ΠΎΠΌ? Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ.
  • Какого повСдСния Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ ΠΎΡ‚ прилоТСния?
  • Как ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π»ΠΎ сСбя Π½Π° самом Π΄Π΅Π»Π΅?
  • Бсылки Π½Π° всС связанныС с ситуациСй Ρ‚ΠΈΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ источники.
  • По ΠΌΠ΅Ρ€Π΅ возмоТности, ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±Π°Π³Π°. Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ/ΠΈΠ»ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π³ΠΈΡ„Ρ‹.

ΠžΠ±Ρ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ pull request’Π°ΠΌ:

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎ вашСй ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… pull request’ΠΎΠ².
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π² Π±Π°Π³-Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€Π΅, Π½Π΅ Π±Ρ‹Π»ΠΎ Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, связанных с вашим Π±Π°Π³ΠΎΠΌ.
  • ΠΠ΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ измСнСния Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ.
  • Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚Π΅ Π½Π°ΠΌ, Π½Π°Π΄ ΠΊΠ°ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅.
  • Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ тСматичСской Π²Π΅Ρ‚ΠΊΠ΅, Π° Π½Π΅ Π² мастСрС.
  • ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ описаниС ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ pull request’Π°.
  • Π‘ΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.
  • ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ описаниС своСго pull request’Π°.
  • Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Π² описании ссылку Π½Π° Github-Π·Π°Π΄Π°Ρ‡Ρƒ.

ΠŸΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой

Консоль β€” ваш Π΄Ρ€ΡƒΠ³. По ΠΌΠΎΠ΅ΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ, освоСниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Github Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку β€” Π»ΡƒΡ‡ΡˆΠ°Ρ Ρ‚Ρ€Π°Ρ‚Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ с open source-тСхнологиями. Π”Π°, сущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… графичСских интСрфСйсов, Π½ΠΎ всС ΠΎΠ½ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈ Π² использовании. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅ΡΡ‚ΡŒ инструмСнты Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сильно ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Тизнь ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:

  • hub β€” ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° для Git, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰Π°Ρ Ρ€Π°Π±ΠΎΡ‚Ρƒ с GitHub. НС Π²Π°ΠΆΠ½ΠΎ, Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π²Ρ‹ ΠΈΠ»ΠΈ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ open source-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, hub ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΏΠΎ страницам ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ„ΠΎΡ€ΠΊΠ°ΠΌΠΈ ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ pull request’ΠΎΠ². И всё это ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. hub.github.com
  • tj/git-extras β€” Π½Π°Π±ΠΎΡ€ Git-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сводка ΠΏΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, repl, ΠΆΡƒΡ€Π½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, статистика ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΎ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. github.com/tj/git-extras

Π‘ΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ строгиС стандарты ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСний ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹

ВсСгда опрСдСляйтС ΠΈ ΡΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ ясныС стандарты написания ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСний. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ:

  • ΠšΠΎΠΌΠΌΠΈΡ‚ΡŒΡ‚Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ фикс ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.
  • ΠŸΠΈΡˆΠΈΡ‚Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСния.
  • ΠŸΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСниС Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС (50–100 символов). Если посмотритС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния gitk ΠΈΠ»ΠΈ git log –oneline, Ρ‚ΠΎ ΠΏΠΎΠΉΠΌΡ‘Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ.
  • Π‘ΡΡ‹Π»Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° Git-Π·Π°Π΄Π°Ρ‡Ρƒ Π² Ρ‚Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСния.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ гСнСрирования ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ сообщСния ΠΏΠΎ катСгориям (scope). Π’ΠΎΠ³Π΄Π° ваши ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Π΅Π΅. ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: соглашСния ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ… ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² AngularJS.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠΉΡ‚Π΅ стандарты оформлСния ΠΊΠΎΠ΄Π° ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€Π΅ΠΊΠΎΠΌΠΌΠΈΡ‚-Ρ…ΡƒΠΊΠΈ

Для написания ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π² сопровоТдСнии ΠΊΠΎΠ΄Π° ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ стандарты оформлСния ΠΈ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΏΡ€Π΅ΠΊΠΎΠΌΠΌΠΈΡ‚-Ρ…ΡƒΠΊΠ°Ρ… (pre-commits hooks). Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, написанный ΠΊΠ΅ΠΌ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ.

Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Prettier ΠΈ StandardJS, Π½ΠΎ это Π΄Π΅Π»ΠΎ вкуса, сущСствуСт мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ; ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своё. Π“Π»Π°Π²Π½ΠΎΠ΅, слСдуйтС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ стандартам оформлСния ΠΊΠΎΠ΄Π°, это ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Π½Π° ΠΏΠΎΠ»ΡŒΠ·Ρƒ.

typicode/husky β€” прСкрасный инструмСнт для конфигурирования ΠΏΡ€Π΅ΠΊΠΎΠΌΠΌΠΈΡ‚-Ρ…ΡƒΠΊΠΎΠ².

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ тСсты ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ pull request’ΠΎΠ²

ΠžΡ‡Π΅Π½ΡŒ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ тСсты ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ бСзопасности ΠΈ стиля оформлСния ΠΊΠΎΠ΄Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ pull request’Π΅. Вряд Π»ΠΈ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ всё это Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. МоТно быстро ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСрвСр Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ, Π²Ρ€ΠΎΠ΄Π΅ TravisCI, Ρ‡Ρ‚ΠΎΠ±Ρ‹ автоматичСски ΠΏΡ€ΠΎΠ³ΠΎΠ½ΡΡ‚ΡŒ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· тСсты послС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ pull request’Π°. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Github, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π½Π΅ позволял Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ pull request’Ρ‹, Ссли Ρ‚Π΅ Π½Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΈ тСсты. ΠŸΡ€ΠΈ сбоС тСстов Github ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΡ€Ρƒ сообщСниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ исправил свои pull request’Ρ‹.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π—Π°Ρ‰ΠΈΡ‰Π°ΠΉΡ‚Π΅ свою мастСр-Π²Π΅Ρ‚ΠΊΡƒ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Π²ΠΈΠ·ΠΈΡŽ ΠΊΠΎΠ΄Π°

Github позволяСт Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ мастСр-Π²Π΅Ρ‚ΠΊΡƒ ΠΎΡ‚ прямых ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… push’Сй ΠΈ пСрСбазирования. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ с ΠΊΠ΅ΠΌ-Ρ‚ΠΎ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Π²ΠΈΠ·ΠΈΡŽ ΠΊΠΎΠ΄Π°, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π΅Π³ΠΎ с мастСр-Π²Π΅Ρ‚ΠΊΠΎΠΉ. Π­Ρ‚ΠΎ задаётся Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ настроСк ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ рСпозитория.

Π—Π°Ρ‰ΠΈΡ‚ΠΈΠ² мастСр-Π²Π΅Ρ‚ΠΊΡƒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π΅Π²ΠΈΠ·ΠΈΡŽ, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ вряд Π»ΠΈ ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ Π² мастСр ΠΈ Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½Π΅ подставит ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Git-ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ мастСр-Π²Π΅Ρ‚ΠΊΠΈ ΠΈΠ»ΠΈ Π·Π°ΠΏΡƒΡˆΠΈΠ² Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

Π‘ΠΊΠ²ΠΎΡˆΡŒΡ‚Π΅ свои pull request’Ρ‹

Много споров ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ: ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ, ΡΠΊΠ²ΠΎΡˆΠΈΡ‚ΡŒ (squash) ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΡΠΊΠ²ΠΎΡˆΠΈΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ:

  • НС всС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π·Π½Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ pull request ΠΏΠΎΠ²Π΅Ρ€Ρ… мастСр-Π²Π΅Ρ‚ΠΊΠΈ. МногиС просто ΠΌΡ‘Ρ€ΠΆΠ°Ρ‚ мастСр ΠΏΠΎΠ²Π΅Ρ€Ρ… своих ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Бквошинг позволяСт ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ merge-сообщСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ бСсполСзны для Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ формирования ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ просто Π·Π°ΡˆΡƒΠΌΠ»ΡΡŽΡ‚ Git-Π»ΠΎΠ³.
  • НС всС участники ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ рСкомСндациям ΠΏΠΎ внСсСнию ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π° сквошинг позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСниями, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠΌΠΈ Π² мастСр-Π²Π΅Ρ‚ΠΊΡƒ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Ρ‹ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π½Π° основС сквошинга, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ всС pull request’Ρ‹ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Ρ„ΠΈΡ‡Π°ΠΌ, исправлСниям Π±Π°Π³ΠΎΠ² ΠΈΠ»ΠΈ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹ΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ.

БСмантичСскоС вСрсионированиС, Github-Ρ‚Π΅Π³ΠΈ, Ρ€Π΅Π»ΠΈΠ·Ρ‹ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

ВСрсионированиС ΠΈΠ³Ρ€Π°Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ, особСнно Π² open source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ вашСго ПО. БСмантичСскоС вСрсионированиС всСм ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ Тизнь, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ люди, лишь посмотрСв Π½Π° Π½ΠΎΠΌΠ΅Ρ€ вСрсии, Π±ΡƒΠ΄ΡƒΡ‚ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π±Ρ‹Π»ΠΈ внСсСны критичСскиС измСнСния, ΠΈΠ»ΠΈ содСрТит Π»ΠΈ вСрсия Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ ΠΈΠ»ΠΈ исправлСния Π±Π°Π³ΠΎΠ².

Учитывая шаблон MAJOR.MINOR.PATCH, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅:

  • Π‘Ρ‚Π°Ρ€ΡˆΡƒΡŽ (MAJOR) Π²Π΅Ρ€ΡΠΈΡŽ, Ссли вноситС нСсовмСстимыС с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ вСрсиями измСнСния Π² API.
  • ΠœΠ»Π°Π΄ΡˆΡƒΡŽ (MINOR) Π²Π΅Ρ€ΡΠΈΡŽ, Ссли добавляСтС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
  • ΠŸΠ°Ρ‚Ρ‡-Π²Π΅Ρ€ΡΠΈΡŽ (PATCH), Ссли вноситС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ совмСстимыС исправлСния ошибок.

Π’ качСствС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ шаблона MAJOR.MINOR.PATCH ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ для ΠΏΡ€Π΅Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² ΠΈ сборок.

Помимо измСнСния вСрсии package.json, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ git-Ρ‚Π΅Π³.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

БпСцификация Conventional Commits ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ написании ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСний соблюдСниС простого стандартизированного соглашСния. Оно увязано с соглашСниСм SemVer, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ просит Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚-сообщСниях всС Ρ„ΠΈΡ‡ΠΈ, исправлСния ΠΈ критичСскиС измСнСния. Боблюдая соглашСниС, ΠΌΡ‹ создаём стандартный язык, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

ΠΠ²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот процСсс ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ TravisCI.

Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° эти ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹: dominique-mueller/automatic-release, semantic-release/semantic-release.

АвтоматизируйтС Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Π³-Ρ…ΡƒΠΊΠΎΠ²

НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ Ρ€Π΅Π»ΠΈΠ·ΠΎΠ², ΠΊΠ°ΠΊ это прСдлагаСтся Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Git Flow. МоТно Π±Ρ€Π°Ρ‚ΡŒ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ развёртывания ΠΈΠ· Git-Ρ‚Π΅Π³ΠΎΠ². Π—Π΄Π΅ΡΡŒ описано, ΠΊΠ°ΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ TravisCI Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Git-Ρ‚Π΅Π³ΠΈ Π² heroku. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ просто, Π½ΡƒΠΆΠ½ΠΎ лишь для Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Ρ‚Π΅Π³ΠΎΠ² Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ CI-сСрвСра.

Для срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ…ΡƒΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послСдний мастСр-ΠΊΠΎΠΌΠΌΠΈΡ‚. А для срСд ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΠΎΠ² (feature environments) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π΅ Ρ‚Π°ΠΊΠΈΠ΅ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ; ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ PR-запроса Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ срСду, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ слоТнСС, Π΄Π° ΠΈ Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

НастройтС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Github-ΠΊΠ°Π½Π°Π» для Ρ‡Π°Ρ‚Π°

ΠžΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ отслСТивания активности Π² Π²Π°ΡˆΠΈΡ… Github-рСпозиториях ΠΈΠ· мСста, идСально подходящСго для взаимодСйствия с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ: простой ΠΏΠΎΡ‚ΠΎΠΊ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‡Π°Ρ‚Π°Ρ…. К слову, Π² Ρ‡Π°Ρ‚Π°Ρ… Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, Π² 2013-ΠΌ Π½Π° Github появился Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ChatOps, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π½Ρ‘ΠΌ рассказываСтся здСсь.

АвтоматизируйтС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ зависимостСй

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

ΠŸΠ°Ρ€Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… инструмСнтов: greenkeeper.io ΠΈ david-dm.org.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ с интСрфСйсом Github’а

Open source-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ создали ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ с интСрфСйсом Github’а. НапримСр:

  • GitHub Avatars [chrome]β€Šβ€”β€ŠΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π°Π²Π°Ρ‚Π°Ρ€Ρ‹ Π² новостной Π»Π΅Π½Ρ‚Π΅.
  • GitHub Awesome Autocomplete [chrome] [firefox]β€Šβ€”β€ŠΠ΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ поиска Π² поисковый Π±Π»ΠΎΠΊ GitHub.
  • GitHub Categoric [chrome]β€Šβ€”β€ŠΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ваши ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Π΅ GitHub-увСдомлСния.
  • GitHub Hovercard [chrome] [firefox]β€Šβ€”β€ŠΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ GitHub-ΠΏΠ»Π°Π³ΠΈΠ½ hovercard для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ/рСпозитория/Π·Π°Π΄Π°Ρ‡.
  • GitHub Isometric Contributions [chrome] [safari]β€Šβ€”β€ŠΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… людСй Π² Π²ΠΈΠ΄Π΅ изомСтричСского pixel art-Π³Ρ€Π°Ρ„ΠΈΠΊΠ°.
  • GitHub Linker [chrome]β€Šβ€”β€ŠΠ»ΠΈΠ½ΠΊΡƒΠ΅Ρ‚ зависимости Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ ΠΈΠ»ΠΈ bower-Ρ„Π°ΠΉΠ»Π΅ с ΠΈΡ… GitHub-страницами.
  • GitHub Octotree [chrome] [safari] [firefox] [opera]β€Šβ€”β€ŠΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ GitHub-ΠΊΠΎΠ΄ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅Ρ€Π΅Π²Π°.
  • GitHub Selfies [chrome]β€Šβ€”β€ŠΠ΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ‚ сСлфи Π² pull request’Ρ‹ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.
  • GitHub Stars Tagger [chrome]β€Šβ€”β€ŠΠΏΡ€ΡΠΌΠΎ Π² GitHub добавляСт Ρ‚Π΅Π³ΠΈ Π² ваши ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Π·Π²Ρ‘Π·Π΄Π°ΠΌΠΈ (starred) Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.
  • Github NPM Hub [chrome]β€Šβ€”β€ŠΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ npm-зависимости Π² GitHub-рСпозиториях.
  • Github vscode-icons [chrome] β€” ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ vscode-ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ рСпозитория.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ: GitHub Browser Extensions.

На Kikobeats/awesome-Github Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ инструмСнты для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ вашСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса.

ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Π°Ρ ΡƒΡ‡Ρ‘Π±Π° ΠΈ ΡΠ°ΠΌΠΎΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅

Github ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ open source ПО постоянно Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ, поэтому Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ Ρ€ΡƒΠΊΡƒ Π½Π° ΠΏΡƒΠ»ΡŒΡΠ΅ Π½ΠΎΠ²Π΅ΠΉΡˆΠΈΡ… Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΉ ΠΈ инструмСнтов, отслСТивая Github-новости ΠΈ соблюдая стандарты вашСго сообщСства. ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½Ρ‹ΠΉ источник ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ β€” Youtube-ΠΊΠ°Π½Π°Π» GitHub Training & Guides.

11 ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… совСтов ΠΏΠΎ использованию Git / Π₯Π°Π±Ρ€

*»ΡƒΠ±Π»ΡŽΠ΄ΠΎΠΊ» β€” Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ слова «git» β€” «an unpleasant or contemptible person», «Π½Π΅ΠΏΡ€ΠΈΡΡ‚Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π·Ρ€Π΅Π½Π½Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ».

Π’ коммСнтариях ΠΊ ΡΡ‚Π°Ρ‚ΡŒΠ΅ 15 Π±Π°Π·ΠΎΠ²Ρ‹Ρ… совСтов ΠΏΠΎ Git для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΠ»Π°ΡΡŒ дискуссия Π½Π° Ρ‚Π΅ΠΌΡƒ эффСктивности использования Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΎΠΏΡ†ΠΈΠΉ. Надо ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ git прСдоставляСт ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°, Ρ‡Ρ‚ΠΎ Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π·Π° всСм становится Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π²ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ сСбС Тизнь. Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ основными возмоТностями git ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π°, скаТСм, Π²Π²ΠΎΠ΄ΠΈΡ‚ Π² консоль git rebase --merge --autostash.

1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈ графичСский интСрфСйсы git ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ

Начнём с Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π’Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ возмоТностями git? МногиС Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ строго ΠΈΠ· консоли ΠΈΠ»ΠΈ ΠΈΠ· прилоТСния Π²Ρ€ΠΎΠ΄Π΅ SourceTree, ΠΈ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ взгляда ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ эти Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°.

МногиС ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹, Π² частности, Π’Π°Ρˆ Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ vim ΠΌΠΎΠΉ Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ VS Code, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΊΠ°ΠΊ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ доступ ΠΊ консоли, Ρ‚Π°ΠΊ ΠΈ приятный графичСский интСрфСйс для систСм контроля вСрсий, Ρ‡Ρ‚ΠΎ позволяСт Π² Ρ€Π°Π²Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»ΡŽΡΡ‹ ΠΎΠ±ΠΎΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

Удобства графичСского интСрфСйса ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ Π½Π΅Π²ΠΎΠΎΡ€ΡƒΠΆΡ‘Π½Π½Ρ‹ΠΌ взглядом:

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

Удобства использования git ΠΈΠ· консоли Π½Π΅ всСгда ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ графичСским интСрфСйсом.

  • Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, это ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΎΠΏΡ†ΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ git Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ консольная ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π° любой GUI β€” это посрСдник ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌ ΠΈ Π’Π°ΠΌΠΈ.
  • Подсказки ΠΏΠΎ этим «Π²ΡΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈ опциям».

БоотвСтствСнно, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ доступ ΠΈ ΠΊ консоли, ΠΈ ΠΊ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΈΠ· ΠΎΠ±ΠΎΠΈΡ… ΠΌΠΈΡ€ΠΎΠ² Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π’Π°ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ VS Code с установлСнным ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ GitLens Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΠΎΠΉ спСцифичных Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΎΠ².

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

2. ΠšΠΎΠ½Ρ„ΠΈΠ³ΠΈ, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ. РаздСляйтС ΠΈ властвуйтС

Π”Π°, ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Ρ€ΠΈ ΡˆΡ‚ΡƒΠΊΠΈ: систСмный (--system), ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ (--global) ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ (--local). БоотвСтствСнно, ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² порядкС ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ²Π΅Ρ€Ρ€Π°ΠΉΠ΄ΠΈΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ β€” систСмный примСняСтся для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ β€” ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ для Вас, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ β€” для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ рСпозитория. Π›ΠΎΠ²ΠΊΠΎ лавируя ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс ΠΏΠΎΠ΄ условия ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΉ срСды.

(Upd. Как оказалось, Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ², спСцифичный для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠΎΠΏΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ рСпозитория worktree. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ worktree см. Π½ΠΈΠΆΠ΅.)

Когда ΠΊΠ°ΠΊΠΎΠΉ стоит ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ? Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв случаСв Π’Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Ρ‘Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вынСсти Π² Π½Π΅Π³ΠΎ ΠΎΠ±Ρ‰ΠΈΠ΅ для всСх настройки core.eol, алиасы, Π° Ρ‚Π°ΠΊΠΆΠ΅ user.name ΠΈ user.email, пСрСопрСдСляя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ спСцифичСскиС Π²Π΅Ρ‰ΠΈ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ рСпозитория. Однако Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ³Π΄Π° нСсколько Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°ΡŽΡ‚ встраиваСмоС ПО, Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΡ… настроСк ΠΈΠΌΠ΅Π΅Ρ‚ смысл вынСсти Π½Π° систСмный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, пСрСопрСдСляя Π² глобальном (== ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ user.name/email.

Π’Π°ΠΊΠΆΠ΅ Π² ΠΌΠΎΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π±Ρ‹Π» случай, ΠΊΠΎΠ³Π΄Π° Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… рСпозиториях Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ строго Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΠΎΡ‡Ρ‚ΠΎΠΉ, ΠΏΡ€ΠΈ этом Π² своих Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… рСпозиториях я ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π»ΠΈΡ‡Π½ΠΎΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄Π°ΠΆΠ΅ случайно нСльзя Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ‚ΡŒ Π³Π΄Π΅ Ρ‡Ρ‚ΠΎ, я ΡƒΠ΄Π°Π»ΠΈΠ» user.name/email ΠΈΠ· глобального ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· указывая ΠΈΡ… Π·Π°Π½ΠΎΠ²ΠΎ Π² локальном, Π΄Π΅Ρ€ΠΆΠ° процСсс ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ.

3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ вмСсто stash ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π’Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ хотя Π±Ρ‹ Ρ€Π°Π· с ситуациСй, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ срочно ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ с ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ, бросив всё Π² Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Π½ΠΎΠΌ состоянии. ΠžΡ‡Π΅Π½ΡŒ вСроятно, Ρ‡Ρ‚ΠΎ Π’Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎ git stash (ΠΎΡ‚ Π°Π½Π³Π». «Ρ‚Π°ΠΉΠ½ΠΈΠΊ»), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт «ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ» Π’Π°ΡˆΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ измСнСния. Однако Π²ΠΎ врСмя Π΅Π³ΠΎ использования Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ:

  • Если ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ Π’Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ постоянно ΠΈ всС часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‚ΠΈΠΏΠ° --amend ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ с Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ Π³Π»Π°Π·Π°ΠΌΠΈ, stash ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько пСрпСндикулярный интСрфСйс. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ git stash save (ΠΏΡ€ΠΈ этом save ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½). А Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ β€” Π΅ΡΡ‚ΡŒ git stash apply (примСняСт послСдний ΡΡ‚Π΅Ρˆ ΠΈΠ· всСх) ΠΈ git stash pop (примСняСт ΡΡ‚Π΅Ρˆ ΠΈ удаляСт Π΅Π³ΠΎ ΠΈΠ· стСка). БоотвСтствСнно, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ внСзапная Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ, Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ сразу Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Π° Ρ‡Ρ‚ΠΎ собствСнно Π½Π°Π΄ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ.
  • Если stash-ΠΈΡ‚ΡŒ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΏΠ°Ρ€Ρƒ строчСк, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π» stash, ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ сидишь ΠΈ ΡƒΠ΄ΠΈΠ²Π»ΡΠ΅ΡˆΡŒΡΡ, ΠΊΡƒΠ΄Π° дСлись измСнСния.
  • stash ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ распространяСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Π΅ (modified) Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя нСотслСТиваСмыС (untracked). БоотвСтствСнно, Π½Π΅ зная этого, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π²Π΅Ρ‚ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ ΠΈΡ…, Ссли, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ½ΠΈ Π°Π²Ρ‚ΠΎ-Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅.

Π§Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½Π΅ stash? НаиболСС простоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” Π²Π·ΡΡ‚ΡŒ ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ всё с ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅ΠΌ WIP (распространённая Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΎΡ‚ «Work In Progress»). НС Π½Π°Π΄ΠΎ ΠΌΠΎΡ€ΠΎΡ‡ΠΈΡ‚ΡŒ сСбС Π³ΠΎΠ»ΠΎΠ²Ρƒ, Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ названия ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ· ΡΡ‚Π΅ΡˆΠ΅ΠΉ сохранСны измСнСния.

А Π·Π°Ρ‡Π΅ΠΌ Ρ‚ΠΎΠ³Π΄Π° stash Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ΅Π½? Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для хранСния ΠΌΠ΅Π»ΠΊΠΈΡ… фиксов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‡Π΅Π½Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅. Π•ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдний ΠΈΠ· ΡΡ‚Π΅ΡˆΠ΅ΠΉ, Π½ΠΎ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ любой, ΡΡΡ‹Π»Π°ΡΡΡŒ Π½Π° Π΅Π³ΠΎ имя. Π‘Π°ΠΌΠΎΠ΅ большоС удобство Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡΡ‚Π΅ΡˆΠΈ Ρ…ΠΎΡ‚ΡŒ ΠΈ «ΠΏΠΎΠΌΠ½ΡΡ‚» Π½Π° ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ Π±Ρ‹Π»ΠΈ сдСланы, Π½ΠΎ Π½ΠΈ ΠΊ Ρ‡Π΅ΠΌΡƒ Π½Π΅ ΠΎΠ±ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° любой Π²Π΅Ρ‚ΠΊΠ΅. Π― Π³Π΄Π΅-Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ Π½Π°ΡˆΡ‘Π» ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ алиасы для этого:

git config --global alias.sshow "!f() { git stash show stash^{/$*} -p; }; f"
git config --global alias.sapply "!f() { git stash apply stash^{/$*}; }; f"

# ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ
git stash save "hack"
# ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ
git sshow "hack"
# ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ
git sapply "hack"

4. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ «-» для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ сдСлали свои грязныС Π΄Π΅Π»Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ, вмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя, ΠΌΠΎΠΆΠ½ΠΎ просто ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ «-«:

git checkout -

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Windows этот Ρ‚Ρ€ΡŽΠΊ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅Π·Π½Π°ΠΊΠΎΠΌ, Π° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Linux ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π΅Π½ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌΡƒ использованию Π² bash:

cd /some/long/path
...
cd -

5. НС ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Π² этом Π½Π΅Ρ‚ Π½ΡƒΠΆΠ΄Ρ‹

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ нСсовмСстимыС Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π²Π΅Ρ‚ΠΊΠΈ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° создаётся мноТСство Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… нСотслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ² кэша, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈΡ… Π²Ρ‹Ρ‡ΠΈΡ‰Π°Ρ‚ΡŒ (ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ Unity).

ΠŸΡ€ΠΈΡˆΠ»ΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ срочно ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ с ΠΎΠ΄Π½ΠΎΠΉ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ ΡƒΠΉΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ мСста. Π’Ρ‹Ρ‡ΠΈΡ‰Π°Ρ‚ΡŒ лишниС Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. На ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ worktree: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΊΠΎΠΏΠΈΠΉ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ рСпозитория. Из Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ:

$ git worktree add -b emergency-fix ../temp master
$ pushd ../temp
# ... hack hack hack ...
$ git commit -a -m 'emergency fix for boss'
$ popd
$ git worktree remove ../temp

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ происходит, ΠΏΠΎ сути просто Ρ‡Π΅ΠΊΠ°ΡƒΡ‚ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π½Π΅ ΠΆΠ°Π»ΠΊΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.

6. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ pull Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ fast-forward

На всякий случай, напоминаю, Ρ‡Ρ‚ΠΎ pull ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄Π΅Π»Π°Π΅Ρ‚ fetch (Π²Ρ‹ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ с ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория) ΠΈ merge (слияниС локальной ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΎΠΊ), Π° fast-forward β€” это Ρ€Π΅ΠΆΠΈΠΌ слияния, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² локальной Π²Π΅Ρ‚ΠΊΠ΅ ΠΈ происходит «ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ°» Π΅Ρ‘ Π½Π° послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ. Если измСнСния Π΅ΡΡ‚ΡŒ, Ρ‚ΠΎ происходит классичСский ΠΌΠ΅Ρ€ΠΆ с Ρ€ΡƒΡ‡Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈ ΠΌΠ΅Ρ€ΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ.

НСкоторыС ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git pull --rebase, Π½ΠΎ Π½Π΅ всСгда это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ локально смСрТили Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈΠ· origin Π² master ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡƒΡˆΠ΅ΠΌ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ pull (надСюсь, Π½Π΅ Π½Π°Π΄ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΠΎΠΆΠ΅Ρ‚ Π³Ρ€ΠΎΠ·ΠΈΡ‚ΡŒ rebase).

БоотвСтствСнно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ случайно Π² ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Π’Ρ‹ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ pull-ΠΎΠΌ смСрТили Π½Π΅ Ρ‚ΠΎ ΠΈ Π½Π΅ Ρ‚ΡƒΠ΄Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ --ff-only ΠΈΠ»ΠΈ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³:

git config --global pull.ff only

Π§Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ?

  • АвтоматичСский Ρ„Π΅ΠΉΠ», Ссли Π² локальной Π²Π΅Ρ‚ΠΊΠ΅ Π΅ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π½Π΅Π·Π°ΠΏΡƒΡˆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹.
  • АвтоматичСский Ρ„Π΅ΠΉΠ», Ссли Π²ΠΎ входящСй Π²Π΅Ρ‚ΠΊΠ΅ Π΅ΡΡ‚ΡŒ измСнСния Π² Ρ‚Π΅Ρ… ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π°Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρƒ Вас Π΅ΡΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ измСнСния (Π° это с большой Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π»ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΡ‚ΠΎΠΌ Π² ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΌΠ΅Ρ€ΠΆΠ°).
  • АвтоматичСский Ρ„Π΅ΠΉΠ», Ссли Π’Ρ‹ случайно Π΄Π΅Π»Π°Π΅Ρ‚Π΅ pull Π½Π΅ Π² Ρ‚Ρƒ Π²Π΅Ρ‚ΠΊΡƒ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π΅ вписали git pull origin master upstream вмСсто my_feature.
  • УспСх, ΠΊΠΎΠ³Π΄Π° всё прСкрасно.

7. Π‘ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ лишнСС Ρ‡Π΅Ρ€Π΅Π· git exclude

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

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этого вопроса Π΅ΡΡ‚ΡŒ чудСсная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Π² Ρ„Π°ΠΉΠ» .git/info/exclude. А для удобства рСдактирования этого Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ алиас:

git config --global alias.exclude '!f() { vim .git/info/exclude; }; f'

(НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π’Π°Ρˆ Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.)

8. Π‘ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ измСнСния, ΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡ… «Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ»

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎ Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° Π’Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π―Ρ€ΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅, особСнно Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡƒΡ‰ΠΈΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, хранят Π² сСбС ряд ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ². Часто ΠΎΠ½ΠΈ слуТат для обСспСчСния Сдинообразия настроСк (ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, .editorconfig) ΠΈΠ»ΠΈ тасков сборки/Π»ΠΈΠ½Ρ‚ΠΈΠ½Π³Π° (.vscode/tasks.json). И ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‚Π°ΠΊ случаСтся, Ρ‡Ρ‚ΠΎ хочСтся ΠΈΡ… ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ раздСлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ² Π½Π° «ΠΎΠ±Ρ‰ΠΈΠ΅» ΠΈ «ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅» отсутствуСт.

Π•ΡΡ‚ΡŒ административный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹: вынСсти всС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ сам ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ Π² Π½ΡƒΠΆΠ½Ρ‹Π΅ мСста. И Π΅ΡΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΎΠ²Π΅Ρ€Ρ€Π°ΠΉΠ΄ΠΈΡ‚ΡŒ Π½Π° мСстС ΠΈ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΊ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΉ:

git update-index --assume-unchanged <path to file>

Π‘ этих ΠΏΠΎΡ€ ΠΎΠ½ «ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ с Ρ€Π°Π΄Π°Ρ€ΠΎΠ²» Π΄Π°ΠΆΠ΅ Ссли Π’Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ. Если Π²ΠΎ врСмя pull-Π° приходят Π½ΠΎΠ²Ρ‹Π΅ измСнСния Π² этом ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π΅ β€” Π² этом случаС ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹ΠΌ, Π½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΌΠ΅Ρ€ΠΆΠΈΡ‚ΡŒΡΡ Π’Π°ΠΌ Π½Π΅ даст. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ всё ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ, Π½Π°Π΄ΠΎ ΡΠ½ΡΡ‚ΡŒ Ρ„Π»Π°Π³, Π΄ΠΎΠ±Π°Π²ΠΈΠ² no:

git update-index --no-assume-unchanged <path to file>

9. ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ Ρ…Π°ΠΊΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ измСнСния Π² ΠΎΠ±Ρ…ΠΎΠ΄ рСпозитория

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

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

Π”ΠΎΠ»Π³ΠΎ Π»ΠΈ, ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ Π»ΠΈ, ΡƒΠ·Π½Π°Π» я ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ вовсС Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ°ΠΏΠΊΠ° с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Π»Π°ΡΡŒ .git. Π•Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ Π΅Ρ‰Ρ‘ Π½Π° этапС создания рСпозитория ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΉ, пСрСдавая Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ gitdir. А значит… ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ git init --separate-git-dir=.git_dev Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π½Π°ΠΌ Π½Π΅ Π΄Π°Π΄ΡƒΡ‚, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π΅Π»Π°Π΅ΠΌ Ρ…ΠΈΡ‚Ρ€Π΅Π΅: выполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, ΠΈ ΠΊΠ»Π°Π΄Ρ‘ΠΌ свСТСсозданный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ рядом с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ.

Π§Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ сСйчас ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ? ΠœΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρƒ нас оказалось Π΄Π²Π° рСпозитория Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вСсти ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²! ΠŸΠΎΡ‡Π΅ΠΌΡƒ .git_dev? Π”Π° для Сдинообразия. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°Π²Π΅Π΄Ρ‘ΠΌ сСбС алиас, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ:

git config --global alias.dev '!git --git-dir=\"./.git_dev\"'

ΠŸΡ€ΠΎΠ±ΡƒΠ΅ΠΌ:

> git status -s
?? .git_dev/

> git dev status -s
?? .git_dev/
?? .gitignore
?? Program.cs
?? habr.csproj

Π‘ΠΎ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π’Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ»ΡŒΠ½Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ всё Ρ‡Ρ‚ΠΎ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ, Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ вСсти ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, добавляя Π² Π½Π΅Ρ‘ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своё ΠΈ дСлая checkout Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ (ΠΏΡ€Π°Π²Π΄Π°, Π½Π΅ знаю Π·Π°Ρ‡Π΅ΠΌ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ, Π½ΠΎ Π²Π΄Ρ€ΡƒΠ³ Π’Ρ‹ ΡˆΠΈΠ·ΠΎΡ„Ρ€Π΅Π½ΠΈΠΊ слоТный Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ).

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ .git/ Ρƒ Π³ΠΈΡ‚Π° Π·Π°Π»ΠΎΠΆΠ΅Π½ΠΎ Π² Π³Π΅Π½Π°Ρ…, Π° Π²ΠΎΡ‚ всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, отобраТаСтся ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ. Наибольшая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” .gitignore Ρƒ Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π½Π° Π΄Π²ΠΎΠΈΡ…, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ практичСски всё, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, придётся Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· -f, Π° всё Ρ‡Ρ‚ΠΎ Π½Π΅ трСбуСтся β€” Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· .git_dev/info/exclude. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строчки:

# ignore all files
/*
# ignore all folders
*/

Π’ качСствС бонуса, саму идСю использования git для отслСТивания ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚ΠΎΠΌ числС для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС свои Π·Π°Π±ΠΎΡ‚Π»ΠΈΠ²ΠΎ собранныС .vimrc, .bashrc, создавая Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ прямо Π² ~ (для Windows это C:\Users\%USERNAME%\).

10. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ…ΡƒΠΊΠΈ

ΠŸΡ€ΠΎ Ρ…ΡƒΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎ рассказано Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ Π²ΠΎΡ‚, Π½ΠΎ Π½Π΅ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΈΡ… нСльзя. Благодаря git bash ΠΎΠ½ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Π² Unix-like систСмах Ρ‚Π°ΠΊ ΠΈ Π² Windows, ΠΏΡ€Π°Π²Π΄Π°, Ссли ΠΎΠ½ΠΈ ΠΏΡ€ΠΈ этом Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘, ΠΌΠΎΠΆΠ½ΠΎ огрСсти ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. ΠŸΠΎΠ»Π΅Π·Π½Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ…ΡƒΠΊΠΈ:

  • ΠΏΡ€ΠΎΠ³ΠΎΠ½ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· Π»ΠΈΠ½Ρ‚Π΅Ρ€/Π°Π²Ρ‚ΠΎΡ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‚Π΅Ρ€ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ;
  • Π²Ρ‹Ρ‡Π»Π΅Π½ΡΡŽΡ‰ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π΅Ρ‘ Π² сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°;
  • ΠΏΠ΅Ρ€Π΅ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ послС Ρ‡Π΅ΠΊΠ°ΡƒΡ‚Π° ΠΈ ΠΌΠ΅Ρ€ΠΆΠ°.

Из Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ я сСбС ставил Ρ…ΡƒΠΊ Π½Π° Ρ‡Π΅ΠΊΠ°ΡƒΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ писал Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ Π² Hamster, Ρ‡Ρ‚ΠΎ позволяло достаточно Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ³Π΄Π° ΠΈ Π½Π°Π΄ Ρ‡Π΅ΠΌ я Ρ€Π°Π±ΠΎΡ‚Π°Π». А ΠΏΡ€ΠΈ использовании .git_dev ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ автоматичСский Ρ‡Π΅ΠΊΠ°ΡƒΡ‚ послС Ρ‡Π΅ΠΊΠ°ΡƒΡ‚Π° основного рСпозитория, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всСгда Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρƒ сСбя «ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅» Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ вСрсии ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ².

11. Π’Ρ€Π΅Π±ΡƒΠΉΡ‚Π΅ Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

НапослСдок Ρ…ΠΎΡ‡Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ довольно Π±Π°Π½Π°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ β€” Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сущСствСнно ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ качСство ΠΆΠΈΠ·Π½ΠΈ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Unix-систСм ΠΎΠ½ΠΎ ΠΈΠ΄Ρ‘Ρ‚ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ, Π½ΠΎ Ссли Вас ΡƒΠ³ΠΎΡ€Π°Π·Π΄ΠΈΠ»ΠΎ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π² инфраструктурС Windows β€” Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Powershell (Ссли Π΅Ρ‰Ρ‘ Π½Π΅) ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ posh-git, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π΄Π°Ρ‘Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ сводку Π² prompt:


Бпасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅; ТСлаю всСм приятной ΠΈ эффСктивной ΠΊΠ°ΠΆΠ΄ΠΎΠ΄Π½Π΅Π²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Бонус для Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…. УпомянутыС Π²Ρ‹ΡˆΠ΅ ΠΈ нСсколько нСупомянутых алиасов ΠΈΠ· ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°:

[alias]
    # `git sshow hack` - ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ содСрТимоС ΡΡ‚Π΅ΡˆΠ° с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌ "hack". Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎΠΉ
    sshow = "!f() { git stash show stash^{/$*} -p; }; f"

    # `git sapply hack` - ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡ‚Π΅Ρˆ "hack"
    sapply = "!f() { git stash apply stash^{/$*}; }; f"

    # Ρ€Π°Π±ΠΎΡ‚Π° с `.git_dev`
    dev = !git --git-dir=\"./.git_dev\"

    # ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ статуса ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ `.git/` ΠΈ `.git_dev/` 
    statys = "!f() { git status ; echo \"\n\" ; git dev status ; }; f"

    # поиск Π²Π΅Ρ‚ΠΊΠΈ ΠΏΠΎ части названия
    findb = "!f(){ git branch -ra | grep $1; }; f"

    # послСдниС ΠΏΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² Π²Π΅Ρ‚ΠΊΠ΅. Если Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ `git hist -n 10`, ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ 10
    hist = log --pretty=format:\"%ad | %h | %an: \t %s%d\" --date=short -n5

    # `git dist branch-name` ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² спискС ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ ΠΈ branch-name 
    dist = "!git log --pretty=format:\"%ad | %h | %an: \t %s%d\" --date=short \"$(git rev-parse --abbrev-ref HEAD)\" --not "

    # Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ локального `exclude`
    exclude = "!f() { vim .git/info/exclude; }; f"

    # вывСсти список Ρ„Π°ΠΉΠ»ΠΎΠ², скрытых Ρ‡Π΅Ρ€Π΅Π· `--assume-unchanged`
    ignored = !git ls-files -v | grep "^[[:lower:]]"

    # ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ - опСрация, обратная `git reset HEAD~1`
    forward = "!f() { git log --pretty=oneline --all | grep -B1 `git rev-parse HEAD` | head -n1 | egrep -o '[a-f0-9]{20,}' | xargs git checkout ; }; f"

Π Π°Π±ΠΎΡ‚Π° с распрСдСлСнной систСмой контроля вСрсий Git Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ GitHub / Π₯Π°Π±Ρ€

Π Π°Π±ΠΎΡ‚Π° с распрСдСлСнной систСмой контроля вСрсий Git Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ GitHub
Π“ΠΎΠ΄ Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: 2019
Π“ΠΎΠ΄ окончания Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½

ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ
ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ
Настройка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Git
Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ локального рСпозитория
Π Π°Π±ΠΎΡ‚Π° с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ
Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ваши Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
МодСли вСтвлСния Π² Git
Π’Ρ‹Π²ΠΎΠ΄Ρ‹
.gitignore. ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ использованию:


Данная публикация являСтся ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ для освоСния основ систСмы контроля вСрсий git, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ использования GitHub. Π­Ρ‚ΠΎ Π½Π΅ руководство ΠΊ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ примСняя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΈΠ΄Π΅ΠΈ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. НС ΡΠΏΠ΅ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ сказанноС ΠΊ вашим Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. ΠŸΠΎΡ‚Ρ€Π΅Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Π½Π° Π½Π΅ΠΌ. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ свой ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° GitHub. Когда Π²Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹ смоТСтС ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ваши знания Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ Π½Π΅ являСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π­Ρ‚ΠΎ авторская Ρ€Π°Π±ΠΎΡ‚Π° с Ρ†Π΅Π»ΡŒΡŽ ΠΏΡ€ΠΎΡΡΠ½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вопросы. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ смотритС Ρ€Π°Π·Π΄Π΅Π»: «ЦСль ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈΒ».

НСбольшая Ρ€Π΅ΠΌΠ°Ρ€ΠΊΠ°:

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΉ вопрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдовало Π±Ρ‹ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ β€” это Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ систСмы для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Если Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π°ΡˆΡƒ ΡΠ΅Ρ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ систСмный администратор. Π’ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ приходится эти вопросы Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π­Ρ‚ΠΎΡ‚ вопрос Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΡ€Π°Π·Π΄Π½Ρ‹ΠΉ.

Π§Ρ‚ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

Π›ΠΈΡˆΠ½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ(ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½Ρ‹ΠΌΠΈ сСрвисами ΠΈ систСмами Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠΈ Amazon). Π’ Π²Π΅Ρ‚ΠΊΠΈ master ΠΈ release Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ измСнСния ΠΎΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…, Π½Π΅ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов ΠΈ нСкачСствСнный ΠΊΠΎΠ΄, Π½Π΅ ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΠΉ тСстированиС.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ: Ρ‡Ρ‚ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ Π² GitHub ΠΈ ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ .gitignore.

БистСма контроля вСрсий довольно слоТная ΡˆΡ‚ΡƒΠΊΠ°. Но ΠΏΡƒΡΡ‚ΡŒ вас это Π½Π΅ ΠΏΡƒΠ³Π°Π΅Ρ‚. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Π”Π°Ρ‚ΡŒ опрСдСлСния, ΠΈ внСсти ΡΡΠ½ΠΎΡΡ‚ΡŒ. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ ΠΎΠ΄ΠΈΠ½ Π½Π°Π΄ своим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Ρ‚ΠΎ Π²Π°ΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° сСрвСрС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСбС Git ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с систСмой контроля вСрсий локально. Π’Π°ΠΌ для локальной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ создаСтС локально β€” это фактичСски Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠ°ΠΊ Π½Π° сСрвСрС, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π΅Π· возмоТности Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ распрСдСлСнной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². БистСма контроля вСрсий β€” ΠΏΠΎ сущСству это рСализация ΠΏΡ€Π°Π²Π° программиста Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² своСм ΠΊΠΎΠ΄Π΅. Как Π²Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ Β«Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ свойствСнно ΠΎΡˆΠΈΠ±Π°Ρ‚ΡŒΡΡΒ». Π’Π°ΠΊ Π²ΠΎΡ‚, ΠΎΡˆΠΈΠ±Π°Ρ‚ΡŒΡΡ программисту слСдуСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС. И, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ своСму ΠΊΠΎΠ΄Ρƒ ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ сущСствуСт такая Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ систСма, ΠΊΠ°ΠΊ систСма контроля вСрсий. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ использованиС систСмы контроля вСрсий β€” это Π±ΠΎΠ»Π΅Π΅ эффСктивный ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚.

ΠžΡ‚Π²Π΅Ρ‚ΡŒΡ‚Π΅ Π½Π° вопрос: Π’ Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ€Π°Π±ΠΎΡ‚Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈ Π²Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅ насколько ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ становится Π±ΠΎΠ»Π΅Π΅ эффСктивным с систСмой контроля вСрсий. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ прСимущСство: БистСма контроля вСрсий ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ процСсс Ρ€Π΅Π²ΡŒΡŽ(пСрСсмотра, Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ) ΠΊΠΎΠ΄Π°. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ прСимущСство: АвтоматичСскоС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². Π’ΠΎ Π΅ΡΡ‚ΡŒ объСдинСниС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², сдСланных Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Π² ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ. Π—Π΄Π΅ΡΡŒ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ я Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для git Π² IDE. Π—Π΄Π΅ΡΡŒ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Ρ‰ΠΈΠ΅ вопросы Ρ€Π°Π±ΠΎΡ‚Ρ‹ с git ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π½Π° GitHub.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ вопросы:

Π’ Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ экономия Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ использовании систСмы контроля вСрсий?

Π’ Ρ‡Π΅ΠΌ прСимущСства использования систСмы контроля вСрсий?

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

Как Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git?

Как Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHub?

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅(Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅) ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git.

КакиС сСрвисы ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ для Git?

Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ?

Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с распрСдСлСнным Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ?

Git-хостинг Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… условиях ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ.

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ извСстныС ΠΈΠ· Π½ΠΈΡ…: Github, Sourceforge, Google Code, GitLab, Codebase ΠΈ Ρ‚Π΄.

БСрвисы git Π² порядкС популярности(Ρ‚ΡƒΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ Ρ…ΠΎΠ»ΠΈΠ²Π°Ρ€Π°, Π΄ΠΎΠΏΠΈΡˆΡƒ: По ΠΌΠΎΠ΅ΠΌΡƒ мнСнию):

1. Π’Π°Ρˆ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСрвис, использованиС git Ρ‚ΠΎΠ»ΡŒΠΊΠΎ локально

2. GitHub

3. BitBucket

4. GitLab

ΠŸΡ€ΠΎ использованиС своСго git сСрвСра Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° Ρ…Π°Π±Ρ€Π΅ >>>

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ я Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽ Π² основном Ρ€Π°Π±ΠΎΡ‚Ρƒ с сСрвисом GitHub.

ЦСль ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git.


ΠžΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, основныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ консоли Git. Π₯отя Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ сущСствуСт довольно ΠΌΠ½ΠΎΠ³ΠΎ описаний Ρ€Π°Π±ΠΎΡ‚Ρ‹ с git, ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ опрСдСлСния раскрыты Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ввСсти Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅. НСкоторыС опрСдСлСния слСдуСт Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, для ясности понимания.

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

ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ основныС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹

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

Git β€” ΠΎΠ΄Π½Π° ΠΈΠ· распрСдСлСнных систСм контроля вСрсий.

GitHub β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· сСрвисов для использования систСмы контроля вСрсий Git.

repository β€” Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ², ссылок Π½Π° измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ…

commit β€” отслСТиваниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, сохраняСт Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² измСнСниях

HEAD β€” (ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ) символичСская ссылка Π½Π° послСдниС измСнСния. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ссылаСтся Π½Π° commit. ΠœΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π²Π΅Ρ‚Π²ΡŒ. БостояниС β€” Β«Detached HEADΒ»

HEAD ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ для опрСдСлСния Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ checkout.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° это Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅: Β«headΒ» (Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС) относится ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΈΠ· Π½Π°Π·Π²Π°Π½Π½Ρ‹Ρ… Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅; Β«HEADΒ» (Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр) относится ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌΡƒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ(ссылкС). Π­Ρ‚ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Git. HEAD ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π²Π΅Ρ‚ΠΊΠΈ ΠΈΠ»ΠΈ Π½Π° commit.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Git. Π§Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: Blob, Tree, Commit ΠΈ References.

Π’Π΅Ρ‚Π²ΡŒ опрСдСляСтся Π½Π΅ Π² самом Git, Π° наслСдуСтся ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСм.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… Git Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

git сСрвисы β€” сСрвисы ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ услуги для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ git.

HEAD β€” ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. ВСкущая Π²Π΅Ρ‚ΠΊΠ°. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ: Π’Π°ΡˆΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ получаСтся ΠΈΠ· состояния Π΄Π΅Ρ€Π΅Π²Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ссылаСтся HEAD. HEAD β€” это ссылка Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π² вашСм Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ случаСв использования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ HEAD, Π² этом случаС ΠΎΠ½ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ссылаСтся Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚

.

working directory β€” Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅

staging area β€” ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ рабочая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ

branch β€” Π²Π΅Ρ‚ΠΊΠ°, состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ссылаСтся Π½Π° послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚

merge β€” слияниС, слияниС Π²Π΅Ρ‚ΠΎΠΊ Π² ΠΎΠ΄Π½Ρƒ

pull β€” Π²Ρ‚ΡΠ½ΡƒΡ‚ΡŒ, Π²Π·ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с сСрвСра, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория

push β€” Π²Ρ‹Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния Π½Π° сСрвСр

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹:

# β€” Π² Π΄Π°Π½Π½ΠΎΠΌ случаС символ коммСнтария

<> β€” ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки, Ρ‚Π°ΠΌ Π³Π΄Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ эти скобки

$ β€” ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅

НСбольшоС вступлСниС

Π₯ΠΎΡ‚Π΅Π» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΡƒ ΠΏΠΎ git, Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ довольно длинная публикация.
Но Π±Π΅Π· объяснСния Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Π²ΠΎΠ΄Π½ΠΎΠΉ тСорСтичСской части Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ.

Git β€” ΠΎΠ΄Π½Π° ΠΈΠ· систСм контроля вСрсий.

ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π°, Π² основном, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ распрСдСлСнной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π’ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π°Ρ… свСта ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

НСт Git ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Π½ΠΎ ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹, писатСли, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠΈ. GitHub часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ hr спСциалисты ΠΈ hr ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ для поиска ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ² Π½Π° Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ вакасии Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… областях. Для матСматичСского Π°Π½Π°Π»ΠΈΠ·Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

БистСма Git ΠΎΡ‡Π΅Π½ΡŒ экономична ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ рассылки большого количСства Ρ„Π°ΠΉΠ»ΠΎΠ². ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°ΡŽΡ‚ΡΡ измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ ссылки Π½Π° эти измСнСния. Π’ΠΎ Π΅ΡΡ‚ΡŒ основная рассылка это рассылка Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π² Π²Π°ΡˆΠΈΡ… рСдактированиях.

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

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ создания

Π¦ΠΈΡ‚Π°Ρ‚Π° ΠΈΠ· Π’ΠΈΠΊΠΈ:

Git (ΠΏΡ€ΠΎΠΈΠ·Π½oсится Β«Π³ΠΈΡ‚Β»[8]) β€” распрСдСлённая систСма управлСния вСрсиями. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π±Ρ‹Π» создан Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ для управлСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ядра Linux, пСрвая вСрсия Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° 7 апрСля 2005 Π³ΠΎΠ΄Π°. На сСгодняшний дСнь Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π”ΠΆΡƒΠ½ΠΈΠΎ Π₯Π°ΠΌΠ°Π½ΠΎ.

ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ(ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ)

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π±Ρ‹Π» создан Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ для управлСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ядра Linux

Git свободная систСма ΠΈ распространяСтся ΠΎΠ½Π° ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GNU GPL 2.

Git is an Open Source project covered by the GNU General Public License version 2 (some parts of it are under different licenses, compatible with the GPLv2).

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

КакиС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ систСмы управлСния вСрсиями:

1. Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅

2. Π”Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅(распрСдСлСнныС)

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


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

ВзаимодСйствиС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами контроля вСрсий

Π’ стандартной поставкС Git поддСрТиваСтся взаимодСйствиС с CVS (ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΈ экспорт, эмуляция CVS-сСрвСра) ΠΈ Subversion (частичная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈ экспорта). Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ инструмСнт ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈ экспорта Π²Π½ΡƒΡ‚Ρ€ΠΈ экосистСмы β€” Π°Ρ€Ρ…ΠΈΠ²Ρ‹ сСрий вСрсионированных Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… .tar.gz ΠΈ .tar.bz2.

Fork – удалСнная копия рСпозитория Π½Π° сСрвСрС, отличная ΠΎΡ‚ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π°. Π­Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ git-концСпция, Π°, скорСС, ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎ-ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ идСя. Clone – это Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ fork. Клон ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория располагаСтся локально. ЀактичСски ΠΏΡ€ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ всС Π΄Π°Π½Π½Ρ‹Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ.

Branch, ΠΈΠ»ΠΈ созданиС Π²Π΅Ρ‚ΠΊΠΈ, – это способ внСсти измСнСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΈΡ‚ΠΎΠ³Π΅ с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π’Π΅Ρ‚ΠΊΠ° являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ рСпозитория.

Π Π°Π±ΠΎΡ‡Π΅Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ (рабочая дирСктория, Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство) – это Π΄Π΅Ρ€Π΅Π²ΠΎ исходных Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

ИндСкс (ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², staging area) – это ΠΎΠ΄ΠΈΠ½ большой Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» .git/index, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ всС Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ, ΠΈΡ… SHA1, Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ ΠΈΠΌΠ΅Π½Π°. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ дирСктория с копиями Ρ„Π°ΠΉΠ»ΠΎΠ².

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ HEAD – это ссылка Π½Π° послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅.

НСкотороС отступлСниС ΠΎΡ‚ Ρ‚Π΅ΠΌΡ‹: Π—Π°Ρ‡Π΅ΠΌ я Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π» Ρ†ΠΈΡ‚Π°Ρ‚?

ΠžΡ‚Π²Π΅Ρ‚ самый простой. Π§Ρ‚ΠΎΠ±Ρ‹ Π² дальнСйшСм Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΈ ясныС опрСдСлСния.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ

Для использования систСмы git Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ:


1. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ git Π½Π° вашСй систСмС.

2. ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ локально

3. Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π½Π° GitHub

4. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

5. ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» README.MD.

6. Π’ случаС, Ссли Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

7. Π€ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния локально

8. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ измСнСния Π½Π° GitHub

9. Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

10. Π’Ρ‹Π΄Π°Ρ‚ΡŒ ΠΈΠΌ ссылку Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

1. Установка git

Π’ Linux:

sudo apt-get update && sudo apt-get upgrade #ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ установкой
sudo apt-get install git #установка git

Π’ Windows:
Git для Windjws >>>

1. ПослС установки Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΊΠΈ Π½Π° ΠΏΠ°ΠΏΠΊΠ΅ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ Windows ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Β«Git Bash HereΒ». Git Bash Here β€” ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΡ‚Ρ€Ρ‹Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» git здСсь.

Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

git --version #Π²Ρ‹Π²ΠΎΠ΄ вСрсии

ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ вашСго git.

Π’ Linux,(Ctrl+Alt+T β€” Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», Ссли Ρƒ вас Π½Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ горячиС клавиши) ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅

git --version

Π’ случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ установки Π½Π° консоль вывСдСтся вСрсия вашСго git.

2.Настройка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Git

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Π’ΡƒΡ‚ слСдуСт ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ настройку Git Π²Ρ‹ осущСствляСтС Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… уровнях.

Π’ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ настройки Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы(Π½Π΅ систСмы git, Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы). Π”Ρ€ΡƒΠ³ΠΈΠ΅ настройки Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π”Π°Π»Π΅Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ настройки для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ(локально). Π’Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚ настройки для рСпозитория находящСгося Π½Π° сСрвСрС. Π­Ρ‚ΠΈ настройки Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ со своим Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ я Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ консоли Π² основном Windows git-bash.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ± отличиях Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Упомяну Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ отличия. НапримСр Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ ΠΏΠ°ΠΏΠΊΠ°ΠΌ. Π’ Windows ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ / β€” слСш, Π° Π² Linux ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слСш \. Π₯отя Π² Windows Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π° использованиС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ слСша.

Настройка ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π΅ΠΌΠ΅ΠΉΠ»:

git config --global user.name "My Name"
git config --global user.email [email protected]

Π§Ρ‚ΠΎΠ±Ρ‹ ввСсти настройки Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ рСпозитория, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΅Π³ΠΎ ΠΏΠ°ΠΏΠΊΡƒ ΠΈ сдСлайтС Ρ‚ΠΎ ΠΆΠ΅ Π±Π΅Π· —global:

Настройка внСшнСго Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.

git config --global core.editor emacs  #ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ внСшний Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ emacs

#команда для Linux.
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. НапримСр Π½Π΅ emacs, a vi ΠΈΠ»ΠΈ nano ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½Π° вашС усмотрСниС.

Π’ Windows, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ notepad++.

For x64 Windows change to: git config —global core.editor «‘C:/Program Files (x86)/Notepad++/notepad++.exe’ -multiInst -notabbar -nosession -noPlugin»

Для x64 Windows Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ(Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ свой ΠΏΡƒΡ‚ΡŒ):

git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin" 

Настройки git хранятся Π² Ρ„Π°ΠΉΠ»Π°Ρ….

Git провСряСт 4 мСста для Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ(здСсь Π² Linux):

Π€Π°ΠΉΠ» вашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° .gitconfig.

Π’Π°Ρˆ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ, Ρ„Π°ΠΉΠ» вашСго ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ .gitconfig Ρ„Π°ΠΉΠ» находится Π² ~/.gitconfig.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, располоТСнный Π² $ XDG_CONFIG_HOME/git/config ΠΈΠ»ΠΈ $HOME/.config/git/config.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» локального рСпозитория: .git/config

cat .git/config #просмотр ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ локального рСпозитория

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» добавляСт ΠΈΠ»ΠΈ пСрСопрСдСляСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ git, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² Ρ„Π°ΠΉΠ»Π΅ Π½Π°Π΄ Π½ΠΈΠΌ.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ систСмы.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ, спСцифичная для рСпозитория.

Бсылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ >>>

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

#для систСмы ΠΈ всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

git config --system --list
git config --system --edit

#для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

git config --global --list
git config --global --edit

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° настроСк вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ git:

git config --list #вывСсти Π½Π° экран ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.

Если список большой, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ»ΠΈΡΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стрСлок ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Β«pg upΒ», Β«pg dnΒ». Для Π²Ρ‹Ρ…ΠΎΠ΄Π° клавиша q.

#какая конфигурация, Π³Π΄Π΅ установлСна:

git config --list --show-origin

Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹? Π’Π΅Π΄ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ UI.

Часто Π² консоли Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹ сами Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ смоТСтС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс. ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ инструмСнт. ΠŸΠΎΡ‡Π΅ΠΌΡƒ? Π”Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ваш UI ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Β«Π½Π΅ Π·Π½Π°Ρ‚ΡŒΒ» ΠΎ сущСствовании Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. UI ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° сСрвСрС Π²Π²ΠΈΠ΄Ρƒ своСй нСбСзопасности. На ΠΏΠ΅Ρ€Π²ΠΎΠΌ этапС ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ систСма. ВсС ΠΈΡ… Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Π½Π΅Ρ‚ нСобходимости. Π’Ρ‹ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ смоТСтС Π½Π°ΠΉΡ‚ΠΈ справку ΠΏΠΎ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. ВСорСтичСскиС знания, Π±Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΠΈΠΊΡƒΠ΄Π°, Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Git(ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅)

git ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ 

ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

git branch -d <name> # ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ name 
git branch -d bugFix00 #ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ bugFix00.

ΠžΠΏΡ†ΠΈΠΈ:

-C β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ рСпозитория вмСсто Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ;

-c ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€=Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ;

-p β€” ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ вСсь Π²Ρ‹Π²ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ less;

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ локального рСпозитория.

1. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

cd ваша_ΠΏΠ°ΠΏΠΊΠ° #ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² ΠΏΠ°ΠΏΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ваша_ΠΏΠ°ΠΏΠΊΠ° 

2.

git init #инициализация локального рСпозитория

3.

git add . #Ρ‚ΡƒΡ‚ ΠΌΡ‹ добавляСм всС. 

ΠŸΠ°ΠΏΠΊΡƒ. Π’ΠΎΡ‡ΠΊΠ° послС add отдСлСнная ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ.
МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»
НапримСр

git add имя.Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ β€” ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния нашСго Ρ„Π°ΠΉΠ»Π°.
Для добавлСния всСго Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

git add -A

4. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ commit

git commit #ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

-m Β«ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉΒ» #Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ создания коммСнтария ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ. Π’Π°ΡˆΠΈ измСнСния Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΆΠ΅ с осмыслСнным ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅ΠΌ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя ΠΊΠ»ΡŽΡ‡Π°, вмСсто Π΅Π³ΠΎ сокращСния. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, вмСсто -m Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ —message=Β«ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉΒ»

git commit --message="$Π’Π°Ρˆ осмыслСнный ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ"

Π’ΡƒΡ‚ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ русскиС Π±ΡƒΠΊΠ²Ρ‹ Π² коммСнтариях, Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ символов Π² систСмС, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ символов Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΈΠ»ΠΈ IDE, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ символов Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ символов Π² git. Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚: Windows Β«Π½Π΅ Π»ΡŽΠ±ΠΈΡ‚Β» ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ апострофы, поэтому ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π·Π°ΠΊΠ»Π΅Ρ‡Π΅Π½ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. На Linux Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ апострофы ΠΏΡ€ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ комСнтария ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ.

5.

git show #ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния внСсСнныС вашим ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ

6.

git status  #просмотр Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояний git

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ β€” какая Π²Π΅Ρ‚ΠΊΠ° тСкущая.
КакиС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΈ Ρ‚Π΄. Команда ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ находится Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области(Π² staging area).

Π’Π΅Ρ‚ΠΊΠΈ. Branches

Π’Π΅Ρ‚ΠΊΠ°(branch) β€” ссылка Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

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

git branch имяВСтки #Π±ΡƒΠ΄Π΅Ρ‚ создана Π²Π΅Ρ‚ΠΊΠ° с ΠΈΠΌΠ΅Π½Π΅ΠΌ "имяВСтки"

, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ для ΠΈΠΌΠ΅Π½ΠΈ латинскиС Π±ΡƒΠΊΠ²Ρ‹. Π’ΡƒΡ‚ Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Когда ΠΌΡ‹ создали Π²Π΅Ρ‚ΠΊΡƒ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΎΡΡ‚Π°Π»Π°ΡΡŒ Π²Π΅Ρ‚ΠΊΠ°, которая Π±Ρ‹Π»Π° Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° Π΄ΠΎ этого. Ну Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ master. И Ссли послС создания Π²Π΅Ρ‚ΠΊΠΈ ΠΌΡ‹ скаТСм git commit, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Π²Π΅Ρ‚ΠΊΠ° master. НС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ этого часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкам.

Π‘ΠΎΠ²Π΅Ρ‚: Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‘ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π½Π΅Ρ‘ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ commit.

1. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²Π΅Ρ‚ΠΊΡƒ:

git branch feature #созданиС Π²Π΅Ρ‚ΠΊΠΈ с ΠΈΠΌΠ΅Π½Π΅ΠΌ "feature" локально

2. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ:

git checkout feature#Π²Ρ‹Π±ΠΎΡ€ Π²Π΅Ρ‚ΠΊΠΈ с ΠΈΠΌΠ΅Π½Π΅ΠΌ "feature" локально

3. Π”Π΅Π»Π°Π΅ΠΌ commit:

git commit

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ вторая Π²Π΅Ρ‚ΠΊΠ° с ΠΈΠΌΠ΅Π½Π΅ΠΌ feature.

ОбъСдинСниС Π²Π΅Ρ‚ΠΎΠΊ(merge).

ОбъСдинСниС Π²Π΅Ρ‚ΠΎΠΊ создаСт ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΎΡ‚ Π΄Π²ΡƒΡ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ Π²Π΅Ρ‚ΠΊΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git.

1. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ master

2. Π‘ΠΌΠΎΡ€ΠΈΠΌ какая Π²Π΅Ρ‚ΠΊΠ° тСкущая

3. ОбъСдиняСм Π²Π΅Ρ‚ΠΊΠΈ

git merge feature  #ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ с Π²Π΅Ρ‚ΠΊΠΎΠΉ feature

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ feature ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΅Ρ‘ с Π²Π΅Ρ‚ΠΊΠΎΠΉ master

1.

git checkout feature #Π²Ρ‹Π±ΠΎΡ€ Π²Π΅Ρ‚ΠΊΠΈ feature 

2.

git merge master #ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ

, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС feature c Π²Π΅Ρ‚ΠΊΠΎΠΉ master.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ доступных Π²Π΅Ρ‚ΠΎΠΊ:

git branch -v -a #ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС доступныС Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ
git diff --cached #ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ измСнСния добавились Π² stage

stash β€” стСк, Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

НС ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅ со stage, это Π½Π΅ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅.

Команда

git stash

сохраняСт всС Π½Π΅ Π·Π°ΠΊΠΎΠΌΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ измСнСния Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ сбрасываСт состояниС Π²Π΅Ρ‚ΠΊΠΈ Π΄ΠΎ HEAD.

git stash Π±Π΅Ρ€Π΅Ρ‚ ваши измСнСния, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΈ Π½Π΅ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΊ фиксации, сохраняСт ΠΈΡ… для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ использования ΠΈ ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области.

Π‘Ρ‚Π΅Ρˆ(stash) ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ измСнСния, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΎΠ½ ΠΈ называСтся stash, Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ β€” ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈΠΏΡ€ΡΡ‚Ρ‹Π²Π°Ρ‚ΡŒ.

git stash apply #ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии
git stash list  #вывСсти список ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git stash show #вывСсти послСдниС измСнСния
git stash drop #ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ послСдниС измСнСния Π² спискС 
git stash pop  # [apply] + [drop]
git stash clear #ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ список ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git stash drop# ΡƒΠ΄Π°Π»ΠΈΡ‚ послСдний git stash
git stash drop stash@{5}#ΡƒΠ΄Π°Π»ΠΈΡ‚ git stash ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 5


рис 1.

На рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΏΠΊΠΈ Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ для git.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² staging area. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ(git commit).

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ(git push).

На Π΄Π°Π½Π½ΠΎΠΉ схСмС Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ stash.


рис 2.

На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ рис 2. ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄ add, commit all, commit, reset, git reset head, git update index.

Untacked files β€” нСпроиндСксированныС Ρ„Π°ΠΉΠ»Ρ‹.

Working tree β€” ваша рабочая ΠΏΠ°ΠΏΠΊΠ°

Index β€” индСксация Ρ„Π°ΠΉΠ»ΠΎΠ²

Commit β€” измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ²

Π—Π΄Π΅ΡΡŒ Π½ΡƒΠΆΠ½ΠΎ внСсти Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡΡΠ½ΠΎΡΡ‚ΡŒ. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° относится ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ. Но это Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΈΠ΄ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ ΠΌΡ‹ рассматриваСм Ρ€Π°Π±ΠΎΡ‚Ρƒ git c Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ, ΠΏΠΎΠ΄ Β«Ρ€Π°Π·Π½Ρ‹ΠΌ ΡƒΠ³Π»ΠΎΠΌΒ». Показан Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» индСксации ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ локального рСпозитория.

Π Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:

cherry-pick
reset
revert
rebase
merge

ΠžΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. РассмотритС ΠΈΡ… ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π Π°Π±ΠΎΡ‚Π° с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ

Π”Π°Π»Π΅Π΅ я ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρƒ ΠΊ описанию Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΈ вашим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» [url]https://,[/url]

Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² вашСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅(chrome, mozilla, opera ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…).

GitHub.com >>>

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ GitHub Π½Π° английском языкС.

Для Π½Π°Ρ‡Π°Π»Π°, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° GitHub, Ссли Π²Ρ‹ этого Π΅Ρ‰Π΅ Π½Π΅ сдСлали ΠΈΠ»ΠΈ

ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния локального рСпозитория.

Π£Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π° самом сайтС GitHub.

ΠŸΠ΅Ρ€Π΅Π΄ использованиСм ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория Ρƒ вас Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π’ ΠΏΠ°ΠΏΠΊΠ΅ Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅:

git init #инициализация локального рСпозитория
git add -A

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ(Π² Π΄Π°Π½Π½ΠΎΠΌ случаС GitHub) ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅:

git remote add origin https://github.com/имя_Π½ΠΈΠΊ_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/Π˜ΠΌΡΠ Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡ.git

«имя_Π½ΠΈΠΊ_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ» β€” Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π½ΠΈΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория.

Β«Π˜ΠΌΡΠ Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡΒ» β€” Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это имя вашСго ΡƒΠΆΠ΅ созданного Π·Π°Ρ€Π°Π½Π΅Π΅ рСпозитория Π½Π° GitHub

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹:

git remote -v

Π’Ρ‹Π²ΠΎΠ΄:

origin  [url]https://github.com/имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/имя_рСпозитория.git[/url] (fetch)
origin  [url]https://github.com/имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/имя_рСпозитория.git[/url] (push)
 git remote show #ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ Π΅ΡΡ‚ΡŒ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΌ ΠΎΠ΄Π½Π° Π²Π΅Ρ‚ΠΊΠ° origin.
Π’ΠΎ Π΅ΡΡ‚ΡŒ это Π½Π΅ сама Π²Π΅Ρ‚ΠΊΠ°, Π° Π΅Ρ‘ сокращСнноС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ассоциированноС с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ.
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

git remote add <сокращСнноС_имя_ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ_рСпозитория> [email protected]:имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/имя_ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ_рСпозитория.git
git remote add <имя_ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ_Ρ€Π΅ΠΏ> ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»@github.com:ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ/имя_ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ_рСпозитория.git

имя_ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ_Ρ€Π΅ΠΏ β€” имССтся Π² Π²ΠΈΠ΄Ρƒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ассоциировано с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ.

имя_ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ_рСпозитория β€” имССтся Π² Π²ΠΈΠ΄Ρƒ имя рСпозитория Π½Π° сСрвСрС. Π’ΠΎ Π΅ΡΡ‚ΡŒ имя ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория.

git remote set-url origin [url]https://имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ@github.com/имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/test.git[/url] #ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ 
git pull origin master #Π·Π°Π±Ρ€Π°Ρ‚ΡŒ всС измСнСния с сСрвСра ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ origin  Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ master 

Волько данная ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория.
ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΎΠ½Π° сливаСт(ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚, merge) всС измСнСния ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория с вашими Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π­Ρ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ слСдуСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΈ Ρƒ вас своих Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π² локальном ΠΏΠΎΠΊΠ° Π½Π΅Ρ‚.

git remote -v #ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ
git clone --recursive https://github.com/имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/имя_рСпозитория.git #рСкурсивноС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ рСпозитория
 git clone --recursive https://github.com/имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/имя_ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ_рСпозитория.git Lимя_локальной_ΠΏΠ°ΠΏΠΊΠΈ

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° создаСт ΠΏΠ°ΠΏΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Lимя_локальной_ΠΏΠ°ΠΏΠΊΠΈ.
Π‘Π΅Ρ€Π΅Ρ‚ всС измСнСния ΠΈΠ· рСпозитория Β«github.com/имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/имя_ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ_рСпозитория.gitΒ» ΠΈ сохраняСт ΠΈΡ… Π² ΠΏΠ°ΠΏΠΊΠ΅ Β«Lимя_локальной_ΠΏΠ°ΠΏΠΊΠΈΒ».
Π—Π΄Π΅ΡΡŒ я написал прСфикс L ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ°ΠΏΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΎΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π½Π° сСрвСрС.

gitk #ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° отобраТСния Π³Ρ€Π°Ρ„Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΈ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π½Π° GitHub

[url]https://greenido.files.wordpress.com/2013/07/git-local-remote.png?w=696&h=570[/url]

Из Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π½Π° сСрвСрС. ΠŸΠΎΠΊΠ°Π·Π°Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ для краткости ΠΈ ясности.

Π’Π°Ρˆ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ находящийся Π½Π° ΠΎΠ΄Π½ΠΎΠΉ вашСй Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ станции β€” это Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° GitHub ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… сСрвСрах, Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ локально. Π’Π°ΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ для этого ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Π£ вас Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий. Π’Π°ΠΊΠΈΠ΅ ΠΆΠ΅ Π²Π΅Ρ‚ΠΊΠΈ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΈΡ… ΠΈ Ρ‚Π΄. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ локально, ΠΊΠ°ΠΊ с сСрвСром.

ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ, Π²Ρ‹ смоТСтС ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° сСрвСр.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ваши Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ ΠΈ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ?

Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ .gitignore.

touch .gitignore #создаСт пустой Ρ„Π°ΠΉΠ» .gitignore

Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ cmd windows:

type nul > .gitignore #создаСт пустой Ρ„Π°ΠΉΠ» .gitignore

ΠŸΡƒΡΡ‚ΠΎΠΉ созданный Ρ„Π°ΠΉΠ» .gitignore Π²Π°ΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π°Π΅Ρ‚. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΠ»ΠΈΡΡŒ Π½Π° сСрвСр, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π² этом Ρ„Π°ΠΉΠ»Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°.
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» .gitignore с GitHub. Π’Π°ΠΌ Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ .gitignore для Ρ€Π°Π·Π½Ρ‹Ρ… языков ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ².
Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ gitignore >>>

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ„Π°ΠΉΠ» .gitignore Π½Π΅ добавляСтся Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

О Ρ„Π°ΠΉΠ»Π΅ .gitignore Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ:
git-scm.com/docs/gitignore

ΠŸΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎ описываСтся Π΅Π³ΠΎ синтаксис.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

git config --global core.excludesfile ~/.gitignore_global #создаСт ссылку Π½Π° Ρ„Π°ΠΉΠ» .gitignore_global

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΡƒΠ΄Π° Π²Π΅Π΄Π΅Ρ‚ ссылка ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ».

git config --get core.excludesfile #ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρ„Π°ΠΉΠ» .gitignore_global

Π’Π°ΠΌ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ». ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»(Π’ Windows cmd).

cd c:\ΠΏΡƒΡ‚ΡŒ\Π³Π΄Π΅\Π΄ΠΎΠ»ΠΆΠ΅Π½_Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ_Ρ„Π°ΠΉΠ» .gitignore_global
type nul > .gitignore_global #ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой Ρ„Π°ΠΉΠ» .gitignore_global

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΎΡ‚ΡΡŽΠ΄Π° >>>

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ваш пустой Ρ„Π°ΠΉΠ» .gitignore_global Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΈ скопируйтС тСкст ΠΈΠ· Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² ваш. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ».


рис 3.

На Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄: git add, git commit, git push ΠΈ git fetch.

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅:

git push -f #Ρ‡Ρ€Π΅Π²Π°Ρ‚ΠΎ ΠΏΠΎΡ‚Π΅Ρ€Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²Π΅Ρ‚ΠΊΠΎΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… чСловСк…
git push --force #Ρ‡Ρ€Π΅Π²Π°Ρ‚ΠΎ ΠΏΠΎΡ‚Π΅Ρ€Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²Π΅Ρ‚ΠΊΠΎΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… чСловСк…
git fetch #Π·Π°Π±ΠΈΡ€Π°Π΅Ρ‚ измСнСния с сСрвСра, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Команда fetch Π·Π°Π±ΠΈΡ€Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² ваш Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½ΠΎ Π½Π΅ сливаСт ΠΈΡ… с ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ вашими Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ ΠΈ Π½Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎ, Π½Π°Π΄ Ρ‡Π΅ΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

git pull #Π±Π΅Ρ€Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ с сСрвСра Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ рСпозитория ΠΈ сливаСт ΠΈΡ… с Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ.

ΠŸΡ€ΠΎΡ‰Π΅ говоря,

git pull 

состоит ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠ°Π½Π΄:

git fetch

ΠΈ

git merge

.

ΠžΠΏΡ†ΠΈΠΈ(ΠΊΠ»ΡŽΡ‡ΠΈ) -n, —dry-run #ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ. Π­Ρ‚ΠΈ ΠΎΠΏΡ†ΠΈΠΈ Π½ΡƒΠΆΠ½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ измСнСния сдСлаСт ΠΊΠΎΠΌΠ°Π½Π΄Π°.

Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΏΡ€ΠΈ увСрСнности Π±Π΅Π· ΠΊΠ»ΡŽΡ‡Π΅ΠΉ -n, —dry-run

МодСли вСтвлСния Π² Git:

Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ вСтвлСния?

Для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹(Workflow). Для стандартизации. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π² вашСй ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ принята, Π² зависимости ΠΎΡ‚ Ρ†Π΅Π»Π΅ΠΉ нСкоторая модСль вСтвлСния.

Central Workflow

Developer Branch Workflow

Feature Branch Workflow

Issue Branch Workflow

Forking Workflow

Patch Workflow

Central Workflow (Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс) Π² этом контСкстС опрСдСляСтся ΠΊΠ°ΠΊ Β«Π²Ρ‹ отправляСтС измСнСния Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ свои послСдниС Π²Ρ‹ΡˆΠ΅ΡΡ‚ΠΎΡΡ‰ΠΈΠ΅ измСнСния», нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ rebase ΠΈΠ»ΠΈ merge. (pull = fetch + merge ΠΈΠ»ΠΈ fetch + rebase, Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²)

Feature Branching являСт логичСским Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ Central Workflow (Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсса). Основная идСя Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса Feature Branch: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ вмСсто основной Π²Π΅Ρ‚Π²ΠΈ. Главная Π²Π΅Ρ‚Π²ΡŒ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ являСтся большим прСимущСством Π² срСдах Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.

Gitflow Workflow

Π Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Gitflow Π±Ρ‹Π» Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π² Π±Π»ΠΎΠ³Π΅ ВинсСнта ДриссСна ΠΎΡ‚ nvie Π·Π° 2010 Π³ΠΎΠ΄. Π Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Gitflow опрСдСляСт ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ модСль вСтвлСния, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΡƒΡŽ для выпуска ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π½Π΅ добавляСт ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠΌΠΈΠΌΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ трСбуСтся для Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса Feature Branch. ВмСсто этого ΠΎΠ½ Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ€ΠΎΠ»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ вСтвям ΠΈ опрСдСляСт, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.

Forking Workflow

Π Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Forking отличаСтся ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ сСрвСрный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² качСствС Β«Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉΒ» ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹, ΠΎΠ½ прСдоставляСт ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ сСрвСрный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участника Π΅ΡΡ‚ΡŒ Π½Π΅ ΠΎΠ΄ΠΈΠ½, Π° Π΄Π²Π° рСпозитория Git: частный Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ общСдоступный сСрвСрный.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ:

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

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ использованию Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊ Git.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹:

ΠœΡ‹ с Π²Π°ΠΌΠΈ рассмотрСли Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы git ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌΠΈ рСпозиториями.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни ΠΊΠΎΡΠ½ΡƒΠ»ΠΈΡΡŒ вопроса установки ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ git, рСгистрации ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ GitHub. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ git ΠΊΠ°ΠΊ локально, Ρ‚Π°ΠΊ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ. А Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса. Π’ ΠΎΠ΄Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±ΠΎ всСм. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ изучая ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π²Ρ‚ΠΎΡ€ΠΎΠ². Π§Ρ‚ΠΎ мСня ΠΏΠΎ настоящСму восхищаСт Π² git, Ρ‚Π°ΠΊ это ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ рСализация Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ экосистСмы.

.gitignore. ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹

Π’Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ понадобится Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ваш Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈ лишниС Ρ„Π°ΠΉΠ»Ρ‹.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» .gitignore Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Для автоматичСского ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ для вашСго IDE. НапримСр для NetBeans 10 Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта netbeans:
plugins.netbeans.org/plugin/50356/gitignore-io

Π’Π»Π°Π΄Π΅Π»Π΅Ρ† ΠΏΠ»Π°Π³ΠΈΠ½Π°: junichi11

ЛицСнзия: Apache License, Version 2.0

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ:

1. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΡƒ Π½Π° локальном дискС

2. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ IDE NetBeans

3. Tools/Plugin/Downloaded/Add Plugins

4. Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ»Π°Π³ΠΈΠ½Ρƒ Π½Π° вашСм локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

5. ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊ IDE

Для IDE Intellij Idea Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ Β«Add to gitignoreΒ»
plugins.jetbrains.com/plugin/7495—ignore

1.ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° сайт с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ

2. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π²Π°ΡˆΡƒ Π²Π΅Ρ€ΡΠΈΡŽ IDE

3. Π§ΠΈΡ‚Π°Π΅ΠΌ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ.

4. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΈ устанавливаСм

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΈΠ· IDE:

Preferences > Plugins > Browse repositories… > Search for «.ignore» > Install Plugin

ПослС установки Β«Restart IdeaΒ».

git update-git-for-windows #ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ git для windows

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы:
Онлайн книга по Git >>>
10 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Git ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ >>>
ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π° с Git: 3 инструмСнта для поиска ошибок >>>
Магия Git. Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚Ρ‹. Stanford >>>

Π—Π΄Π΅ΡΡŒ, Π½Π° Ρ…Π°Π±Ρ€Π΅ Π΅ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ публикация ΠΎ Git Π°Π²Ρ‚ΠΎΡ€Π° jsirex, «ЕТСднСвная Ρ€Π°Π±ΠΎΡ‚Π° с GitΒ»

Как Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎΡ‚ вСрсии ΠΊ вСрсии Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ вносятся измСнСния.

КакиС измСнСния Π±Ρ‹Π»ΠΈ сдСланы для вСрсии git 2.0: >>>

Π—Π΄Π΅ΡΡŒ Π΅Ρ‰Π΅ слСдуСт Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ бСзопасности использования git ΠΈ Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ относится ΠΊ использованию Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… UI для git.

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅, ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ слСдуСт…

Автор Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ свои ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈΡ… Π² Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠΈ Π² случаС отсутствия ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. Π­Ρ‚ΠΎ Π½Π΅ ΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ°Ρ‚ΡƒΠΌ. Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π²Π°ΠΌ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠΎΡ‡ΡŒ, Ρ‚ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€Π°.

лСгСндарная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для совмСстного управлСния ΠΊΠΎΠ΄ΠΎΠΌ

GitHub – это ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. Он ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ситуациях, ΠΊΠΎΠ³Π΄Π° распрСдСлСнным ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ совмСстно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·ΠΎΠΉ.

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

ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния Π² Ρ„Π°ΠΉΠ»Π΅ с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ слоТно, Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ. Git β€” это систСма контроля вСрсий (VCS) β€” инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ различия Π² Ρ„Π°ΠΉΠ»Π΅ с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ВСроятно, Π²Ρ‹ испытали ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ·ΠΎΡ‰Ρ€Π΅Π½Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Β«ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ» ΠΈΠ»ΠΈ Β«Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡΒ» Π² Microsoft Word, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Ρ€Π°Π½Π΅Π΅ сохранСнной вСрсии Ρ„Π°ΠΉΠ»Π°. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ создали свой собствСнный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий, сохранив Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠΈ Ρ„Π°ΠΉΠ»Π° с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². Git Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ это Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, позволяя Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ сохраняСтС Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ этом.

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

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Git Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ядра Linux Π² 2005 Π³ΠΎΠ΄Ρƒ.

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Git

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

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

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

Π‘Π΅Π· Git Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ эти Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠ°ΠΏΠΊΠ΅ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π³Π΄Π΅ находятся всС Ρ„Π°ΠΉΠ»Ρ‹ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ отправляСтС своС сообщСниС Π΄Π²ΡƒΠΌ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌ для рСдактирования. Как Π²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚Π΅ ΠΈΡ… измСнСния вмСстС?

Какой Ρ„Π°ΠΉΠ» являСтся ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рСдактируСтся? Π‘ Git Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ вСсь Ρ€Π΅ΠΏΠΎ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚. ПозТС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ эту ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² эту ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

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

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это дСлаСтся, ΠΊΠΎΠ³Π΄Π° достигнут прогрСсс ΠΈ Ссли функция Π½Π΅ содСрТит ошибок. ΠŸΡ€ΠΈ создании ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ. Π­Ρ‚ΠΎ сообщСниС добавляСт ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π±Ρ‹Π»Π° Π²Π²Π΅Π΄Π΅Π½Π° опрСдСлСнная функция ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ошибка.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Github

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

НапримСр, GitHub позволяСт Π»Π΅Π³ΠΊΠΎ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ΄ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Он стал инструмСнтом Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ сообщСства open source ΠΈ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ тысячами ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. Π£ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ GitHub Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π΅ΠΏΠΎ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь, Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… β€” сотни.

НаиболСС Π²Π°ΠΆΠ½Ρ‹Π΅ инструмСнты слоСв GitHub ΠΏΠΎΠ²Π΅Ρ€Ρ… Git Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

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

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт GitHub.

Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ GitHub

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

Π― ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Π½Π° GitHub, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±Ρ‹Π» Π»Π΅Π³ΠΊΠΎ доступСн Π½Π° любом ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Однако, Ссли я Ρ€Π΅ΡˆΡƒ ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡ΡŒ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Π° ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ΠΌΠ½ΠΎΠΉ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ Π² наш Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс. Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Компании, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Github

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

МногиС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠ°ΠΊ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ частныС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО сущСствуСт ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚ Π°Π»ΡŒΡ‚Ρ€ΡƒΠΈΠ·ΠΌΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. НапримСр, Ρƒ Facebook Π΅ΡΡ‚ΡŒ мноТСство ПО с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° GitHub.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ популярныС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Git ΠΈ GitHub для размСщСния исходного ΠΊΠΎΠ΄Π°:

  • Netflix
  • Amazon
  • Airbnb
  • Google
  • IBM

GitHub β€” бСзусловно, самый популярный хостинг Git. По ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° ΠΎΠΊΡ‚ΡΠ±Ρ€ΡŒ 2018 Π³ΠΎΠ΄Π° Π² ΠΌΠΈΡ€Π΅ Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»ΠΎΡΡŒ 31 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 96 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰. По ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° ΠΎΠΊΡ‚ΡΠ±Ρ€ΡŒ 2017 Π³ΠΎΠ΄Π° Ρƒ GitHub Π±Ρ‹Π»ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² 5 Ρ€Π°Π· большС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‡Π΅ΠΌ Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ популярного сайта с исходным ΠΊΠΎΠ΄ΠΎΠΌ, Bitbucket.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΈ нСдостатки Github

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

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

НСдостатки

  • ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ нСдостатком ΠΊΠ°ΠΊ Git, Ρ‚Π°ΠΊ ΠΈ GitHub являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… ΠΎΠ±ΠΎΠΈΡ… довольно Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ.

Установка ΠΈ конфигурция

Для установки Π³ΠΈΡ‚Π·Ρ…Π°Π±Π° понадобится лишь ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° β€” sudo apt-get install gitДля Π½Π°Ρ‡Π°Π»Π° зафиксируСм вашС имя ΠΈ ΠΏΠΎΡ‡Ρ‚Ρƒ git config β€”global user.name «Имя»
git config β€”global user.email Β«ΠΏΠΎΡ‡Ρ‚Π°Β»
Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. git init testcd testΠ’ Π΄Π°Π½Π½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π― создам Ρ„Π°ΠΉΠ» readme. subl READMEΠΈ Ρ„Π°ΠΉΠ» Ρ‚ΠΈΠΏΠ° C. subl test.cΠ’Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² индСкс двумя ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:

git add README
git add sample.cКогда всС Ρ„Π°ΠΉΠ»Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… git commit -m Β«ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉΒ»ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° сайт, рСгистрируСм свой ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Ссли Π½Π΅ сдСлали этого Ρ€Π°Π½Π΅Π΅, ΠΈ добавляСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½Π°ΠΆΠ°Π² Π½Π° плюс Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ.НазываСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² консоли, ΠΈ Π½Π°Ρ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎ вашСй Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΠΈΠ’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ вывСсти всС Ρ„Π°ΠΉΠ»Ρ‹ Π² сам Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, вписав ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git remote add origin https://github.com/имя/test.git . НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ строку с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ рСпозитория ΠΈ вашим ΠΈΠΌΠ΅Π½Π΅ΠΌ.

Π’Ρ‹Π²ΠΎΠ΄

GitHub β€” Π»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для контроля вСрсий ΠΊΠΎΠ΄Π° ΠΈ совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHub | GitHub Tutorial For Beginners

Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHub, Ρ‚ΠΎ этот Π±Π»ΠΎΠ³ для вас. Github — это Π²Π΅Π±-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для контроля вСрсий. Git ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ процСсс Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ людьми ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π§Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ свои измСнСния с основной Π²Π΅Ρ‚ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Git & GitHub skill постСпСнно прСвратился ΠΈΠ· ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² Π² Π½Π°Π²Ρ‹ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для выполнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Ρ€ΠΎΠ»Π΅ΠΉ.Π’ этом Π±Π»ΠΎΠ³Π΅ я расскаТу Π²Π°ΠΌ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… функциях ΠΈ возмоТностях GitHub.

Π’ этом Π±Π»ΠΎΠ³Π΅ «Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GithubΒ» Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅:

Π¨Π°Π³ 1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Github?

Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ GitHub, это слуТба совмСстного использования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΎΠ΄Π° для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ людьми.

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

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

GitHub ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ прСимущСства, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ люди часто ΡΠΎΠΌΠ½Π΅Π²Π°ΡŽΡ‚ΡΡ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Dropbox ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Π»Π°Ρ‡Π½ΡƒΡŽ систСму? ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° этот вопрос. Допустим, Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡƒΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈ хотят ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. К соТалСнию, Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ сохранит Ρ„Π°ΠΉΠ», ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π°Π΄ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.Π’ Github это Π½Π΅ Ρ‚Π°ΠΊ. Github Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ измСнСния ΠΈ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΡ… ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ хаоса ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, использованиС Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ рСпозитория GitHub позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΊΠΎΠ΄ΠΎΠΌ становится ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ.

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ способы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ GitHub ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ git:

    • GitHub прСдоставляСт Π²Π°ΠΌ красивый Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ вашими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ вСрсиСй локально.
    • ПослС рСгистрации Π½Π° GitHub Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ.

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с GitHub.

Π¨Π°Π³ 2: Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ GitHub?

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

  • ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС: https://github.com/. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΡƒ рСгистрации ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° GithubΒ».
  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Β«ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Β».

Π‘ΠΌ. Π‘Π½ΠΈΠΌΠΎΠΊ экрана Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ.

  • Π’Π²Π΅Π΄ΠΈΡ‚Π΅ любоС имя рСпозитория ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉΒ».Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°Ρ‚ΡŒ описаниС своСму Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ).

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

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ, ваш Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создан! Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ Π½ΠΈΠΆΠ΅:

Π˜Ρ‚Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΉ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создан! Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ сдСлано, Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ фиксации, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΡŽ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈ разбСрСмся с Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² GitHub.

Π¨Π°Π³ 3: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΎΠΊ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅: Π’Π΅Ρ‚Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСрсиями рСпозитория ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.Допустим, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (которая находится Π² стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ) ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя Π±ΠΎΠΈΡ‚Π΅ΡΡŒ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² свой основной ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Π—Π΄Π΅ΡΡŒ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ git. Π’Π΅Ρ‚Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ состояниями / вСрсиями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ сцСнарии Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½Π΅ затрагивая ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ с этим, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.Π—Π΄Π΅ΡΡŒ основная Π²Π΅Ρ‚ΠΊΠ° — это главная Π²Π΅Ρ‚ΠΊΠ°, которая ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ находится Π² вашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Π½ΠΈΠΆΠ΅ для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания:

Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π²Ρ‹ΡˆΠ΅, сущСствуСт Π²Π΅Ρ‚Π²ΡŒ master / production, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ новая Π²Π΅Ρ‚ΠΊΠ° для тСстирования. Π’ этой Π²Π΅Ρ‚ΠΊΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΄Π²Π° Π½Π°Π±ΠΎΡ€Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΈ ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠ½ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅!
Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHub, ΠΈ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ Π² GitHub, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список Β«Branch: masterΒ»
  • Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ, Π²Ρ‹ смоТСтС Π½Π°ΠΉΡ‚ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ. .Π’ ΠΌΠΎΠ΅ΠΌ случаС я создаю Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«readme- changesΒ». ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡƒ Π½ΠΈΠΆΠ΅ снимку экрана для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ создали Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Ρƒ вас Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ Π²Π΅Ρ‚ΠΊΠΈ Π² вашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ read-me (основная Π²Π΅Ρ‚ΠΊΠ°) ΠΈ readme- changes. Новая Π²Π΅Ρ‚ΠΊΠ° — это просто копия Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ. Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ внСсСм Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния Π² Π½Π°ΡˆΡƒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ сдСлаСм Π΅Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΎΡ‚ основной.

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHub: ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Команда фиксации:

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

  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» Β«readme-changesΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ создали.
  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ Β«Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡ΠΎΠΊ ΠΊΠ°Ρ€Π°Π½Π΄Π°ΡˆΠ° Π² ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ Ρ„Π°ΠΉΠ»Π°.
  • Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Π½Π° это, откроСтся Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти измСнСния ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅.
  • ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ сообщСниС фиксации, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ваши измСнСния.
  • Π’ ΠΊΠΎΠ½Ρ†Π΅ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«ΠŸΡ€ΠΈΠ½ΡΡ‚ΡŒ измСнСния».

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡƒ Π½ΠΈΠΆΠ΅ снимку экрана для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания:

ΠœΡ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ сдСлали Π½Π°ΡˆΡƒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ„ΠΈΠΊΡΠ°Ρ†ΠΈΡŽ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ этот Ρ„Π°ΠΉΠ» Β«readme-changesΒ» отличаСтся ΠΎΡ‚ основной Π²Π΅Ρ‚ΠΊΠΈ.Π—Π°Ρ‚Π΅ΠΌ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ запрос Π½Π° пСрСнос.

Команда извлСчСния

Команда извлСчСния являСтся самой Π²Π°ΠΆΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π² GitHub. Он сообщаСт ΠΎΠ± измСнСниях, внСсСнных Π² Ρ„Π°ΠΉΠ», ΠΈ просит Π΄Ρ€ΡƒΠ³ΠΈΡ… участников ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с основной Π²Π΅Ρ‚ΠΊΠΎΠΉ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ фиксация Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°, любой ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ обсуТдСниС ΠΏΠΎ Π½Π΅ΠΌΡƒ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ всС Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ». Команда Pull сравниваСт измСнСния, внСсСнныС Π² Ρ„Π°ΠΉΠ», ΠΈ, Ссли Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈΡ….Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ pull request Π² GitHub ΠΌΠΎΠΆΠ½ΠΎ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… этапах.

  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Запросы Π½Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅Β».
  • НаТмитС «Новый запрос Π½Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅Β».
  • ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ запрос Π½Π° вытягиваниС, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» Β«readme- changesΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ измСнСния ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π² нашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.
  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ запрос Π½Π° вытягиваниС».
  • Π’Π²Π΅Π΄ΠΈΡ‚Π΅ любой Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, описаниС Π²Π°ΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ запрос Π½Π° пСрСнос». Π‘ΠΌ. Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ Π½ΠΈΠΆΠ΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ продвинСмся Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ посмотрим, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ свой запрос Π½Π° пСрСнос.

Команда слияния

А Π²ΠΎΡ‚ ΠΈ послСдняя ΠΊΠΎΠΌΠ°Π½Π΄Π°, которая ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ измСнСния Π² Π³Π»Π°Π²Π½ΡƒΡŽ Π³Π»Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ. ΠœΡ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ измСнСния Π² Ρ€ΠΎΠ·ΠΎΠ²ΠΎΠΌ ΠΈ Π·Π΅Π»Π΅Π½ΠΎΠΌ Ρ†Π²Π΅Ρ‚Π΅, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ объСдиним Ρ„Π°ΠΉΠ» Β«readme-changesΒ» с основной Π²Π΅Ρ‚ΠΊΠΎΠΉ / read-me. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ запрос Π½Π° пСрСнос.

  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Β«Merge pull requestΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ измСнСния Π² Π³Π»Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.
  • НаТмитС Β«ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ слияниС».
  • Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС измСнСния Π±ΡƒΠ΄ΡƒΡ‚ внСсСны, ΠΈ Ссли Π½Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ².Π‘ΠΌ. Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ Π½ΠΈΠΆΠ΅.

НадСюсь, Π²Ρ‹, рСбята, ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эти шаги ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΏΠΎΠΊΠ° ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHub. Π—Π°Ρ‚Π΅ΠΌ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ нашСй послСднСй Ρ‚Π΅ΠΌΠ΅ Π² Π±Π»ΠΎΠ³Π΅ Β«ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHubΒ», Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ Ρ„ΠΎΡ€ΠΊΠΎΠ²Π°Π½ΠΈΡŽ рСпозитория GitHub.

Π¨Π°Π³ 4: ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ„ΠΎΡ€ΠΊ рСпозитория GitHub

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ я фактичСски расскаТу ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ рСпозитория GitHub, сначала ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ Π½Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.ΠžΡ‚Π²Π΅Ρ‚ прост! ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ присутствуСт Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС ΠΏΡƒΡ‚Π΅ΠΌ клонирования ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡƒ Π½ΠΈΠΆΠ΅ снимку экрана для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания.

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ просто! Если Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с использованиСм GitHub, ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ свои ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π½ΠΈΠΆΠ΅. Π”Π²ΠΈΠ³Π°ΡΡΡŒ Π²ΠΏΠ΅Ρ€Π΅Π΄, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅.

Π€ΠΎΡ€ΠΊΠΈΠ½Π³: Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Ρ„ΠΎΡ€ΠΊΠΈΠ½Π³.ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ присутствуСт Π² общСдоступном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π² вашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи GitHub. Для этого Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ„ΠΎΡ€ΠΊ рСпозитория.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с развСтвлСния, Π΅ΡΡ‚ΡŒ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ.

  • ИзмСнСния, внСсСнныС Π² исходный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.
  • Если Π²Ρ‹ внСсСтС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΎΠ½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΎ Π² исходном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ сдСлаСтС запрос Π½Π° пСрСнос.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΊ рСпозитория. Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

  • ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» Β«ΠžΠ±Π·ΠΎΡ€Β» ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ поиск общСдоступных Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².
  • Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Β«Π²ΠΈΠ»ΠΊΠ°Β». ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ этот Β«ΠΊΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΒ» Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΡƒΠΆΠ΅ Π±Ρ‹Π» Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»Π΅Π½ 27 Ρ€Π°Π· ΠΈ находится ΠΏΠΎΠ΄ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записью Β«googleΒ» . Π‘ΠΌ. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅ для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания.

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

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ! Π’Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создали Π²Π΅Ρ‚Π²ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ рСпозитория ΠΏΠΎΠ΄ своСй ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записью.

Π’ΠΎΡ‚ ΠΈ всС для этого поста. НадСюсь, Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ, ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Β«ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GitHubΒ».

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

.

с использованиСм Git — GitHub Docs

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ GitHub

  • ВсС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹

  • GitHub.com
    • Начиная

      • Быстрый старт

        • ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Git
        • Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎ
        • Π€ΠΎΡ€ΠΊ Ρ€Π΅ΠΏΠΎ
        • Π‘Ρ‹Ρ‚ΡŒ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ
      • Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ GitHub

        • ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ GitHub
        • Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ выпусков Ρ€Π°Π½Π½Π΅Π³ΠΎ доступа с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ просмотром Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
        • Π’ΠΈΠΏΡ‹ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ² GitHub
        • Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы ΠΎΠ± измСнСниях Π² ΠΏΠ»Π°Π½Π°Ρ… GitHub
        • GitHub CLI
        • GitHub Desktop
        • GitHub для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств
        • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° доступ Π½Π° GitHub
        • Глоссарий GitHub
        • Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ Git
        • Π£Ρ‡Π΅Π±Π½Ρ‹Π΅ рСсурсы Git ΠΈ GitHub
      • РСгистрация Π½Π° GitHub

        • РСгистрация Π½ΠΎΠ²ΠΎΠΉ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи GitHub
        • ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ адрСса элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹
        • Настройка ΠΏΡ€ΠΎΠ±Π½ΠΎΠΉ вСрсии GitHub Enterprise Cloud
        • Настройка ΠΏΡ€ΠΎΠ±Π½ΠΎΠΉ вСрсии GitHub Enterprise Server

.

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ GitHub — Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ GitHub

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ GitHub

  • ВсС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹

  • GitHub.com
    • Начиная

      • Быстрый старт

        • ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Git
        • Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎ
        • Π€ΠΎΡ€ΠΊ Ρ€Π΅ΠΏΠΎ
        • Π‘Ρ‹Ρ‚ΡŒ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ
      • Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ GitHub

        • ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ GitHub
        • Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ выпусков Ρ€Π°Π½Π½Π΅Π³ΠΎ доступа с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ просмотром Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
        • Π’ΠΈΠΏΡ‹ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠ² GitHub
        • Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы ΠΎΠ± измСнСниях Π² ΠΏΠ»Π°Π½Π°Ρ… GitHub
        • GitHub CLI
        • GitHub Desktop
        • GitHub для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств
        • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° доступ Π½Π° GitHub
        • Глоссарий GitHub
        • Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ Git
        • Π£Ρ‡Π΅Π±Π½Ρ‹Π΅ рСсурсы Git ΠΈ GitHub
      • РСгистрация Π½Π° GitHub

        • РСгистрация Π½ΠΎΠ²ΠΎΠΉ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи GitHub
        • ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ адрСса элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹
        • Настройка ΠΏΡ€ΠΎΠ±Π½ΠΎΠΉ вСрсии GitHub Enterprise Cloud

.

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

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ GitHub

  • GitHub.com

  • Администраторы прСдприятия

  • ДСйствия GitHub

  • ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ GitHub

  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ

  • REST API

  • GraphQL API

  • GitHub Insights

  • GitHub Desktop

  • Атом

  • Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ GitHub

Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ

GitHub.com

Администраторы прСдприятия

ДСйствия GitHub

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ GitHub

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ

REST API

GraphQL API

GitHub Insights

GitHub Desktop

Атом

.

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

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