Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git ΠΈΠ· Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, сущСствуСт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git, называСмая JGit. Она достаточно ΠΏΠΎΠ»Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Git, написана Π½Π° чистом Java ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Java сообщСством. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ JGit находится ΠΏΠΎΠ΄ ΠΎΠΏΠ΅ΠΊΠΎΠΉ Eclipse ΠΈ располоТСн ΠΏΠΎ адрСсу https://www.eclipse.org/jgit.

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

БущСствуСт нСсколько способов Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ JGit Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ с использованиСм прСдоставляСмого API. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, самый простой ΠΏΡƒΡ‚ΡŒ β€” использованиС Maven: ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ происходит ΠΏΡƒΡ‚Ρ‘ΠΌ добавлСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… строк Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ Π² вашСм pom.xml:

Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΊΠ½ΠΈΠ³ΠΈ скорСС всСго появились Π½ΠΎΠ²Ρ‹Π΅ вСрсии JGit, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ обновлСния Π½Π° https://mvnrepository.com/artifact/org.eclipse.jgit/org.eclipse.jgit. ПослС обновлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Maven автоматичСски скачаСт JGit Π½ΡƒΠΆΠ½ΠΎΠΉ вСрсии ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ Π΅Ρ‘ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ.

Если Π²Ρ‹ управляСтС зависимостями Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, собранныС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ JGit доступны Π½Π° https://www.eclipse.org/jgit/download. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² своём ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ способом:

Π‘Π»ΡƒΠΆΠ΅Π±Π½Ρ‹ΠΉ API

Π£ JGit Π΅ΡΡ‚ΡŒ Π΄Π²Π° уровня API: слуТСбный (Β«plumbingΒ» API, Β«Ρ‚Ρ€ΡƒΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄Β») ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ (Β«porcelainΒ» API, Β«Ρ„Π°Ρ€Ρ„ΠΎΡ€Β»). Π­Ρ‚Π° тСрминология заимствована ΠΈΠ· самого Git ΠΈ JGit Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½ Π½Π° Π΄Π²Π΅ части: Β«Ρ„Π°Ρ€Ρ„ΠΎΡ€ΠΎΠ²Ρ‹ΠΉΒ» API прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для распространённых Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ уровня (Ρ‚Π΅Ρ…, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ Π±Ρ‹ использовали ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Git-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹) ΠΈ «сантСхничСский» API для прямого взаимодСйствия с Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ рСпозитория.

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° сцСнариСв использования JGit β€” класс Repository ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€” это ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса. Для Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² основанных Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС (Π΄Π°, JGit позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ хранСния) эта Π·Π°Π΄Π°Ρ‡Π° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ класса FileRepositoryBuilder :

Π’ΡƒΡ‚ происходит ΠΌΠ½ΠΎΠ³ΠΎ интСрСсного, Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся ΠΏΠΎ порядку.

ПослСдний кусок ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ user.name ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Git. Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Config Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для чтСния локальной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ½ автоматичСски Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ глобальной ΠΈ систСмной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΡ… для чтСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ API

Π‘Π»ΡƒΠΆΠ΅Π±Π½Ρ‹Π΅ API достаточно Π²ΡΠ΅ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰ΠΈ, Π½ΠΎ слоТны Π² использовании для простых Π·Π°Π΄Π°Ρ‡ Π²Ρ€ΠΎΠ΄Π΅ добавлСния Ρ„Π°ΠΉΠ»Π° Π² индСкс ΠΈΠ»ΠΈ создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π£ JGit Π΅ΡΡ‚ΡŒ API Π±ΠΎΠ»Π΅Π΅ высокого уровня, входная Ρ‚ΠΎΡ‡ΠΊΠ° Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ β€” это класс Git :

Π’ классС Git ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ высокоуровнСвых Β«Ρ‚Π΅ΠΊΡƒΡ‡ΠΈΡ…Β» ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (builder-style / fluent interface). Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этого ΠΊΠΎΠ΄Π° Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ git ls-remote :

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹

Π­Ρ‚ΠΎ лишь нСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ всСх возмоТностСй JGit. Если Π²Ρ‹ заинтСрСсованы Π² Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ с JGit, Π²ΠΎΡ‚ список источников ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для старта:

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

Git для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² (Ρ‡Π°ΡΡ‚ΡŒ 1)

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Git ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½?

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git-a Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ старой вСрсии, ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ свои измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ вашСго ΠΊΠΎΠ΄Π° ΠΈ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Git Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ локально ΠΈ всС ваши Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ хранятся Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΊΠ°Ρ… Π½Π° ТСстком дискС.

Π’Π°ΠΊ ΠΆΠ΅ ваши Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ сСрвиса:

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

Π’ ΠΈΡ‚ΠΎΠ³Π΅ получаСтся ΠΎΡ‡Π΅Π½ΡŒ простой Π³Ρ€Π°Ρ„, состоящий ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ ( main ) ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… commit. ВсС это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² Π±ΠΎΠ»Π΅Π΅ слоТный Π³Ρ€Π°Ρ„, состоящий ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½Ρƒ.

Об этом ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ…. Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ.

Установка

Основой интСрфСйс для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git-ΠΎΠΌ являСтся консоль/Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π­Ρ‚ΠΎ Π½Π΅ совсСм ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², поэтому ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с графичСским интСрфСйсом (ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ ΠΈ Ρ‚.Π΄.). О Π½ΠΈΡ… я расскаТу Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅.

Но для Π½Π°Ρ‡Π°Π»Π°, всС ΠΆΠ΅ установим сам Git.

Windows. ΠŸΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ этой ссылкС, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠΎΠ΄ Π²Π°ΡˆΡƒ ОБ (32 ΠΈΠ»ΠΈ 64 Π±ΠΈΡ‚Π½ΡƒΡŽ), скачиваСм ΠΈ устанавливаСм.

Для Mac OS. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ пишСм:

Linux. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

Настройка

Π’Ρ‹ установили сСбС Git ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ настроим, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создавали commit, указывался Π°Π²Ρ‚ΠΎΡ€, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ создал.

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (Linux ΠΈ MacOS) ΠΈΠ»ΠΈ консоль (Windows) ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с Git локально Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Для этого ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ°ΠΏΠΊΡƒ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Git отслСТиваСт измСнСния Ρ„Π°ΠΉΠ»ΠΎΠ² вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Но, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ создали Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² Π½Π΅ΠΌ Π½Π΅Ρ‚ вашСго ΠΊΠΎΠ΄Π°. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ commit.

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ. Π’Ρ‹ создали свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ commit.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git

НС стоит послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния Ρ„Π°ΠΉΠ»Π° Π΄Π΅Π»Π°Ρ‚ΡŒ commit. Π§Π°Ρ‰Π΅ всСго ΠΈΡ… ΡΠΎΠ·Π΄Π°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π°:

Π‘ΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π½Π° вСрсткС

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ошибки ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ

Π’Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ дСнь ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄

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

Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс

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

Но ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Git. ΠœΠΎΠ³Ρƒ ΠΏΠΎΡΠΎΠ²Π΅Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ эти:

Π― Π½Π΅ Π±ΡƒΠ΄Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с этим ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌ Π½Π° GitHub

Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Visual Studio Code (VS Code).

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° GitHub.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Если такая ΠΏΠ°ΠΏΠΊΠ° ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ, Ρ‚ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π½Π΅ Π½Π°Π΄ΠΎ.

УстановитС сСбС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π° для JavaScript ΠΈ PHP

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²Π°ΡˆΡƒ ΠΏΠ°ΠΏΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ создали Ρ€Π°Π½Π΅Π΅

ПослС этого Ρƒ вас появится Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ интСрфСйс

Π—Π΄Π΅ΡΡŒ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ всС Ρ„Π°ΠΉΠ»Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Git-ΠΎΠΌ

Кнопка для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

Кнопка для создания новой папки

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄Ρƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git-ΠΎΠΌ.

ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:

Кнопка для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° GitHub

Π’Ρ‹ создали ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° GitHub.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ сдСлаСм измСнСния Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΈΡ… снова ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ„Π°ΠΉΠ», Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ crtl+s (Windows) ΠΈΠ»ΠΈ cmd+s (MacOS), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ». Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π²ΠΎ Π²ΠΊΠ»Π°Π΄Ρƒ управлСния Git.

Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π·Π½Π°Ρ‡ΠΎΠΊ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Git, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρƒ 1 Π² синСм ΠΊΡ€ΡƒΠΆΠΊΠ΅. Она ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, сколько Ρ„Π°ΠΉΠ»ΠΎΠ² Ρƒ нас ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΈ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‡Π΅Π½ΠΎ. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ:

Кнопка для просмотра ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π΅. ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Π» для справки

ДобавляСм наш Ρ„Π°ΠΉΠ» для Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ commit

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ наш commit Π² GitHub

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ, Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ commit ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² GitHub!

Π­Ρ‚ΠΎ пСрвая вводная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ Git. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ рассмотрСли:

Как Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ

Как Π΅Π³ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ

Как ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ commit Ρ‡Π΅Ρ€Π΅Π· консоль

Как Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ VS Code, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ Π½Π° GitHub

ЗабСгая Π²ΠΏΠ΅Ρ€Π΅Π΄, ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π²Π°ΠΌ ΠΏΠΎΠ³ΡƒΠ³Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

P.S. Для облСгчСния обучСния, ΠΎΡΡ‚Π°Π²Π»ΡŽ Π²Π°ΠΌ ссылку Π½Π° бСсплатный Ρ‚Ρ€Π΅Π½Π°ΠΆΠ΅Ρ€ ΠΏΠΎ Git.

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

Git для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π½Π° основС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Java

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «ΡΠΈΡΡ‚Π΅ΠΌΠ° контроля вСрсий»?

Version Control System, VCS – это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΌΠ΅Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ позволяСт Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ (ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ) ΠΊ любой вСрсии.

Π’Π΅ΠΌ самым Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ потСряСтС свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ смоТСтС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ ΠΈΠ· любого мСста, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java

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

Git – самоС популярный инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с VCS, Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ 90% Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ПО.

Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ – Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» Linux), 2005 Π³ΠΎΠ΄.

Git ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ сразу создавался для IT сфСры, поэтому ΠΌΠ½ΠΎΠ³ΠΈΠ΅ возмоТности Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° программистов: совмСстная Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, ограничСния, ΠΏΡ€Π°Π²Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java

НуТСн Π»ΠΈ Π²Π°ΠΌ Git?

— Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ распрСдСлСнной VCS
— ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π»ΡŽΠ±Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΠ°ΠΏΠΎΠΊ
— ΠΈΠΌΠ΅Π΅Ρ‚ большиС возмоТности для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
— ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС популярныС срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE)

Удобство

НС Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€ΡƒΡ‡Π½Ρ‹Π΅ Π±Π΅ΠΊΠ°ΠΏΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ²Ρ‹ (ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅). Для этого Π΅ΡΡ‚ΡŒ Git

ВозмоТности
Командная Ρ€Π°Π±ΠΎΡ‚Π°
Облако

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со своим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈΠ· любого мСста, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠΌΠ°, Ρ‚.ΠΊ. всС хранится Π² ΠΎΠ±Π»Π°ΠΊΠ΅

ΠΠΠŸΠžΠœΠ˜ΠΠΠΠ˜Π•

Ошибка Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Но Ρ‚Π°ΠΊ Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚. Π‘ΡƒΠ΄Π΅Ρ‚ каша Π² Π³ΠΎΠ»ΠΎΠ²Π΅.

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java

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 java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с систСмами контроля вСрсий Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π΅ΠΉΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ дСйствий. Оно ΠΈ понятно, вСдь, ΠΏΠΎ сути, Ссли Π½Π΅ Π±Ρ€Π°Ρ‚ΡŒ Π² расчСт возмоТности 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 java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java

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

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

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

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

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

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

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

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

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

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

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

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

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

git show 349de9d..957e113

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

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

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

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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ `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 java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ git java

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Когда я ΡƒΡ‡ΠΈΠ» Git ΠΌΠ½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΌΠ½Π΅ понадобятся всСго 3 ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ΠŸΡ€Π°Π²Π΄Π°, ΠΏΠΎ сути ΠΌΠ½Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слукавили, Π½ΡƒΠΆΠ΅Π½ Π±Ρ‹Π» Π΅Ρ‰Ρ‘ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ:

Однако, Π½Π° этом всС ΠΌΠΎΠΈ тСорСтичСскиС знания ΠΏΠΎ Git Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΈ достаточно Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя я пользовался Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этими ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΏΠΎΠΊΡƒΠ΄Π° Π² ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ Π½Π°Ρ‡Π°Π» Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Π²Π΅Π±-прилоТСниями, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ со ΠΌΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π΅Ρ‰Ρ‘ нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.

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

Основная тСрминология

Π Π°Π±ΠΎΡ‚Π° с Git

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго Π½Π°ΠΌ понадобятся ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Π—Π½Π°Ρ‚ΡŒ add ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· ΠΊΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Git для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². БСгодня я Ρ€Π°Π·Π±Π΅Ρ€Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволят Π²Π°ΠΌ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ Π² Git.

init

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ систСму контроля вСрсий. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ достаточно просто ввСсти:

clone

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½ΡƒΠΆΠ½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΠ· ΠΎΠ±Π»Π°ΠΊΠ°. МоТно ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈΠ· Github, Gitlab, BitBucket ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… сСрвисов. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½ΡƒΠΆΠ½ΠΎ ввСсти:

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° понадобится Π²Π°ΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

Π’Ρ‹ измСняСтС Ρ„Π°ΠΉΠ»Ρ‹, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ достаточно ΠΌΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ², Π·Π°Π΄Π°Ρ‡ΠΈ измСнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ связаны

Π’Ρ‹ Ρ€Π΅ΡˆΠ°Π΅Ρ‚Π΅ «Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ» ваши Ρ„Π°ΠΉΠ»Ρ‹ (ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сохранСниС вСрсии, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Git Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ» всС ваши измСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π½Π°Π·Π²Π°Π» ΠΈΡ…, для этого Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git commit )

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ Π½Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π»ΠΈΡΡŒ, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Git занёс ΠΈΡ… Π² свою систСму хранСния вСрсий ΠΈ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΈΠ· вСрсий Ρ„Π°ΠΉΠ»Π°

ΠŸΡ€ΠΎΠ΄Π΅Π»Π°Π² Π΄Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, состоящий ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹ занСсётС всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² систСму контроля вСрсий Git.

Но, Ρ‡Ρ‚ΠΎ Ссли Π²Π°ΠΌ Π½Π΅ хочСтся Π²Π½ΠΎΡΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹? Π’ΠΎΠ³Π΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Git искал Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ названия Π² Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… дирСкториях ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π» ΠΈΡ…:

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Ρ„Π°ΠΉΠ»Π°, ΠΎΠ½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ rm удаляСт Ρ„Π°ΠΉΠ» ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΈ кэша Git, позволяя Π½Π°ΠΌ быстро ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Ρ„Π°ΠΉΠ»Π°.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡƒΠ΄Π°Π»ΠΈΡ‚ Ρ„Π°ΠΉΠ» file.txt ΠΈΠ· кэша ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы.

Но, Ρ‡Ρ‚ΠΎ Ссли ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ Π² кэшС, Π½ΠΎ Π½ΡƒΠΆΠ΅Π½ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС? Π’ΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡƒΠ΄Π°Π»ΠΈΡ‚ Ρ„Π°ΠΉΠ» ΠΈΠ· «ΠΊΡΡˆΠ°», Π½ΠΎ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚? Допустим, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ «Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ»ΠΈ» (сохранили Π²Π΅Ρ€ΡΠΈΡŽ, ΠΎΠ± этом ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π²ΠΎΡ‚ ΡƒΠΆΠ΅ совсСм скоро) наш Ρ„Π°ΠΉΠ», Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Git считал Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΅Π³ΠΎ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ, Π° сами просто оставили Π΅Π³ΠΎ Π½Π° дискС. Для этого ΠΈ Π½ΡƒΠΆΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹ΡˆΠ΅. Она просто Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Git: «Π‘Π»ΡƒΡˆΠ°ΠΉ, Π° Π΄Π°Π²Π°ΠΉ Ρ‚Ρ‹ просто ΡƒΠ΄Π°Π»ΠΈΡˆΡŒ этот Ρ„Π°ΠΉΠ» ΠΈΠ· кэша ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅ΡˆΡŒ Π΅Π³ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π° я ΠΎΡΡ‚Π°Π²Π»ΡŽ копию Ρƒ сСбя Π½Π° ПК, ΠΎΠΊ?»

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈ Git Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π½Ρ‘ΠΌ ΠΌΡ‹ измСняСм, Π° Π·Π°Ρ‚Π΅ΠΌ просто ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π€Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΡΠ΅Ρ‚ΡŒ Π² состоянии «untracked» (Π½Π΅ отслСТиваСтся) Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΡƒΠ΄Π° ΠΌΡ‹ Π΅Π³ΠΎ ΠΎΠΏΡΡ‚ΡŒ Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ.

commit

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

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

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

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ (ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π΅ измСнСния, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ просто Ρ€Π°Π·ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ измСнСния) ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌΠΈ измСнСниями ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

show

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½ΡƒΠΆΠ½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстро ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано Π·Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚:

ВывСдутся измСнСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

status

Π”ΠΎ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git log ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π½Π°ΡˆΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²:

Если ΠΆΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ красиво вывСсти всС ваши ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² столбик, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

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

diff

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° измСнСния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ. Π­Ρ‚Π° ΠΊΠΎΠΌΠΌΠ°Π½Π΄Π° являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых ΠΌΠΎΡ‰Π½Ρ‹Ρ… Π² Git, Π²Π°ΠΌ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π½Π΅Ρ‘ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅:

Π’Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ «ID-ΠΊΠΎΠΌΠΌΠΈΡ‚Π°» ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ ΠΈ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ git log

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π°Ρ… Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° измСнСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ для отслСТивания, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ввСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

branch

Π’ Git Π΅ΡΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ для раздСлСния вСрсий. Если ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½ΡƒΠΆΠ΅Π½ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ snapshot (слСпок ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚ΠΎ Π²Π΅Ρ‚ΠΊΠΈ Π½ΡƒΠΆΠ½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эти snapshot’Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ. Π£ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΠ°

любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ всС Π²Π΅Ρ‚ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git Π½ΡƒΠΆΠ½ΠΎ ввСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ ввСсти:

checkout

Checkout ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ достаточно просто Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ:

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ сразу ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π½Π΅Ρ‘ достаточно ввСсти:

merge

Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΎΠΊ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ слоТной Ρ‚Π΅ΠΌΠΎΠΉ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ»ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ввСсти:

push

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Ρ‡ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΆΠ΅ познакомились с основами Git, поняли ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΈΡ… ΠΌΠ΅Ρ€Π΄ΠΆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ измСнСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ послСдниС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ большС ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ линуксС, Ρ‚ΠΎ милости ΠΏΡ€ΠΎΡˆΡƒ Π² ΠΌΠΎΠΉ Π±Π»ΠΎΠ³ Π½Π° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ.

НадСюсь данная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ Ρ‡ΡƒΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ Git. Π₯ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ дня ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π½Π΅Π΄Π΅Π»ΠΈ!

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

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

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