какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

ВсСго нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ Π½ΡƒΠΆΠ½ΠΎ для Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° использования Git для вСдСния истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

git add

Команда git add добавляСт содСрТимоС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² индСкс (staging area) для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ git commit ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ лишь этот индСкс, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git add для сборки слСпка вашСго ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Git, ΠΌΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ ΠΎ Π½Π΅ΠΉ дСсятки Ρ€Π°Π· Π½Π° страницах ΠΊΠ½ΠΈΠ³ΠΈ. НиТС пСрСчислСны Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ интСрСсныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Знакомство с этой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ происходит Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π³Π»Π°Π²Ρ‹ 2.

О Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git add для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияния написано Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния Π³Π»Π°Π²Ρ‹ 3.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ индСксированиС Π³Π»Π°Π²Ρ‹ 7 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git add для добавлСния Π² индСкс лишь ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… частСй ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π”Π΅Ρ€Π΅Π²ΡŒΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ эта ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ происходит Π·Π° кулисами.

git status

Команда git status ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ состояния Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈ индСксС: ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹, Π½ΠΎ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² индСкс; ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² индСксС. Π’Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ этому выводятся подсказки ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояниС Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠœΡ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈ вас с этой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ состояния Ρ„Π°ΠΉΠ»ΠΎΠ² Π³Π»Π°Π²Ρ‹ 2, Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ стандартный ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π°. И хотя ΠΌΡ‹ использовали git status повсСмСстно Π² этой ΠΊΠ½ΠΈΠ³Π΅, практичСски всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования ΠΏΠΎΠΊΡ€Ρ‹Ρ‚Ρ‹ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅.

git diff

ΠœΡ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈ вас с основами этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ индСксированных ΠΈ нСиндСксированных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π³Π»Π°Π²Ρ‹ 2, Π³Π΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ измСнСния ΡƒΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² индСкс, Π° ΠΊΠ°ΠΊΠΈΠ΅ β€” Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚.

ΠœΡ‹ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π²Π°ΠΌ ΠΊΠ°ΠΊ эффСктивно ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ синтаксис git diff A…​B Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ примСняСмых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π³Π»Π°Π²Ρ‹ 5.

git difftool

ΠœΡ‹ лишь Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ упомянули ΠΎ Π½Π΅ΠΉ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ индСксированных ΠΈ нСиндСксированных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π³Π»Π°Π²Ρ‹ 2.

git commit

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ О Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΈ Π² Π΄Π²ΡƒΡ… словах Π³Π»Π°Π²Ρ‹ 3 ΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ познакомились с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° git commit ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ‚ это ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ.

И Π½Π°ΠΊΠΎΠ½Π΅Ρ† ΠΌΡ‹ заглянули Π²Π½ΡƒΡ‚Ρ€ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git commit Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π³Π»Π°Π²Ρ‹ 10 ΠΈ ΡƒΠ·Π½Π°Π»ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ‚ Π·Π° кулисами.

git reset

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ РаскрытиС Ρ‚Π°ΠΉΠ½ reset, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ посвящённой этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π² дСталях Π΅Ρ‘ использования.

git rm

Команда git rm ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Git для удалСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· индСкса ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ. Она ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° git add с Ρ‚Π΅ΠΌ лишь ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° удаляСт, Π° Π½Π΅ добавляСт Ρ„Π°ΠΉΠ»Ρ‹ для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

git mv

Команда git mv β€” это всСго лишь ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ», Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ git add для Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈ git rm для старого.

ΠœΡ‹ лишь Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ упомянули эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π³Π»Π°Π²Ρ‹ 2.

git clean

Команда git clean ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для удалСния мусора ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² слияний.

ΠœΡ‹ рассмотрСли мноТСство ΠΎΠΏΡ†ΠΈΠΉ ΠΈ сцСнариСв использования этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π³Π»Π°Π²Ρ‹ 7.

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

Π“Π°ΠΉΠ΄ ΠΏΠΎ Git : Π§Π°ΡΡ‚ΡŒ 1 : Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Git

ΠžΡ‚Π²Π΅Ρ‡Π°ΡŽ Π½Π° вопросы: ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π²ΠΌΠ΅Ρ€ΠΆΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‚ΠΊΡƒ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ.

Π― пользовался git Π΅Ρ‰Π΅ Π² ΡƒΠ½ΠΈΠ²Π΅Ρ€Π΅, Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΈΠΏΠ»ΠΎΠΌ ΠΈ Π½Π΅ ΠΏΠ»ΠΎΠ΄ΠΈΡ‚ΡŒ 100 ΠΊΠΎΠΏΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² с названиями: β€œΠ΄ΠΈΠΏΠ»ΠΎΠΌ (Π½ΠΎΠ²Ρ‹ΠΉ)”, β€œΠ΄ΠΈΠΏΠ»ΠΎΠΌ (Π½ΠΎΠ²Π΅Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ)”, β€œΠ΄ΠΈΠΏΠ»ΠΎΠΌ (Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΊΠΈ)”.

Мои ΡΡ‚Π°Ρ‚ΡŒΠΈ основаны Π½Π° ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ курсС LearnGitBranching. Но Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ сущСствСнный нСдостаток, ΠΎΠ½ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ настоящий Git Π² процСссС обучСния. Из-Π·Π° этого ряд Π²Π°ΠΆΠ½Ρ‹Ρ… нюансов упускаСтся.

Π’ ΠΌΠΎΠ΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π° настоящСм Git. ΠŸΡ€ΠΎΡΡ‚ΠΎ повторяйтС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π° ΠΌΠ½ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ.

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

БистСмы контроля вСрсий (Π‘ΠšΠ’, VCS, Version Control Systems) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΎ старой вСрсии, ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ свои измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

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

VCS ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ нСскольким Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ внСсённыС измСнСния нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. ΠŸΡ€ΠΈ этом ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участник ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚, Π½Π°Π΄ Ρ‡Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ… ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Git, создадим свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Но сначала установим git.

Установка git

Основой интСрфСйс для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git-ΠΎΠΌ являСтся консоль. Π­Ρ‚ΠΎ Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π±ΠΎΡ‚Π΅, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· консоль.

Windows. ΠŸΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ этой ссылкС, скачиваСм ΠΈ устанавливаСм.

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

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

Настройка

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

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

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ рСпозитория

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с Git локально Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Для Π½Π°Ρ‡Π°Π»Π° создадим ΠΏΠ°ΠΏΠΊΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ нашим ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ находятся сСйчас Π² ΠΏΠ°ΠΏΠΊΠ΅ git-project :

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

ΠšΠΎΠΌΠΌΠΈΡ‚ Π² git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ снимок всСх Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. ΠŸΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΊ огромная копия, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эффСктивнСС.

Git пытаСтся Π±Ρ‹Ρ‚ΡŒ Π»Ρ‘Π³ΠΊΠΈΠΌ ΠΈ быстрым, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ просто слСпо ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ вСсь ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, Π° ΡƒΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Β«Π΄Π΅Π»ΡŒΡ‚ΡƒΒ» ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсиСй ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ. Π­Ρ‚ΠΎ позволяСт Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ мСньшС мСста.

Π’Π°ΠΊΠΆΠ΅ Git Ρ…Ρ€Π°Π½ΠΈΡ‚ всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π±Ρ‹Π» сдСлан ΠΈ ΠΊΠ΅ΠΌ. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ·-Π·Π° ΠΊΠΎΠ³ΠΎ ΡƒΠΏΠ°Π» ΠΏΡ€ΠΎΠ΄ ΠΈ Π½Π°Π²Π°Π»ΡΡ‚ΡŒ Π΅ΠΌΡƒ 😄

Π€Π°ΠΉΠ»Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² 3 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… β€œΠΎΠ±Π»Π°ΡΡ‚ΡΡ…β€.

Наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ сСйчас пуст. Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„Π°ΠΉΠ»:

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

На Π΄Π°Π½Π½ΠΎΠΌ этапС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ β€œΠ Π°Π±ΠΎΡ‡ΠΈΠΉ каталог” содСрТит Π΄Π°Π½Π½Ρ‹Π΅.

Π‘Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ пСсочницСй, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ измСнСния ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ. На Π΄Π°Π½Π½ΠΎΠΌ этапС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ всС измСнСния ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ послСднСму ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ.

Π‘Π΅Π· добавлСния Ρ„Π°ΠΉΠ»Π° Π² ИндСкс Ρƒ нас Π½Π΅ получится ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ это сами:

Для добавлСния Π² ИндСкс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°:

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ внСсти измСнСния Π² Ρ„Π°ΠΉΠ» ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. ΠœΡ‹ ΠΏΡ€ΠΎΠΉΠ΄Ρ‘ΠΌ Ρ‡Π΅Ρ€Π΅Π· всё Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ; сначала ΠΌΡ‹ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» Π² нашСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ эту Π²Π΅Ρ€ΡΠΈΡŽ Ρ„Π°ΠΉΠ»Π° v2 ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим, ΠΊΠ°ΠΊΠΈΠ΅ измСнСния ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ Π² git:

Π•Ρ‰Π΅ Ρ€Π°Π· провСряСм статус рСпозитория:

Новый Ρ„Π°ΠΉΠ» появился Π² спискС Π½Π΅ отслСТиваСмых, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π Π°Π±ΠΎΡ‡Π΅ΠΌ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² отслСТиваниС этот Ρ„Π°ΠΉΠ», Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚. Π—Π½Π°Ρ‡ΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚:

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Для удобства восприятия Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ наши ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹. ΠšΡ€ΡƒΠΆΠΎΡ‡ΠΊΠΈ это ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π° стрСлочки ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π‘Π»ΠΎΠΊ ΠΏΠΎΠΌΠΎΡ‰ΠΈ

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

Помимо Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ Π΄Π°Ρ‚Ρ‹, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΈΡ‚Π° Π΅ΡΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся hash. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: 2934ee19f4d4ca37ff9bea9dc8208ef5362d789e. ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π΄Π»ΠΈΠ½Π½ΡƒΡŽ запись, git ΠΏΠΎΠΉΠΌΠ΅Ρ‚ ΠΈ ΠΏΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ 5 символам, ΠΊΠ°ΠΊΠΎΠΉ hash Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½.

Команда git log ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ большоС количСство ΠΎΠΏΡ†ΠΈΠΉ для поиска ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ критСриям.

Навигация

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌ Ρ„ΠΈΡ‡Π°ΠΌ Git, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы пСрСмСщСния ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Detaching HEAD

Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, ΠΊΠ°ΠΊ Π½Π°ΠΌ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ старой вСрсии нашСго рСпозитория.

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ HEAD ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° имя Π²Π΅Ρ‚ΠΊΠΈ. Но это ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ hash Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΌΡƒ.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» ΠΈ сдСлаСм Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚:

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ выглядСл наш Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ послС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ checkout ΠΈ Ρ…ΡΡˆ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, достаточно ΠΏΠ΅Ρ€Π²Ρ‹Ρ… 5 символов.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π’Ρ‹Π·Π²Π°Π² git log Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ HEAD Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚:

ΠŸΡ€ΠΈ этом ΠΌΡ‹ Π½Π΅ потСряли Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈ всС измСнСния Π² Π½Π΅ΠΌ, ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² этом с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π’Π΅Ρ€Π½Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ HEAD Π½Π° main :

ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ссылки

ΠŸΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ указания Ρ…Π΅ΡˆΠ΅ΠΉ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Git ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ссылки. Π‘ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ссылками ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ с ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ мСста ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π³ΠΎ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠΌΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ Π²Ρ‹ΡˆΠ΅ main :

Π”Π°, ΠΌΡ‹ снова ΠΏΠΎΠΏΠ°Π»ΠΈ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ HEAD сСйчас вновь ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

ВСрнСмся Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚:

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ шагов Π½Π°Π·Π°Π΄. Π‘Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ^ нСсколько Ρ€Π°Π·, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Git ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚ΠΈΠ»ΡŒΠ΄Π°

ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΊ Ρ‚ΠΈΠ»ΡŒΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ количСство Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ΠœΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΠ»ΠΈΡΡŒ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚. ВСрнСмся:

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

Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° пСрвая ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ git. ΠœΡ‹ установили git ΠΈ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ для создания ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π½ΠΈΠΌ.

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

Если всС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡƒΡ€ΠΎΠΊΡƒ 👇

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

Какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Git

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡŽ, индСксация отслСТиваСмых

Π£Π±ΠΈΡ€Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°, ΠΏΠ°ΠΏΠΊΠΈ ΠΈΠ· отслСТивания

Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π½Π΅Π³ΠΎ

ΠŸΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ΡΡ созданиС Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅ΠΉΡΡ с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° (просто ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ отслСТиваСмый Ρ„Π°ΠΉΠ» ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ нСдостаточно, Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ нСотслСТиваСмым ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚)

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅/ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² (Git Π½Π΅ отслСТиваСт пСрСмСщСния/ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅, Π½ΠΎ пытаСтся Π΅Π³ΠΎ ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ)

Π‘ΠΎΠ±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ простых ΠΈ слоТных ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, привязка ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория с gthub.com, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория Π½Π° github.com, ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ сСбС, Ρ€Π°Π±ΠΎΡ‚Π°, пСриодичСская «синхронизация с github.comΒ».

НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ измСнСния Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ВнСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚

Π•ΡΡ‚ΡŒ master (публичная вСрсия сайта), Ρ…ΠΎΡ‚ΠΈΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ (ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ Β«ΡˆΠ°ΠΏΠΊΡƒΒ»), Π½ΠΎ ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ Π±Π°Π³ (Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ Π² Β«ΠΏΠΎΠ΄Π²Π°Π»Π΅Β»).

Π Π°Π±ΠΎΡ‚Π° с Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ слияния

Π•ΡΡ‚ΡŒ master (публичная вСрсия сайта), Π² Π΄Π²ΡƒΡ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‚ΠΊΠ°Ρ… (branch_1 ΠΈ branch_2) Π±Ρ‹Π»ΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ мСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π°, ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ (branch_1) Π²Π»ΠΈΠ»ΠΈ Π² master, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Π»ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.

Бинхронизация рСпозитория-Ρ„ΠΎΡ€ΠΊΠ° с мастСр-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ

Π•ΡΡ‚ΡŒ Π½Π΅ΠΊΠΈΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° github.com, ΠΎΠ½ Π½Π΅Π³ΠΎ Π½Π°ΠΌΠΈ Π±Ρ‹Π» сдСлан Ρ„ΠΎΡ€ΠΊ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ измСнСния. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ (мастСр-) Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±Ρ‹Π» ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½. Π—Π°Π΄Π°Ρ‡Π°: ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ с мастСр-рСпозитория измСнСния (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΌ внСсСны ΡƒΠΆΠ΅ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΊΠ½ΡƒΠ»ΠΈ).

Ошибка Π² Ρ€Π°Π±ΠΎΡ‚Π΅: Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ»ΠΈ Π² мастСр, Π½ΠΎ поняли, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ (Π’ΠΠ–ΠΠž: это сработаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΊΠΎΠΌΠΌΠΈΡ‚ Π΅Ρ‰Π΅ Π½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ)

НуТно Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π° ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ, Π±Ρ‹Π²ΡˆΠ΅ΠΌΡƒ Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ (извСстна SHA ΠΊΠΎΠΌΠΌΠΈΡ‚Π°)

ΠŸΡ€ΠΈ любом дСйствии с github (ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌ сСрвисом) Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π»ΠΎΠ³ΠΈΠ½/ΠΏΠ°Ρ€ΠΎΠ»ΡŒ

Π Π΅Ρ‡ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎ запросС пароля, Π° Π½Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ„Ρ€Π°Π·Ρ‹.

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

Вонкости Π±Π»Π°Π³ΠΎΠΏΠΎΠ»ΡƒΡ‡Π½ΠΎΠ³ΠΎ git-merge

Π’ΡΡ‚ΡƒΠΏΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ слово

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ уровня для вСтвлСния Π² Git ΡΠ²Π»ΡΡŽΡ‚ΡΡ git-branch, git-checkout, git-rebase, git-log ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, git-merge. Для сСбя я ΡΡ‡ΠΈΡ‚Π°ΡŽ git-merge Π·ΠΎΠ½ΠΎΠΉ наибольшСй отвСтствСнности, Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΉ магичСской энСргии ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… возмоТностСй. Но это достаточно слоТная ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΈ Π΄Π°ΠΆΠ΅ достаточно Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git ΠΏΠΎΡ€ΠΎΠΉ Π±Ρ‹Π²Π°Π΅Ρ‚ нСдостаточным для освоСниС всСх Π΅Π΅ тонкостСй ΠΈ умСния ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивно Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ нСстандартной ситуации.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² тонкостях git-merge ΠΈ ΠΏΡ€ΠΈΡ€ΡƒΡ‡ΠΈΡ‚ΡŒ эту Π²Π΅Π»ΠΈΠΊΡƒΡŽ магию.

Π—Π΄Π΅ΡΡŒ я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ случай Π±Π»Π°Π³ΠΎΠΏΠΎΠ»ΡƒΡ‡Π½ΠΎΠ³ΠΎ слияния, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ я понимаю слияниС Π±Π΅Π· ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ интСрСсная Ρ‚Π΅ΠΌΠ°, достойная ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ. Π― ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ со ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство Git: Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ merge, содСрТащСй ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΠΎΠΏΠΈΡ€Π°ΡŽΡΡŒ.

Анатомия ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Если Π²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΌΠ°Π½ΡƒΠ°Π»Ρƒ, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

По Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счСту, Π² Git Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π²ΠΈΠ΄Π° слияния: ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° (fast-forward merge) ΠΈ «истинноС» слияниС (true merge). Рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΎΠ±ΠΎΠΈΡ… случаСв.

Β«Π˜ΡΡ‚ΠΈΠ½Π½ΠΎΠ΅Β» слияниС (true merge)

ΠœΡ‹ отклоняСмся ΠΎΡ‚ Π²Π΅Ρ‚ΠΊΠΈ master, Ρ‡Ρ‚ΠΎΠ±Ρ‹ внСсти нСсколько Π±Π°Π³ΠΎΠ² ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Ρƒ нас ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Π½Π° Π²Π΅Ρ‚ΠΊΠ΅ master git merge feature :

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² тСстовом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я создал ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для этого случая:

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ (M):

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π΄Π²ΡƒΡ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-Π΄Π΅Ρ€Π΅Π²ΠΎ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² рСпозитория, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΡ‚ΠΎ Π²ΠΈΠ½ΠΎΠ²Π΅Π½ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΡƒΠ΄Π° ссылаСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ master:

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ½ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡƒΡ‚ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ (M).

Squash ΠΈ no-commit

Π’ случаС примСнСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ слияния ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π²Π΅Ρ‚ΠΊΠΈ feature Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² Π½Π°ΡˆΡƒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, Π½ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ Sq Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС ΠΈΡ… измСнСния:

ПозТС, Π² случаС выполнСния «классичСского» git merge feature ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это. Π’ΠΎΠ³Π΄Π° история ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

ΠŸΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° (fast-forward merge)

Рассмотрим Π΄Ρ€ΡƒΠ³ΠΎΠΉ случай истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²:

ВсС ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ Ρ€Π°Π·, Π½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π² Π²Π΅Ρ‚ΠΊΠ΅ master Π½Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² послС отвСтвлСния. Π’ этом случаС происходит слияниС fast-forward (ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ°). Π’ этом случаС отсутствуСт ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ (Π²Π΅Ρ‚ΠΊΠ°) master просто устанавливаСтся Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ Y, Ρ‚ΡƒΠ΄Π° ΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈ Π²Π΅Ρ‚ΠΊΠ° feature:

Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ слияния

БтратСгия resolve

Π—Π΄Π΅ΡΡŒ C β€” ΠΎΠ±Ρ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π΄Π²ΡƒΡ… Π²Π΅Ρ‚ΠΎΠΊ, Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ этому ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ, принимаСтся Π·Π° ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΊΠ°. ΠΠ½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ измСнСния, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π² Π²Π΅Ρ‚ΠΊΠ°Ρ… master ΠΈ feature со Π²Ρ€Π΅ΠΌΠ΅Π½ этого ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, послС Ρ‡Π΅Π³ΠΎ для ΠΊΠΎΠΌΠΌΠΈΡ‚Π° (M) создаСтся новая вСрсия Π΄Π΅Ρ€Π΅Π²Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π² соотвСтствии с ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ 4 ΠΈ 5 нашСго условного Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

БтратСгия recursive

Для ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ этой стратСгии позаимствуСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ Merge recursive strategy ΠΈΠ· Π±Π»ΠΎΠ³Π° Β«The plasticscm blogΒ»:

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π˜Ρ‚Π°ΠΊ, Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ Π²Π΅Ρ‚ΠΊΠΈ: main ΠΈ task001. И Ρ‚Π°ΠΊ Π²Ρ‹ΡˆΠ»ΠΎ, Ρ‡Ρ‚ΠΎ наши Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π·Π½Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΠΊ Π² извращСниях: ΠΎΠ½ΠΈ слили ΠΊΠΎΠΌΠΌΠΈΡ‚ 15 ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ main с ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ 12 ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ task001, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ 16 с ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ 11. Когда Π½Π°ΠΌ понадобилось ΡΠ»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ, оказалось, Ρ‡Ρ‚ΠΎ поиск Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΠΊΠ° β€” Π΄Π΅Π»ΠΎ Π½Π΅Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΠ΅, Π½ΠΎ стратСгия recursive с Π΅Π΅ конструированиСм Β«Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎΒ» ΠΏΡ€Π΅Π΄ΠΊΠ° Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ:

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

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

БтратСгия octopus

Π­Ρ‚Π° стратСгия ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для слияниС Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π΄Π²ΡƒΡ… Π²Π΅Ρ‚ΠΎΠΊ. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ, соотвСтствСнно, большС Π΄Π²ΡƒΡ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ.

Данная стратСгия ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². Π’ связи с этим ΠΏΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΠ°Π· Π² слиянии ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ стратСгии octopus.

БтратСгия ours

НС слСдуСт ΠΏΡƒΡ‚Π°Ρ‚ΡŒ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ ours ΠΈ ΠΎΠΏΡ†ΠΈΡŽ ours стратСгии recursive.

БтратСгия ours β€” Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ срСдство.

БтратСгия subtree

Для ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ стратСгии возьмСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· Π³Π»Π°Π²Ρ‹ БлияниС ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² ΠΊΠ½ΠΈΠ³ΠΈ Β«Pro GitΒ».

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½ΠΎΠ²Ρ‹Π΅ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, rack:

Ясно, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ‚ΠΊΠΈ master ΠΈ rack_branch ΠΈΠΌΠ΅ΡŽΡ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· rack_branch Π² master с использованиСм squash, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ засорСния истории Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ Π½Π°ΠΌ Ρ„Π°ΠΊΡ‚Π°ΠΌΠΈ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° rack Ρƒ нас Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

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

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

Π’ этом эссС описана схСма Ρ€Π°Π±ΠΎΡ‚Ρ‹ Git. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Git достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для контроля вСрсий своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ЭссС концСнтрируСтся Π½Π° структурС Π³Ρ€Π°Ρ„Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ основан Git, ΠΈ Π½Π° Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ свойства этого Π³Ρ€Π°Ρ„Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Git. Π˜Π·ΡƒΡ‡Π°Ρ основы, Π²Ρ‹ строитС своё прСдставлСниС Π½Π° достовСрной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π° Π½Π΅ Π½Π° Π³ΠΈΠΏΠΎΡ‚Π΅Π·Π°Ρ…, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΈΠ· экспСримСнтов с API. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ модСль ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ сдСлал Git, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ собираСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ВСкст Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° сСрии ΠΊΠΎΠΌΠ°Π½Π΄, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Π΅Π΄ΠΈΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. Иногда Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ наблюдСния ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ структуры Π΄Π°Π½Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„Π°, Π»Π΅ΠΆΠ°Ρ‰Π΅Π³ΠΎ Π² основС Git. НаблюдСния ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ свойство Π³Ρ€Π°Ρ„Π° ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, основанноС Π½Π° Π½Ρ‘ΠΌ.

ПослС прочтСния для Π΅Ρ‰Ρ‘ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ погруТСния ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ обильно ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌΡƒ исходному ΠΊΠΎΠ΄Ρƒ ΠΌΠΎΠ΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Git Π½Π° JavaScript.

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

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ создаёт Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ alpha

Он пСрСмСщаСтся Π² эту Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ создаёт Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ data. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ½ создаёт Ρ„Π°ΠΉΠ» letter.txt с содСрТимым Β«Π°Β». ДирСктория alpha выглядит Ρ‚Π°ΠΊ:

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ дирСктория alpha выглядит Ρ‚Π°ΠΊ:

ДобавляСм Ρ„Π°ΠΉΠ»Ρ‹

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ запускаСт git add Π½Π° data/letter.txt. ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΡΡ‚ Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ.

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ простоС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π² Git ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π΅Π³ΠΎ содСрТимого Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ objects. Оно Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΌ, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ data/letter.txt ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ создаёт Ρ„Π°ΠΉΠ» data/number.txt содСрТащий 1234.

Рабочая копия выглядит Ρ‚Π°ΠΊ:

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ добавляСт Ρ„Π°ΠΉΠ» Π² Git.

Команда git add создаёт Π±Π»ΠΎΠ±-Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится содСрТимоС data/number.txt. Он добавляСт Π² индСкс запись для data/number.txt, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ Π½Π° Π±Π»ΠΎΠ±. Π’ΠΎΡ‚ содСрТимоС индСкса послС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ запуска git add:

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² индСксС пСрСчислСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ data, хотя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π°Π²Π°Π» ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git add data. Π‘Π°ΠΌΠ° дирСктория data ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ указываСтся.

Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ создал data/number.txt, ΠΎΠ½ Ρ…ΠΎΡ‚Π΅Π» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ 1, Π° Π½Π΅ 1234. Он вносит ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ снова добавляСт Ρ„Π°ΠΉΠ» ΠΊ индСксу. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° создаёт Π½ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠ± с Π½ΠΎΠ²Ρ‹ΠΌ содСрТимым. Она обновляСт запись Π² индСксС для data/number.txt с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠ±.

Π”Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ a1. Git Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π½Ρ‘ΠΌ. ΠœΡ‹ вскорС объясним ΠΈΡ….

Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ commit Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ шага. Она создаёт Π³Ρ€Π°Ρ„, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ содСрТимоС вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ коммитят. Она создаёт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Она направляСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„Π°

Git Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, создавая Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ ΠΈΠ· индСкса. Π­Ρ‚ΠΎΡ‚ Π³Ρ€Π°Ρ„ записываСт располоТСниС ΠΈ содСрТимоС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

Π“Ρ€Π°Ρ„ состоит ΠΈΠ· Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: Π±Π»ΠΎΠ±Ρ‹ ΠΈ Π΄Π΅Ρ€Π΅Π²ΡŒΡ. Π‘Π»ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· git add. Они ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ содСрТимоС Ρ„Π°ΠΉΠ»ΠΎΠ². Π”Π΅Ρ€Π΅Π²ΡŒΡ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅. Π”Π΅Ρ€Π΅Π²ΠΎ прСдставляСт Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π΅Ρ€Π΅Π²Π°, записавший содСрТимоС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ data ΠΏΡ€ΠΈ Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅.

ΠŸΠ΅Ρ€Π²Π°Ρ строка записываСт всё Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для воспроизводства data/letter.txt. ΠŸΠ΅Ρ€Π²Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΏΡ€Π°Π²Π° доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ. Вторая – Ρ‡Ρ‚ΠΎ содСрТимоС Ρ„Π°ΠΉΠ»Π° хранится Π² Π±Π»ΠΎΠ±Π΅, Π° Π½Π΅ Π² Π΄Π΅Ρ€Π΅Π²Π΅. Π’Ρ€Π΅Ρ‚ΡŒΡ – Ρ…ΡΡˆ Π±Π»ΠΎΠ±Π°. ЧСтвёртая – имя Ρ„Π°ΠΉΠ»Π°.

Вторая строчка Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ относится ΠΊ data/number.txt.

НиТС ΡƒΠΊΠ°Π·Π°Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-Π΄Π΅Ρ€Π΅Π²ΠΎ для alpha, ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

ЕдинствСнная строка ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π΄Π΅Ρ€Π΅Π²ΠΎ data.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π³Ρ€Π°Ρ„Π΅ Π΄Π΅Ρ€Π΅Π²ΠΎ root ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π΄Π΅Ρ€Π΅Π²ΠΎ data. Π”Π΅Ρ€Π΅Π²ΠΎ data ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π±Π»ΠΎΠ±Ρ‹ для data/letter.txt ΠΈ data/number.txt.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

ΠŸΠ΅Ρ€Π²Π°Ρ строка ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π΄Π΅Ρ€Π΅Π²ΠΎ Π³Ρ€Π°Ρ„Π°. Π₯эш – для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄Π΅Ρ€Π΅Π²Π°, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΡ€Π΅Π½ΡŒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ. Π’ΠΎ бишь, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ alpha. ПослСдняя строчка – ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠΠ°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚

НаконСц, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° направляСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ HEAD ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° master. master – тСкущая Π²Π΅Ρ‚ΠΊΠ°.

HEAD ΠΈ master – это ссылки. Бсылка – это ΠΌΠ΅Ρ‚ΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Git, ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

(Если Π²Ρ‹ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ Π²Π±ΠΈΠ²Π°Π΅Ρ‚Π΅ Π² Git ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ваш Ρ…ΡΡˆ a1 Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΌΠΎΠ΅Π³ΠΎ. Π₯эш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² содСрТимого – Π±Π»ΠΎΠ±ΠΎΠ² ΠΈ Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² – всСгда ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅. А ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² – Π½Π΅Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ Π΄Π°Ρ‚Ρ‹ ΠΈ ΠΈΠΌΠ΅Π½Π° создатСлСй).

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π³Ρ€Π°Ρ„ Git HEAD ΠΈ master:

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

HEAD ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° master, ΠΊΠ°ΠΊ ΠΈ Π΄ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Но Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ master сущСствуСт ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

Π”Π΅Π»Π°Π΅ΠΌ Π½Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ Π³Ρ€Π°Ρ„ послС ΠΊΠΎΠΌΠΌΠΈΡ‚Π° a1. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ рабочая копия ΠΈ индСкс.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ, индСкса ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ содСрТимоС data/letter.txt ΠΈ data/number.txt. ИндСкс ΠΈ HEAD ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ…ΡΡˆΠΈ для указания Π½Π° Π±Π»ΠΎΠ±Ρ‹, Π½ΠΎ содСрТимоС Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ хранится Π² Π²ΠΈΠ΄Π΅ тСкста Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ мСняСт содСрТимоС data/number.txt Π½Π° 2. Π­Ρ‚ΠΎ обновляСт Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию, Π½ΠΎ оставляСт индСкс ΠΈ HEAD Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ добавляСт Ρ„Π°ΠΉΠ» Π² Git. Π­Ρ‚ΠΎ добавляСт Π±Π»ΠΎΠ±, содСрТащий 2, Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ objects. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ записи индСкса для data/number.txt ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠ±.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π¨Π°Π³ΠΈ Ρƒ Π½Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, создаётся Π½ΠΎΠ²Ρ‹ΠΉ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ для прСдставлСния содСрТимого индСкса.

Π—Π°ΠΏΠΈΡΡŒ Π² индСксС для data/number.txt измСнилась. Π‘Ρ‚Π°Ρ€ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ data ΡƒΠΆΠ΅ Π½Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ проиндСксированноС состояниС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ data. НуТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-Π΄Π΅Ρ€Π΅Π²ΠΎ data.

Π₯эш Ρƒ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° отличаСтся ΠΎΡ‚ старого Π΄Π΅Ρ€Π΅Π²Π° data. НуТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ root для записи этого Ρ…ΡΡˆΠ°.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, создаётся Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

ΠŸΠ΅Ρ€Π²Π°Ρ строка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ root. Вторая строка ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° a1: Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚. Для поиска Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Git ΠΈΠ΄Ρ‘Ρ‚ Π² HEAD, ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ master ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° a1.

Π’ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, содСрТимоС Ρ„Π°ΠΉΠ»Π°-Π²Π΅Ρ‚Π²ΠΈ master мСняСтся Π½Π° Ρ…ΡΡˆ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π“Ρ€Π°Ρ„ Git Π±Π΅Π· Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΈ индСкса

β€’ Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ хранится Π² Π²ΠΈΠ΄Π΅ Π΄Π΅Ρ€Π΅Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π² Π±Π°Π·Π΅ хранятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния. ВзглянитС Π½Π° Π³Ρ€Π°Ρ„ свСрху. ΠšΠΎΠΌΠΌΠΈΡ‚ Π°2 ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±Π»ΠΎΠ±, сдСланный Π΄ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π°1. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, Ссли вся дирСктория ΠΎΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π΄ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π½Π΅ мСняСтся, Π½Π΅Ρ‘ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΈ всС Π±Π»ΠΎΠ±Ρ‹ ΠΈ Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π΄Π΅Ρ€Π΅Π²ΡŒΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ измСнСния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ нСбольшиС. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Git ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ большиС истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², занимая Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ мСста.

β€’ Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π΅ΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΠΊ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

β€’ Бсылки – Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ для Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ истории ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Π²Π°Ρ‚ΡŒ осмыслСнныС ΠΈΠΌΠ΅Π½Π°. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ родословной, осмыслСнной для своСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, с ссылками Ρ‚ΠΈΠΏΠ° fix-for-bug-376. Git ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ссылки Π²Ρ€ΠΎΠ΄Π΅ HEAD, MERGE_HEAD ΠΈ FETCH_HEAD для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ рСдактирования истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

β€’ Π£Π·Π»Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ objects/ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ содСрТимоС рСдактируСтся, Π½ΠΎ Π½Π΅ удаляСтся. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ кусочСк содСрТимого, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сдСланный ΠΊΠΎΠΌΠΌΠΈΡ‚ хранится Π³Π΄Π΅-Ρ‚ΠΎ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ objects.

β€’ Бсылки измСняСмы. Π—Π½Π°Ρ‡ΠΈΡ‚, смысл ссылки ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ. ΠšΠΎΠΌΠΌΠΈΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ master, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅ΠΉ вСрсиСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π½ΠΎ вскорС Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

β€’ Рабочая копия ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ссылки, доступны сразу. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ – Π½Π΅Ρ‚. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ нСдавнюю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π»Π΅Π³Ρ‡Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ, Π½ΠΎ ΠΈ мСняСтся ΠΎΠ½Π° Ρ‡Π°Ρ‰Π΅. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΌΡΡ‚ΡŒ Git постоянно исчСзаСт, ΠΈ Π΅Ρ‘ Π½Π°Π΄ΠΎ ΡΡ‚ΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всё Π±ΠΎΠ»Π΅Π΅ Тёсткими Ρ‚Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ.

Π Π°Π±ΠΎΡ‡ΡƒΡŽ копию Π»Π΅Π³Ρ‡Π΅ всСго Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈΠ· истории, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° находится Π² ΠΊΠΎΡ€Π½Π΅ рСпозитория. Π•Ρ‘ Π²Ρ‹Π·ΠΎΠ² Π΄Π°ΠΆΠ΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git. Но Ρ‚Π°ΠΊΠΆΠ΅ это ΠΈ самая нСпостоянная Ρ‚ΠΎΡ‡ΠΊΠ° Π² истории. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ дСсяток вСрсий Ρ„Π°ΠΉΠ»Π°, Π½ΠΎ Git Π½Π΅ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π½ΠΈ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½ΠΈΡ…, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹.

ΠšΠΎΠΌΠΌΠΈΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ HEAD, ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ. Он находится Π½Π° ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ содСрТимоС, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ просто ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию. И Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя, HEAD – самая часто ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π°ΡΡΡ ссылка.

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

Π‘Π»ΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ссылки. Π§Π΅ΠΌ дальшС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚ ссылки, Ρ‚Π΅ΠΌ тяТСлСС Π΅ΠΌΡƒ Π²ΠΎΡΡΠΎΠ·Π΄Π°Ρ‚ΡŒ смысл ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Но Ρ‡Π΅ΠΌ дальшС Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅ ΠΎΠ½ ΠΈΠ΄Ρ‘Ρ‚, Ρ‚Π΅ΠΌ мСньшС Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΡ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ просмотра.

ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ (check out) ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π°2, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΅Π³ΠΎ Ρ…ΡΡˆ. (Если Π²Ρ‹ запускаСтС эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‚ΠΎ данная ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρƒ вас Π½Π΅ сработаСт. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ git log, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ Ρ…ΡΡˆ вашСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π°2).

ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ состоит ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… шагов.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Git ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π°2 ΠΈ Π³Ρ€Π°Ρ„, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΠΎΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ записи ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ… Π² Π³Ρ€Π°Ρ„Π΅ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ происходит. Π’ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ содСрТимоС Π³Ρ€Π°Ρ„Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ HEAD ΡƒΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π» Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ Π°2 Ρ‡Π΅Ρ€Π΅Π· master.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, Git Π΄Π΅Π»Π°Π΅Ρ‚ записи ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ… Π² Π³Ρ€Π°Ρ„ Π² индСксС. Π’ΡƒΡ‚ Ρ‚ΠΎΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ происходит. Π’ индСксС ΡƒΠΆΠ΅ содСрТится ΠΊΠΎΠΌΠΌΠΈΡ‚ Π°2.

Π’-Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚Ρ‹Ρ…, содСрТимому HEAD присваиваСтся Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π°2:

Π—Π°ΠΏΠΈΡΡŒ Ρ…ΡΡˆΠ° Π² HEAD ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² состоянии с ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ HEAD. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π³Ρ€Π°Ρ„Π΅ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎ HEAD ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ нСпосрСдствСнно Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ Π°2, Π° Π½Π΅ Π½Π° master.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ записываСт Π² содСрТимоС data/number.txt Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 3 ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. Git ΠΈΠ΄Ρ‘Ρ‚ ΠΊ HEAD для получСния родитСля ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π°3. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ссылкС Π½Π° Π²Π΅Ρ‚Π²ΡŒ, ΠΎΠ½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π°2.

Git обновляСт HEAD, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π» Π½Π° Ρ…ΡΡˆ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π°3. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ находится Π² состоянии с ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ HEAD. Он Π½Π΅ Π½Π° Π²Π΅Ρ‚Π²ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈ Π½Π° Π°3, Π½ΠΈ Π½Π° любой ΠΈΠ· Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ². Π•Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ.

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΡŒΡ ΠΈ Π±Π»ΠΎΠ±Ρ‹ ΠΈΠ· Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π³Ρ€Π°Ρ„ΠΎΠ².

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ (branch)

Π’Π΅Ρ‚Π²ΠΈ – это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылки, Π° ссылки – это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ»Ρ‹. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ‚Π²ΠΈ Git вСсят ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚Π²ΠΈ deputy Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π°3 Π½Π° ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΈ. HEAD всё Π΅Ρ‰Ρ‘ ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всё Π΅Ρ‰Ρ‘ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ нСпосрСдствСнно Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ master.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Git ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π°2, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ master, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π³Ρ€Π°Ρ„, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Git вносит Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ записи Π² Π³Ρ€Π°Ρ„ Π² Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ. Π­Ρ‚ΠΎ мСняСт ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ data/number.txt Π½Π° 2.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, Git вносит Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ записи Π² Π³Ρ€Π°Ρ„ индСкса. Π­Ρ‚ΠΎ обновляСт Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ для data/number.txt Π½Π° Ρ…ΡΡˆ Π±Π»ΠΎΠ±Π° 2.

Π’-Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚Ρ‹Ρ…, Git направляСт HEAD Π½Π° master, мСняя Π΅Π³ΠΎ содСрТимоС с Ρ…ΡΡˆΠ° Π½Π°

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Π²Π΅Ρ‚Π²ΡŒ, Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΡƒΡŽ с Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ случайно присваиваСт содСрТимому data/number.txt Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 789. Он пытаСтся ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ deputy. Git прСпятствуСт ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΡŽ.

HEAD ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° master, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° a2, Π³Π΄Π΅ Π² data/number.txt записано 2. deputy ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° a3, Π³Π΄Π΅ Π² data/number.txt записано 3. Π’ вСрсии Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ для data/number.txt записано 789. ВсС эти вСрсии Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹, ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ.

Git ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ вСрсиСй ΠΈΠ· ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Но ΠΎΠ½ всСми силами ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ‚ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Git ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ с ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌΠΎΠΉ вСрсиСй. Но это слоТно.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Git отклоняСт ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ случайно ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π» data/number.txt ΠΈ присваиваСт Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ 2. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ deputy.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ОбъСдинСниС с ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ master Π² deputy. ОбъСдинСниС Π΄Π²ΡƒΡ… Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ объСдинСниС Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ – Ρ‚ΠΎΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ deputy: ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ – Ρ‚ΠΎΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ master: Π΄Π°ΡŽΡ‰ΠΈΠΉ. Для объСдинСния Git Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚. Он сообщаСт, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡƒΠΆΠ΅ Β«Already up-to-dateΒ».

БСрия объСдинСний Π² Π³Ρ€Π°Ρ„Π΅ интСрпрСтируСтся ΠΊΠ°ΠΊ сСрия ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ содСрТимого рСпозитория. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ объСдинСнии Ссли ΠΊΠΎΠΌΠΌΠΈΡ‚ Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ получаСтся ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ, Git Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚. Π­Ρ‚ΠΈ измСнСния ΡƒΠΆΠ΅ внСсСны.

ОбъСдинСниС с ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ master.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ deputy Π² master. Git ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ, Π°2, являСтся ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ, Π°3. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ объСдинСниС с быстрой ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠΎΠΉ Π²ΠΏΠ΅Ρ€Ρ‘Π΄.

Он Π±Π΅Ρ€Ρ‘Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈ Π³Ρ€Π°Ρ„, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚. Он вносит Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ записи Π² Π³Ρ€Π°Ρ„Ρ‹ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΈ индСкса. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ Β«ΠΏΠ΅Ρ€Π΅ΠΌΠ°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Β» master, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π» Π½Π° Π°3.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

БСрия ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π½Π° Π³Ρ€Π°Ρ„Π΅ интСрпрСтируСтся ΠΊΠ°ΠΊ сСрия ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ содСрТимого рСпозитория. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ объСдинСнии, Ссли Π΄Π°ΡŽΡ‰ΠΈΠΉ являСтся ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ, история Π½Π΅ мСняСтся. Π£ΠΆΠ΅ сущСствуСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π½ΡƒΠΆΠ½Ρ‹Π΅ измСнСния: ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΌ ΠΈ Π΄Π°ΡŽΡ‰ΠΈΠΌ. Но, хотя история Git Π½Π΅ мСняСтся, Π³Ρ€Π°Ρ„ Git мСняСтся. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π°Ρ ссылка, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ HEAD, обновляСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ.

ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… родословных

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ записываСт 4 Π² содСрТимоС number.txt ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² master.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ deputy. Он записываСт Β«bΒ» Π² содСрТимоС data/letter.txt ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² deputy.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π£ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π² истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ родословныС.

Π£ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ родословныС ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ с двумя родитСлями: ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ master с deputy.

Git ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ, b3, ΠΈ Π΄Π°ΡŽΡ‰ΠΈΠΉ, a4, находятся Π² Ρ€Π°Π·Π½Ρ‹Ρ… родословных. Он выполняСт ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π£ этого процСсса восСмь шагов.

1. Git записываСт Ρ…ΡΡˆ Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² Ρ„Π°ΠΉΠ» alpha/.git/MERGE_HEAD. НаличиС этого Ρ„Π°ΠΉΠ»Π° сообщаСт Git, Ρ‡Ρ‚ΠΎ ΠΎΠ½ находится Π² процСссС объСдинСния.

2. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Git Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚: самый Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΎΠΊ, ΠΎΠ±Ρ‰ΠΈΠΉ для Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π£ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΡ‡ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ Π΄Π²Π΅ родословных. Git отслСТиваСт Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π½Π°Π·Π°Π΄ ΠΎΡ‚ b3, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всСх Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΊΠΎΠ², ΠΈ Π½Π°Π·Π°Π΄ ΠΎΡ‚ a4 с Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ†Π΅Π»ΡŒΡŽ. Он Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ самого Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΡ… ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΡ€Π΅Π΄ΠΊΠΎΠ², Π°3. Π­Ρ‚ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

3. Git ΡΠΎΠ·Π΄Π°ΡŽΡ‚ индСксы для Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ, Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈΠ· ΠΈΡ… Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„ΠΎΠ².

4. Git создаёт diff, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ ΠΈ Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π»ΠΈ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ. Π­Ρ‚ΠΎΡ‚ diff – список ΠΏΡƒΡ‚Π΅ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ², ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π½Π° измСнСния: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹.

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

ΠŸΠ΅Ρ€Π²Π°Ρ запись для data/letter.txt. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ этого Ρ„Π°ΠΉΠ»Π° – Β«aΒ» Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ, Β«bΒ» Π² ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΌ ΠΈ Β«aΒ» Π² Π΄Π°ΡŽΡ‰Π΅ΠΌ. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρƒ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ различаСтся. Но Ρƒ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ – совпадаСт. Git Π²ΠΈΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎ содСрТимоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΌ, Π° Π½Π΅ Π΄Π°ΡŽΡ‰ΠΈΠΌ. Π—Π°ΠΏΠΈΡΡŒ Π² diff для data/letter.txt – это ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π° Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.

Вторая запись Π² diff – для data/number.txt. Π’ этом случаС, содСрТимоС совпадаСт Ρƒ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ, Π° Ρƒ Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π—Π°ΠΏΠΈΡΡŒ Π² diff для data/number.txt β€” Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.

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

5. ИзмСнСния, описанныС записями Π² diff, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠΌΡƒ data/letter.txt присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ b, Π° содСрТимому data/number.txt – 4.

6. ИзмСнСния, описанныС записями Π² diff, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ индСксу. Π—Π°ΠΏΠΈΡΡŒ, относящаяся ΠΊ data/letter.txt, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π±Π»ΠΎΠ± b, Π° запись для data/number.txt – Π½Π° Π±Π»ΠΎΠ± 4.

7. ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ индСкс:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π΄Π²Π° родитСля.

8. Git направляСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ, deputy, Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ОбъСдинСниС Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… родословных, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ… ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ»

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ master. Он ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ deputy ΠΈ master. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ΅ master Π΄ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° b4. Π’Π΅ΠΏΠ΅Ρ€ΡŒ master ΠΈ deputy ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ deputy. Он устанавливаСт содСрТимоС data/number.txt Π² 5 ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² deputy.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ master. Он устанавливаСт содСрТимоС data/number.txt Π² 6 ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² master.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

2. Git Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, b4.

3. Git Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ индСксы для Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΈ Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

4. Git Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ diff, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ измСнСния Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΌ ΠΈ Π΄Π°ΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ. Π­Ρ‚ΠΎΡ‚ diff – список ΠΏΡƒΡ‚Π΅ΠΉ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Π½Π° измСнСния: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС diff содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ запись: data/number.txt. Она ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ содСрТимоС data/number.txt отличаСтся Π² Π΄Π°ΡŽΡ‰Π΅ΠΌ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΌ ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ….

5. ИзмСнСния, опрСдСляСмыС записями Π² diff, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ. Π’ области ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° Git Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±Π΅ вСрсии Π² Ρ„Π°ΠΉΠ» Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° ata/number.txt становится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

6. ИзмСнСния, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ записями Π² diff, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ индСксу. Записи Π² индСксС ΠΈΠΌΠ΅ΡŽΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΈ этапа. Π£ записи Ρ„Π°ΠΉΠ»Π° Π±Π΅Π· ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° этап Ρ€Π°Π²Π΅Π½ 0. ΠŸΠ΅Ρ€Π΅Π΄ объСдинСниСм индСкс выглядСл Ρ‚Π°ΠΊ, Π³Π΄Π΅ Π½ΡƒΠ»ΠΈ – это Π½ΠΎΠΌΠ΅Ρ€Π° этапов:

ПослС записи diff Π² индСкс Ρ‚ΠΎΡ‚ выглядит ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ:

Π—Π°ΠΏΠΈΡΡŒ data/letter.txt Π½Π° этапС 0 такая ΠΆΠ΅, какая ΠΈ Π±Ρ‹Π»Π° Π΄ΠΎ объСдинСния. Π—Π°ΠΏΠΈΡΡŒ для data/number.txt с этапом 0 исчСзла. ВмСсто Π½Π΅Ρ‘ появились Ρ‚Ρ€ΠΈ Π½ΠΎΠ²Ρ‹Ρ…. Π£ записи с этапом 1 Ρ…ΡΡˆ ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ содСрТимого data/number.txt. Π£ записи с этапом 3 Ρ…ΡΡˆ ΠΎΡ‚ содСрТимого Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ data/number.txt. ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Ρ‚Ρ€Ρ‘Ρ… записСй Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Git, Ρ‡Ρ‚ΠΎ для data/number.txt Π²ΠΎΠ·Π½ΠΈΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ содСрТимоС Π΄Π²ΡƒΡ… ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… вСрсий, устанавливая содСрТимоС data/number.txt Ρ€Π°Π²Π½Ρ‹ΠΌ 11. Он добавляСт Ρ„Π°ΠΉΠ» Π² индСкс. Git добавляСт Π±Π»ΠΎΠ±, содСрТащий 11. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Git ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Ρ€Π΅ΡˆΡ‘Π½. Git удаляСт вхоТдСния data/number.txt для этапов 1, 2 ΠΈ 3 ΠΈΠ· индСкса. Он добавляСт запись для data/number.txt Π½Π° этапС 0 с Ρ…ΡΡˆΠ΅ΠΌ ΠΎΡ‚ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠ±Π°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ индСкс содСрТит записи:

8. Git направляСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ, master, Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° для Π³Ρ€Π°Ρ„Π° Git Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π΄Π΅Ρ€Π΅Π²ΡŒΡ ΠΈ Π±Π»ΠΎΠ±Ρ‹ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию ΠΈ индСкс:

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Git ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ data/letter.txt. Π€Π°ΠΉΠ» удаляСтся ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ. Из индСкса удаляСтся запись.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚. Как ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅, Git строит Π³Ρ€Π°Ρ„, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ содСрТимоС индСкса. data/letter.txt Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π² Π³Ρ€Π°Ρ„, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Π³ΠΎ Π½Π΅Ρ‚ Π² индСксС.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ содСрТимоС рСпозитория alpha/ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ bravo/. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ структурС:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ bravo Π΅ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π³Ρ€Π°Ρ„ Git:

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π‘Π²ΡΠ·Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ возвращаСтся Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ alpha. Он Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ bravo ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ для alpha. Π­Ρ‚ΠΎ добавляСт нСсколько строк Π² Ρ„Π°ΠΉΠ» alpha/.git/config:

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ‚Π²ΡŒ с ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ bravo. Он присваиваСт содСрТимому data/number.txt Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 12 ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² master Π½Π° bravo.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ alpha. Он ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ master ΠΈΠ· bravo Π² alpha. Π£ этого процСсса Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ шага.

1. Git ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² bravo ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ master. Π­Ρ‚ΠΎ Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° 12.

2. Git составляСт список всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит ΠΊΠΎΠΌΠΌΠΈΡ‚ 12: сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Π΅Π³ΠΎ Π³Ρ€Π°Ρ„Π΅, ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΏΡ€Π΅Π΄ΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° 12, ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ· ΠΈΡ… Π³Ρ€Π°Ρ„ΠΎΠ². Он удаляСт ΠΈΠ· этого списка всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² Π±Π°Π·Π΅ alpha. ΠžΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ½ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π² alpha/.git/objects/.

3. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠΌΡƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ссылки Π² alpha/.git/refs/remotes/bravo/master присваиваСтся Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° 12.

4. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ alpha/.git/FETCH_HEAD становится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ самая послСдняя ΠΊΠΎΠΌΠ°Π½Π΄Π° fetch достала ΠΊΠΎΠΌΠΌΠΈΡ‚ 12 ΠΈΠ· master с bravo.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρƒ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ общая история.

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ссылки Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ Π²Π΅Ρ‚Π²ΠΈ Ρ‚ΠΈΠΏΠ° alpha/.git/refs/remotes/bravo/master. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ локально Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ состояниС Π²Π΅Ρ‚Π²ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория. Он ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π΅Π½ Π²ΠΎ врСмя Π΅Π³ΠΎ копирования, Π½ΠΎ станСт ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ Π² случаС измСнСния ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ.

ОбъСдинСниС FETCH_HEAD

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ FETCH_HEAD. FETCH_HEAD – это просто Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ссылка. Она ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ 12, Π΄Π°ΡŽΡ‰ΠΈΠΉ. HEAD ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ 11, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ. Git Π΄Π΅Π»Π°Π΅Ρ‚ объСдинСниС-ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΡƒ ΠΈ направляСт master Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ 12.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ‚Π²ΡŒ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСпозитория

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пСрСносит master ΠΈΠ· bravo Π² alpha. Pull – это сокращСниС для Β«ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ FETCH_HEADΒ». Git выполняСт ΠΎΠ±Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ сообщаСт, Ρ‡Ρ‚ΠΎ master Β«Already up-to-dateΒ».

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅Π΅Π·ΠΆΠ°Π΅Ρ‚ Π² Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. Он ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ alpha Π² charlie. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ, сходным с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ cp, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» для создания рСпозитория bravo. Git создаёт Π½ΠΎΠ²ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ charlie. Он ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ charlie Π² качСствС рСпозитория, добавляСт alpha Π² качСствС ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ origin, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ origin ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ FETCH_HEAD.

Π Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ (push) Π²Π΅Ρ‚Π²ΡŒ Π½Π° ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ возвращаСтся Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ alpha. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ‚ содСрТимому data/number.txt Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 13 ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² master Π½Π° alpha.

Он Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ charlie ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ alpha.

Он Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ master Π½Π° charlie. ВсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΊΠΎΠΌΠΌΠΈΡ‚Π° 13, ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² charlie.

Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ процСсс размСщСния останавливаСтся. Git, ΠΊΠ°ΠΊ всСгда, сообщаСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Ρ‡Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ. Он отказываСтся Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π½Π° Π²Π΅Ρ‚Π²ΠΈ, которая ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ. Π­Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ смысл. Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΎ Π±Ρ‹ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ индСкс ΠΈ HEAD. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ Π±Ρ‹ ΠΊ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π΅, Ссли Π±Ρ‹ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Ρ‘ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π» Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ копию Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚Π²ΡŒ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ 13 с Π½Π΅ΠΉ ΠΈ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ эту Π²Π΅Ρ‚Π²ΡŒ Π½Π° charlie. Но ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ трСбуСтся Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Им Π½ΡƒΠΆΠ΅Π½ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ, ΠΈ с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ (pull), Π½ΠΎ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚. Им Π½ΡƒΠΆΠ½ΠΎ Π½Π΅Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΠ° ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ GitHub. Им Π½ΡƒΠΆΠ΅Π½ чистый (bare) Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ чистый (bare) Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Π Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²Π΅Ρ‚Π²ΡŒ Π² чистом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ возвращаСтся Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ alpha. Он Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ delta ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ для alpha.

Он присваиваСт содСрТимому Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 14 ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² master Π½Π° alpha.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Он Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ master Π² delta. Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ‚Ρ€ΠΈ этапа.

1. ВсС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΊΠΎΠΌΠΌΠΈΡ‚Π° 14 Π½Π° Π²Π΅Ρ‚Π²ΠΈ master, ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ· alpha/.git/objects/ Π² delta/objects/.

2. delta/refs/heads/master обновляСтся Π΄ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° 14.

3. alpha/.git/refs/remotes/delta/master Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ 14. Π’ alpha находится Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ запись состояния delta.

какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π€ΠΎΡ‚ΠΎ какая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ добавлСния Π² индСкс ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚

Git построСн Π½Π° Π³Ρ€Π°Ρ„Π΅. ΠŸΠΎΡ‡Ρ‚ΠΈ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ этим Π³Ρ€Π°Ρ„ΠΎΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Git, ΡΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Π½Π° свойствах Π³Ρ€Π°Ρ„Π°, Π° Π½Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ… ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ….

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

Leave a Reply

Your email address will not be published. Required fields are marked *