Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это

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

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

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… способов:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π·ΡΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² настоящСС врСмя Π½Π΅ находится ΠΏΠΎΠ΄ вСрсионным ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ, ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git, Π»ΠΈΠ±ΠΎ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git ΠΈΠ· любого мСста.

Π’ ΠΎΠ±ΠΎΠΈΡ… случаях Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ рСпозитория Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅

Если Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ находится ΠΏΠΎΠ΄ вСрсионным ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ Git, Ρ‚ΠΎ для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π½Π΅Π³ΠΎ. Если Π²Ρ‹ Π½Π΅ Π΄Π΅Π»Π°Π»ΠΈ этого Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‚ΠΎ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм это выглядит ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ:

Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ вСрсионный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ пустого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°), Π²Π°ΠΌ стоит Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² индСкс ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π”ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого Π²Ρ‹ смоТСтС запустив ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git add нСсколько Ρ€Π°Π·, ΡƒΠΊΠ°Π·Π°Π² индСксируСмыС Ρ„Π°ΠΉΠ»Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² git commit :

ΠœΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с отслСТиваСмыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ.

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ рСпозитория

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

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это

Git (читаСтся ΠΊΠ°ΠΊ Β«Π³ΠΈΡ‚Β») β€” это систСма контроля вСрсий, которая ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π°Ρ…. Git ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ программисты для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Git β€” систСма контроля вСрсий

Π’ самом простом Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий β€” это сохранСниС Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ сСрии ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π΄Π°Ρ‚Π°ΠΌΠΈ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ, ΠΈΠ»ΠΈ Ρ€Π΅ΠΆΠΈΠΌ отслСТивания исправлСний Π² тСкстовых Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ….

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ часто Π±Ρ‹Π²Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии ΠΊΠΎΠ΄Π°:

Если Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ людСй, Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±Π΅Π· ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΠΎΡ‚Π΅Ρ€ΡŒ ΠΊΠΎΠ΄Π°. ВсС эти Π·Π°Π΄Π°Ρ‡ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git.

К Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ возмоТностям Git относятся:

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Git, Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. На ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС Git ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ установщик ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ инструкции для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ².

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

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git?

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ β€” это всС Ρ„Π°ΠΉΠ»Ρ‹, находящиСся ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ вСрсий, вмСстС с историСй ΠΈΡ… измСнСния ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ слуТСбной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, Π»ΠΈΠ±ΠΎ Π²Ρ‹Π±Ρ€Π°Π² Π»ΡŽΠ±ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π»ΠΈΠ±ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π² сСбС ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρƒ работодатСля.

Π“Π΄Π΅ хранится Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ?

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ способы хранСния ΠΈ использования рСпозитория: Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅, Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈ распрСдСлСнныС систСмы контроля вСрсий.

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ?

По-английски commit Π·Π½Π°Ρ‡ΠΈΡ‚ Β«Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ». Git-ΠΊΠΎΠΌΠΌΠΈΡ‚ β€” это опСрация, которая Π±Π΅Ρ€Π΅Ρ‚ всС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ измСнСния ΠΈ отправляСт ΠΈΡ… Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΠΌΠΌΠΈΡ‚, Ссли Git ΠΈ Ρ‚Π°ΠΊ слСдит Π·Π° всСми измСнСниями? ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ Ρ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‚ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, состоящий ΠΈΠ· большого количСства ΠΏΡ€Π°Π²ΠΎΠΊ, Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ шаги. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ β€” это Π½Π΅ΠΊΠΎΠ΅ логичСски Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ понятная (Π² Ρ‚ΠΎΠΌ числС ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ) Ρ‚ΠΎΡ‡ΠΊΠ°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

ИзмСнСния Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ, установлСнным ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΈ рСкомСндациям, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠΌΡΡ имСнования, описания ΠΈ содСрТания ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс прСдставляСт собой Ρ†ΠΈΠΊΠ»: ΠΊΠΎΠΌΠΌΠΈΡ‚ β€” ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² β€” ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅?

Удобная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° вСтвлСния β€” Π²Π°ΠΆΠ½ΠΎΠ΅ свойство Git. ИспользованиС вСтвлСния позволяСт Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π΅ вмСшиваясь Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ линию Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

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

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ с нуля Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ с Git ΠΈ ΡΡ‚Π°Π½ΡŒΡ‚Π΅ вострСбованным спСциалистом. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ скидка 5% ΠΏΠΎ ΠΏΡ€ΠΎΠΌΠΎΠΊΠΎΠ΄Ρƒ BLOG.

ΠŸΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ даСтся Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ testing. Если ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ testing ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ testing пСрСмСстится Π²ΠΏΠ΅Ρ€Π΅Π΄, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ master останСтся Π½Π° мСстС. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ²ΡˆΠΈΡΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ master, Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ вСрнутся Π² состояниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ master.

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ история ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°Π·ΠΎΡˆΠ»Π°ΡΡŒ Π½Π° Π΄Π²Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° вСрсии, ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΡΠ»ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΎΠ΄Π½Ρƒ.

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

GitHub β€” это самый популярный сайт для хранСния git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ. Π’Π°ΠΊΠΆΠ΅ GitHub являСтся ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠ΅ΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΎΠΉ для размСщСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Для просмотра ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ общСдоступных Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π½Π΅ трСбуСтся Π½ΠΈ рСгистрации, Π½ΠΈ ΠΎΠΏΠ»Π°Ρ‚Ρ‹ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°.

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

GitHub часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΡ€ΠΈ Ρ€Π΅ΠΊΡ€ΡƒΡ‚ΠΌΠ΅Π½Ρ‚Π΅ β€” Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ ΠΈ высокоС качСство ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡƒΡ‚ сильно ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² поискС Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ особСнно Π²Π°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ.

БСйчас сущСствуСт ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ½Π»Π°ΠΉΠ½-сСрвисов, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… с Git. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ GitHub β€” это, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, GitLab ΠΈ BitBucket. Π£ ΠΎΠ±ΠΎΠΈΡ… сайтов мСньшС аудитория, Π½ΠΎ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ свой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΈ свои прСимущСства, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ BitBucket Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π΅Π½ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ с нуля Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ с Git ΠΈ ΡΡ‚Π°Π½ΡŒΡ‚Π΅ вострСбованным спСциалистом. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ скидка 5% ΠΏΠΎ ΠΏΡ€ΠΎΠΌΠΎΠΊΠΎΠ΄Ρƒ BLOG.

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

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

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

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

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

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

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

Установка

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

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

Настройка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Git. ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎ Π³Π»Π°Π²Π½ΠΎΠΌ

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это

CΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅:

4. Π‘Π°ΠΌΡ‹Π΅ распространСнныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Git;

5. Π Π°Π±ΠΎΡ‚Π° с историСй;

7. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ вСдСния истории ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! МСня Π·ΠΎΠ²ΡƒΡ‚ Π•Π³ΠΎΡ€, я занимаюсь Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Flutter. Π­Ρ‚ΠΎ моя пСрвая Ρ€Π°Π±ΠΎΡ‚Π° Π² сфСрС IT, ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ±Π°Π΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ, я столкнулся с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ изучСния систСм контроля вСрсий. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Π½Ρ‹ΠΌΠΈ знаниями ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… систСм, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Git. Π˜Ρ‚Π°ΠΊ, Π½Π°Ρ‡Π½Π΅ΠΌ.

β€œWhoah, I’ve just read this quick tuto about git and oh my god it is cool. I feel now super comfortable using it, and I’m not afraid at all to break something.” β€” said no one ever.

НС Ρ‚Π°ΠΊ ΡΡ‚Ρ€Π°ΡˆΠ΅Π½ Ρ‡Ρ‘Ρ€Ρ‚, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΌΠ°Π»ΡŽΡŽΡ‚. Π₯отя, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ каТСтся, это Π½Π΅ касаСтся Git. Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ с этим инструмСнтом. НСсмотря Π½Π° ΠΎΠ±ΠΈΠ»ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»ΠΎΠ², это Π·Π°Π΄Π°Ρ‡Π° являСтся Π½Π΅ самой Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· своСго ΠΎΠΏΡ‹Ρ‚Π°, ΠΌΠΎΠ³Ρƒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ самыС Ρ€Π°Π·Π½Ρ‹Π΅ рСсурсы, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ наступит ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.

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

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ систСму контроля вСрсий, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚.

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

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

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

Git являСтся распрСдСлСнной систСмой контроля вСрсий, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ Линусом Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠΎΠΌ для управлСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ядра Linux. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Git Π·Π°Π²ΠΎΠ΅Π²Π°Π» ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π² IT сообщСствС ΠΈ, ΠΊΠ°ΠΊ слСдствиС, Π΅Π³ΠΎ часто ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ Π² стСкС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ.

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

Установка Git

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git.

НиТС я ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡŽ ΠΊΡ€Π°Ρ‚ΠΊΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΊ установкС, Π½ΠΎ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ этой ссылкС Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ источник ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² этом ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Windows. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС ΠΈ скачайтС Git ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ вашСго процСссора (32 ΠΈΠ»ΠΈ 64-bit) ΠΈ установитС Π΅Π³ΠΎ.

Linux. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ инструкции.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ваша Ρ€Π°Π±ΠΎΡ‚Π° с Git Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ потрСбуСтся ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Git Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π’ Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ вся конфигурация Git ΠΈ история ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ эти Ρ„Π°ΠΉΠ»Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, внося Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ измСнСния Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ содСрТатся настройки Git рСпозитория. НапримСр, здСсь ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ email ΠΈ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

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

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ refs Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС копию ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΊΠ°Ρ….

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ logs Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° для всСх Π²Π΅Ρ‚ΠΎΠΊ Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ objects Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС BLOB ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… проиндСксирован ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ SHA.

Π€Π°ΠΉΠ» содСрТит ссылку Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π²ΠΎ врСмя слияния Π² этот Ρ„Π°ΠΉΠ» ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ SHA Π²Π΅Ρ‚ΠΊΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ слияниС

Π€Π°ΠΉΠ» Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС ссылки Π² Π²ΠΈΠ΄Π΅ SHA Π½Π° Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ участвовали Π² git fetch

Π€Π°ΠΉΠ» Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС ссылки Π² Π²ΠΈΠ΄Π΅ SHA Π½Π° Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ участвовали Π² git merge

Π€Π°ΠΉΠ» содСрТит Π² сСбС послСднСС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Π°ΠΌΠΈ сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

Π‘Π°ΠΌΡ‹Π΅ распространСнныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Git.

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это

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

1. ВнСсти измСнСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚;

Π˜Ρ‚Π°ΠΊ, разбСрСмся Π² этом ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. ΠŸΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π² Git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Π²Π½ΠΎΡΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ измСнСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ создали Ρ„Π°ΠΉΠ» `hello_world.txt` ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ Π΅Π³ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

Π’Π²Π΅Π΄Π΅ΠΌ git status ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Команда git status ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ состояниС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ индСкса(staging area). Π­Ρ‚ΠΎ позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Git, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊΠΈΠ΅ измСнСния Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ создали Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Git опрСдСляСт Π΅Π³ΠΎ ΠΊΠ°ΠΊ нСотслСТиваСмый, ΠΈ Ρ‚ΡƒΡ‚ ΠΆΠ΅ подсказываСт, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ дальшС:

git add hello_world.txt

Π€Π°ΠΉΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² индСкс. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ внСсСнныС измСнСния ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ нСбольшоС описаниС. ДСлаСтся это ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Π“ΠΎΡ‚ΠΎΠ²ΠΎ! ΠœΡ‹ сдСлали наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚! Π”Π°Π»Π΅Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² наш Ρ„Π°ΠΉΠ» строку β€œHello, World!”, ΠΈ снова ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ git status:

Π§Ρ‚ΠΎ ΠΆ, ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСнСния Π½Π° своСй машинС, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ нашСй истории Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π½Π° GitHub.

Для Π½Π°Ρ‡Π°Π»Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Как это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² случаС с GitHub ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описано Ρ‚ΡƒΡ‚.

Π”Π°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² Git:

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° сопоставит ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ с ссылкой Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· эту ссылку. НапримСр:

git remote add origin https://github.com/user/hello_world.git

Π“ΠΎΡ‚ΠΎΠ²ΠΎ! Π’Π΅ΠΏΠ΅Ρ€ΡŒ история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Π Π°Π±ΠΎΡ‚Π° с историСй

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это

Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ измСнСния Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ.

Настало врСмя ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ историСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. А ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ измСнСния ΠΈ ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ.

Для инспСктирования истории Π² Git прСдусмотрСн ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ряд ΠΊΠΎΠΌΠ°Π½Π΄, рассмотрим нСсколько ΠΈΠ· Π½ΠΈΡ…:

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для отобраТСния всСй вашСй истории. Она ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вСсьма ΡƒΠ΄ΠΎΠ±Π½Π°, Ссли Π²Π°ΠΌ понадобилось ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния Π²Ρ‹ вносили Ρ€Π°Π½Π΅Π΅. Или Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ мСста Π² истории, Π»ΠΈΠ±ΠΎ Ссли Π΅ΡΡ‚ΡŒ Π½ΡƒΠΆΠ΄Π° Π΅Ρ‘ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Если ввСсти git log Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ… Π»ΠΈΠ±ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², выглядит это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

git log ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π²Ρ‹Π²ΠΎΠ΄ Π² консоль. Π’Π°ΠΌ прСдоставляСтся Π²Ρ‹Π±ΠΎΡ€ Π½Π° любой вкус.

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ послСдниС Ρ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°? ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°:

Π•ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ вывСсти всС Π² ΠΎΠ΄Π½Ρƒ линию? Запросто:

Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎ бСсконСчности, поэтому я ΠΎΡΡ‚Π°Π²Π»ΡŽ ссылочку, пСрСйдя ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ, Π²Ρ‹ смоТСтС с Π½ΠΈΠΌΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅ΠΉ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ.

Команда git show ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отобраТСния ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ любом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π² Git, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ»ΠΈ Π²Π΅Ρ‚ΠΊΠ°. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ git show ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ HEAD.

Для удобства Ρ€Π°Π±ΠΎΡ‚Ρ‹ git show оснащСн рядом Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΌΡ‹ рассмотрим Π½ΠΈΠΆΠ΅.

Π—Π΄Π΅ΡΡŒ прСдставлСна полная информация ΠΎ послСднСм ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ измСнСния ΠΎΠ½ Π² сСбя Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ вывСсти Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ указываСтся ΠΏΠΎΠ»ΡƒΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ, содСрТащим id ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт. Выглядит это ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

git show 349de9d..957e113

Для Π±ΠΎΠ»Π΅Π΅ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ сократим id ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΠΌ авторство ΠΈ Π΄Π°Ρ‚Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ `git show` ΠΈ с Π΅Ρ‘ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ пСрСйдя ΠΏΠΎ ссылкС.

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ упорядочСнный список ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π» HEAD. Π“Ρ€ΡƒΠ±ΠΎ говоря, ΠΎΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ всСх Π²Π°ΡˆΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ.

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

Π’Ρ‹Π²ΠΎΠ΄ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ `git reset`. Она позволяСт ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ.

Π­Ρ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с трСмя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:

Π”Π°Π²Π°ΠΉΡ‚Π΅ вСрнСмся ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π˜Ρ‚Π°ΠΊ, Π² Ρ…ΠΎΠ΄Π΅ нашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΌΡ‹ сдСлали Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

Π”Π°Π»Π΅Π΅, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ индСкс:

Как ΠΈ оТидалось, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ HEAD пСрСмСстился Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π° состояниС индСкса ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ git status:

Π‘Π½ΠΎΠ²Π° провСряСм git status :

Π—Π΄Π΅ΡΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ HEAD пСрСмСстился Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π° всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ измСнСния Π±Ρ‹Π»ΠΈ стСрты, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎ пустому индСксу ΠΈ Π·ΠΎΠ½Π΅ отслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ².

И Ссли ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ сСйчас содСрТимоС Ρ„Π°ΠΉΠ»Π°, Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ строку β€œHello, world!”, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ с Π²Π°ΠΌΠΈ добавляли Π² Ρ„Π°ΠΉΠ» Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅.

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

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

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

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ с этим ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Π£ нас имССтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

Git ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΎ врСмя ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ создаСт Π²Π΅Ρ‚ΠΊΡƒ master ΠΈ ΡƒΠΆΠ΅ Π²Π΅Π΄Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Π½Π΅ΠΉ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π² этом ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ ввСдя ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ понадобилось ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ вСсти Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Π½Π΅ΠΉ. Для этого сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Ρ‘ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ.

ДСлаСтся это ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git branch
. Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Π²Π΅Ρ‚ΠΊΡƒ β€œdev”:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ввСдя ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git branch ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π—Π²Ρ‘Π·Π΄ΠΎΡ‡ΠΊΠΎΠΉ Git ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git checkout
. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠΌΡΡ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ β€œdev”.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ внСсСм Π»ΡŽΠ±Ρ‹Π΅ измСнСния Π² Ρ„Π°ΠΉΠ» hello_world.txt ΠΈ сдСлаСм ΠΊΠΎΠΌΠΌΠΈΡ‚, послС Ρ‡Π΅Π³ΠΎ посмотрим, ΠΊΠ°ΠΊ выглядят наши Π²Π΅Ρ‚ΠΊΠΈ послС рСдактирования.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ master

git checkout master

Помимо раздСлСния истории Π² Git ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ Π΄Π²Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ»ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² master. Π’Π°ΠΊΠΎΠΉ процСсс слияния ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git merge
. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠ»ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ β€œdev” Π² Π²Π΅Ρ‚ΠΊΡƒ β€œmaster”, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ β€œmaster” ΠΈ Π² Π½Π΅ΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ вСдСния истории ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Моя ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Ρ…ΠΎΡ‡Ρƒ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ соглашСния ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ вСдСния истории Π² Git.

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

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, я расскаТу ΠΊΠ°ΠΊΠΈΠ΅ соглашСния Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ.

1. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

НиТС прСдставлСн шаблон Π½Π°ΡˆΠΈΡ… сообщСний ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Ρ‚ΠΎ это

ΠœΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π΄Π°Ρ‚Ρƒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ прилоТСния для удобства поиска Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² истории.

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊΠΎΠΉ Ρ„Ρ€ΠΎΠ½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π² этом ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹:

2. БтратСгия вСтвлСния:

Π’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ достаточно ΠΌΠ½ΠΎΠ³ΠΎ стратСгий вСтвлСния. ВсС ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ, Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’ нашСм случаС, ΠΌΡ‹ выдСляСм Π΄Π²Π΅ основныС Π²Π΅Ρ‚ΠΊΠΈ master ΠΈ «release». Master ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΠ΅ Π½ΠΎΠ²Ρ‹Ρ… вСрсий прилоТСния. Код попавший Π² «master» ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ автоматичСскиС тСсты, послС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выполняСтся сборка ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ дальнСйшими дСйствиями. Π”Π°Π»Π΅Π΅ Ссли Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π΅Ρ‚, ΠΌΡ‹ сливаСм Π²Π΅Ρ‚ΠΊΡƒ «master» Π² Π²Π΅Ρ‚ΠΊΡƒ «release». Π’Π°ΠΌ снова Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ автоматичСскиС тСсты, ΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ сборки ΠΊ Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΠ΅ Π² ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚Ρ‹.

Для вСдСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΡ‹ создаСм feature Π²Π΅ΠΊΡ‚ΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ каТдая Π²Π΅Ρ‚ΠΊΠ° ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НапримСр, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ±Π»Π°ΠΊΠ΅, Ρ‚ΠΎ программист создаст Π²Π΅Ρ‚ΠΊΡƒ «feature-cloud» ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ вСсти Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Π½Π΅ΠΉ.

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

Π’ качСствС Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ закрСплСния ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π°Π²Ρ‹ΠΊΠΎΠ², ΠΎΡΡ‚Π°Π²Π»ΡŽ ссылку Π½Π° ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Ρ‚Ρ€Π΅Π½Π°ΠΆΠ΅Ρ€ для Git.

А Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ я пользовался ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ рСсурсы:

Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ интСрСсно ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΏΠΎ Git Π΅ΡΡ‚ΡŒ Ρƒ вас Π² компаниях ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ интСрСсныС рСсурсы Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ.

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

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

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