Revert commit Ρ‡Ρ‚ΠΎ это

Git для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π§Π°ΡΡ‚ΡŒ 9. Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² git?

Рассмотрим довольно Π²Π°ΠΆΠ½Ρ‹ΠΉ вопрос: ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² git? НачнСм с вопроса ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, послС этого ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… этой Ρ‚Π΅ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ вопросы удалСния ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ использованиС ΠΊΠΎΠΌΠ°Π½Π΄ git revert ΠΈ git reset.

ΠžΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π°Ρ… Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

Если Π²Ρ‹ сдСлали ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ измСнСния Π² Ρ„Π°ΠΉΠ»Π΅ ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ρ‚ΠΎ для этого слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ Π²Π·ΡΡ‚ΡŒ ΠΈΠ· Π½Π΅Π³ΠΎ Ρ„Π°ΠΉΠ», с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² Π²Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ скопирован Ρ„Π°ΠΉΠ» ΠΈΠ· рСпозитория с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ. НапримСр, Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Ρ„Π°ΠΉΠ»ΠΎΠΌ main.c ΠΈ внСсли Π² Π½Π΅Π³ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ измСнСния. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии (послСднСй ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ) Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git checkout.

ΠžΡ‚ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² git

Π Π°Π±ΠΎΡ‚Π° с послСдним ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ

Для дСмонстранции возмоТностСй git создадим Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Π² Π½Π΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ„Π°ΠΉΠ» main.c.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ВнСсСм измСнСния Π² Ρ„Π°ΠΉΠ».

И сдСлаСм Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π±Ρ‹Π»ΠΎ сдСлано Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠ΄Π°Π»ΠΈΠΌ послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈ вмСсто Π½Π΅Π³ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ содСрТимоС Ρ„Π°ΠΉΠ»Π° main.c.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΉ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ: ΠΈΠ· рСпозитория ΠΏΡ€ΠΎΠΏΠ°Π» ΠΊΠΎΠΌΠΌΠΈΡ‚ с id=d142679, вмСсто Π½Π΅Π³ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ с id=18411fd.

ΠžΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π΅ Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅

Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π΅Ρ‰Ρ‘ нСсколько ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² нашСм Ρ„Π°ΠΉΠ»Π΅ main.c, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ помСняли ΠΊΠΎΠΌΠΌΠΈΡ‚ с сообщСниСм β€œsecond commit” Π½Π° β€œthird commit”, поэтому ΠΎΠ½ ΠΈΠ΄Π΅Ρ‚ сразу послС β€œfirst commit”.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ Π΄Π²Π° послСдних ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π±Ρ‹Π»ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ, ΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ вСрсии 18411fd ΠΈ внСсти измСнСния ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π½Π΅Π΅. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π½ΠΎ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ послС ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ внСсли измСнСния Π² ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΉ вас Ρ„Π°ΠΉΠ», ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΅Ρ‰Ρ‘ довольно ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… измСнСния Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…. ΠŸΡ€ΠΎΡΡ‚ΠΎ Ρ‚Π°ΠΊ Π²Π·ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈΠ· сСрСдины Π²Π΅Ρ‚ΠΊΠΈ Π½Π΅ получится – это Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ ΡΠ²ΡΠ·Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ Π² Ρ€Π°Π·Ρ€Π΅Π· с ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ git. Одни ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² – это ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, внСсти Π² Π½Π΅Π³ΠΎ измСнСния ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚. Для Π½Π°Ρ‡Π°Π»Π° посмотрим Π½Π° содСрТимоС Ρ„Π°ΠΉΠ»Π° main.c ΠΈΠ· послСднСго, Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

Для просмотра содСрТимого Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ с id=18411fd Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с tree-ish (ΠΎΠ± этом ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ написано здСсь)

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΠΌ Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Ρ„Π°ΠΉΠ» main.c ΠΈΠ· рСпозитория с ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ id=18411fd.

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π° main.c соотвСтствуСт Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания ΠΊΠΎΠΌΠΌΠΈΡ‚Π° с id=18411fd. Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Π² сообщСнии ΡƒΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ отмСняСт Π΄Π²Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ….

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ Π²Π΅Ρ€Π½ΡƒΠ»ΠΈΡΡŒ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии Ρ„Π°ΠΉΠ»Π° main.c ΠΈ ΠΏΡ€ΠΈ этом сохранили всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

ИспользованиС git revert для быстрой ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Рассмотрим Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΈ способ ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π½Π° этот Ρ€Π°Π· Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git revert.

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΎΡ‚ΠΌΠ΅Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ с id=cffc5ad. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ Π²Π²Π΅Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git revert (см. Π½ΠΈΠΆΠ΅), систСма git выдаст сообщСниС Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, Ссли Π²Ρ‹ согласны с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ написано Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, Ρ‚ΠΎ просто сохранитС Π΅Π³ΠΎ ΠΈ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ измСнСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹, ΠΈ автоматичСски сформируСтся ΠΈ отправится Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

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

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² этом случаС Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ настройки для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ рСпозитория. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ настроСк смотритС Π² β€œGit для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π§Π°ΡΡ‚ΡŒ 3. Настройка Git”

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»Π°ΡΡŒ Π»ΠΈ настройка.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° список ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° Π²Π΅Ρ€Π½ΡƒΠ»ΠΎΡΡŒ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚Π° с >

ΠžΡ‚ΠΌΠ΅Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

Π’ΠΠ˜ΠœΠΠΠ˜Π•! Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΎΡ‡Π΅Π½ΡŒ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ!

Если Π²Ρ‹ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ указатСля HEAD, Ρ‚ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒΡŽ β€œ Git для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π§Π°ΡΡ‚ΡŒ 7. ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ HEAD ΠΈ tree-ishβ€œ. HEAD ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅ΡΡ‚ΠΈΡΡŒ дальнСйшая запись, Ρ‚.Π΅. Π½Π° родитСля ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. БущСствуСт Ρ‚Ρ€ΠΈ ΠΎΠΏΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git reset для измСнСния полоТСния HEAD ΠΈ управлСния состояниСм stage ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, сСйчас ΠΌΡ‹ всС это ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ· рСпозитория (Π±Π΅Π· измСнСния Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ) (ΠΊΠ»ΡŽΡ‡ –soft)

Для измСнСния полоТСния указатСля HEAD Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π±Π΅Π· оказания влияния Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ (Π² stage, ΠΏΡ€ΠΈ этом, Π±ΡƒΠ΄Π΅Ρ‚ зафиксированно ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΡ‚ рСпозитория), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ –soft. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π΅Ρ‰Ρ‘ Ρ€Π°Π· Π½Π° наш Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° main.с Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° main.с Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ пСрСмСстим HEAD Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ с id=dcf7253.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ список ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° main.c Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ выглядит Ρ‚Π°ΠΊ.

Π’ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Ρ„Π°ΠΉΠ» main.c остался ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ (эти измСнСния ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π² stage).

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ послСднСС состояниС Ρ„Π°ΠΉΠ»Π° main.c сдСлаСм ΠΊΠΎΠΌΠΌΠΈΡ‚.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° список ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΈΠ· рСпозитория ΠΏΡ€ΠΎΠΏΠ°Π»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹:

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ· рСпозитория ΠΈ очистка stage (Π±Π΅Π· измСнСния Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ) (ΠΊΠ»ΡŽΡ‡ –mixed)

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git reset с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ –mixed, Ρ‚ΠΎ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ HEAD пСрСмСстится Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½ΠΎ содСрТимоС stage. ΠžΡ‚ΠΌΠ΅Π½ΠΈΠΌ послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ измСнилось содСрТимоС рСпозитория.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° main.c Π² послСднСм ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ выглядит Ρ‚Π°ΠΊ.

Π€Π°ΠΉΠ» main.c Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π½Π΅ измСнился.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ измСнСния Π²Π½Π°Ρ‡Π°Π»Π΅ Π² stage, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ· рСпозитория, очистка stage ΠΈ внСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ (ΠΊΠ»ΡŽΡ‡ –hard)

Если Π²Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ ΠΊΠ»ΡŽΡ‡Π΅ΠΌ –hard, Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ ΡƒΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Π’Ρ‹ Π½Π΅ смоТСтС Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. ВсС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ git (Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, stage ΠΈ рабочая дирСктория) Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ Π² соотвСтствии с ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ пСрСнСсСн ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ HEAD.

Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ содСрТимоС рСпозитория выглядит Ρ‚Π°ΠΊ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° содСрТимоС Ρ„Π°ΠΉΠ»Π° main.c Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ.

Π£Π΄Π°Π»ΠΈΠΌ всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π΄ΠΎ самого ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ с id=86f1495.

БостояниС Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ stage.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° main.c Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

Π’.ΠΊ. ΠΌΡ‹ воспользовались ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git reset с ΠΊΠ»ΡŽΡ‡Π΅ΠΌ –hard, Ρ‚ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π΅ΠΆΠ½Π΅Π΅ состояниС Π½Π°ΠΌ Π½Π΅ получится.

Π‘Π£Π”Π¬Π’Π• ΠžΠ§Π•ΠΠ¬ АККУРАВНЫ Π‘ Π­Π’ΠžΠ™ ΠšΠžΠœΠΠΠ”ΠžΠ™!

Git для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π§Π°ΡΡ‚ΡŒ 9. Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² git? : 2 коммСнтария

Π­Ρ‚ΠΎ отмСняСт послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚, Π½ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» Π² исходноС состояниС.
А Π² ΠΊΠ°ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ?

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° пСрСзаписываСт послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ (Ρ‚.Π΅. послСдний удаляСтся ΠΈ Π½Π° Π΅Π³ΠΎ мСсто встаСт Π½ΠΎΠ²Ρ‹ΠΉ), Ρ„Π°ΠΉΠ» Π² исходноС состояниС Π½Π΅ возвращаСтся.

А Π² ΠΊΠ°ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ?

хм… Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ вопрос! Π”Π°ΠΆΠ΅ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡΡŒ Π½Π° Π½Π΅Π³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ. Ну Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ β€œΡƒΠΆΠ°Ρβ€ ΠΈ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ стал достояниСм общСствСнности))

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

ΠžΡ‚ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² β€” Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Git

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΊΠΎΠΌΠΌΠΈΡ‚ ΡƒΠΆΠ΅ сдСлан, Π½ΠΎ ΠΎΠ½ нас ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π½Π΅ устраиваСт? Π‘ΠΈΡ‚ΡƒΠ°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ всС ΠΎΠ½ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ рСгулярно Π΄Π°ΠΆΠ΅ Ρƒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²:

Git ΠΏΠΎ большСй части систСма Β«Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΏΠ΅Ρ€Ρ‘Π΄Β». ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π³ΠΈΡ‚ΠΎΠΌ β€” созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ, Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ старого. ВсС ситуации, описанныС Π²Ρ‹ΡˆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ ΠΈ бСзопасно. ИзмСнСниС истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² β€” опСрация опасная ΠΈ Ρ‡Ρ€Π΅Π²Π°Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΈ синхронизации с ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ рСпозиториями. Об этом ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅.

НСсмотря Π½Π° сказанноС Π²Ρ‹ΡˆΠ΅, Π²Π½ΡƒΡ‚Ρ€ΠΈ git ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½Ρƒ, Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π‘ ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² понятной, Π° сам процСсс Β«ΠΎΡ‚ΠΊΠ°Ρ‚Π°Β» быстрым.

Git revert

Бамая простая ситуация β€” ΠΎΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ЀактичСски ΠΎΠ½Π° сводится ΠΊ созданию Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт измСнСния ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отмСняСтся. Π ΡƒΠΊΠ°ΠΌΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ довольно слоТно, поэтому Π² git Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΡ‚ΠΊΠ°Ρ‚. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° называСтся git revert :

Команда revert ΠΌΠΎΠΆΠ΅Ρ‚ «ΠΎΡ‚ΠΌΠ΅Π½ΡΡ‚ΡŒ» Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚, Π½ΠΎ ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ· истории ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π‘ΠΎΠ³Π»Π°ΡΠΈΡ‚Π΅ΡΡŒ, это ΠΎΡ‡Π΅Π½ΡŒ ΠΊΡ€ΡƒΡ‚ΠΎ. Π‘Π΅Π· систСмы контроля вСрсий ΠΎ Ρ‚Π°ΠΊΠΎΠΌ нСльзя Π±Ρ‹Π»ΠΎ ΠΈ ΠΌΠ΅Ρ‡Ρ‚Π°Ρ‚ΡŒ.

Git reset

Git позволяСт ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹. Π­Ρ‚ΠΎ опасная опСрация, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π½ΠΈ Ρƒ ΠΊΠΎΠ³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ вас.

Если ΠΊΠΎΠΌΠΌΠΈΡ‚ Π±Ρ‹Π» ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ Π²ΠΎ внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Github, Ρ‚ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС нСльзя, это сломаСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρƒ Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π²Π°ΠΌΠΈ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

git reset β€” мощная ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π»Π°Π³ΠΎΠ² ΠΈ способов Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π‘ Π΅Ρ‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ (Π±Π΅Π· удалСния) ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· истории ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π Π°Π±ΠΎΡ‚Π° с Π½Π΅ΠΉ относится ΠΊ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΌΡƒ использованию git, здСсь ΠΆΠ΅ ΠΌΡ‹ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ°ΠΌΡƒΡŽ Π±Π°Π·Ρƒ.

ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΎΡ‚ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°». Если Π±Ρ‹ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΄Π²Π° послСдних ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ HEAD

HEAD (Π³ΠΎΠ»ΠΎΠ²Π°) β€” Ρ‚Π°ΠΊ обозначаСтся послСдний сдСланный ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ эту Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡŽ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π² ΡƒΡ€ΠΎΠΊΠ΅, посвящСнном Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌΡƒ устройству git.

ПослСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° большС Π½Π΅ сущСствуСт, Π½ΠΎ измСнСния, сдСланныС Π² Π½Ρ‘ΠΌ, Π½Π΅ ΠΏΡ€ΠΎΠΏΠ°Π»ΠΈ. Они находятся Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ для дальнСйшСй Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

Revert commit Ρ‡Ρ‚ΠΎ это. mentors c5a2c0d5be5b134e174aad63fdd756ea3c31e3cbf86a0a112936dda315ec1a93. Revert commit Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Revert commit Ρ‡Ρ‚ΠΎ это-mentors c5a2c0d5be5b134e174aad63fdd756ea3c31e3cbf86a0a112936dda315ec1a93. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Revert commit Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° mentors c5a2c0d5be5b134e174aad63fdd756ea3c31e3cbf86a0a112936dda315ec1a93

ΠžΡΡ‚Π°Π»ΠΈΡΡŒ вопросы? Π—Π°Π΄Π°ΠΉΡ‚Π΅ ΠΈΡ… Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅Β»

Π’Π°ΠΌ отвСтят ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π₯СкслСта ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ студСнты.

Нашли ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ ΠΈΠ»ΠΈ Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ?

Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ тСкст, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ctrl + enter ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π½Π°ΠΌ. Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄Π½Π΅ΠΉ ΠΌΡ‹ исправим ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠ»ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΡƒ.

Π§Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ получаСтся ΠΈΠ»ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» каТСтся слоТным?

ЗаглянитС Π² Ρ€Π°Π·Π΄Π΅Π» Β«ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅Β»:

Об ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ Π½Π° Π₯СкслСтС

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ доступ

ΠšΡƒΡ€ΡΡ‹ программирования для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² ΠΈ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². НачнитС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ бСсплатно.

Наши выпускники Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² компаниях:

Π‘ нуля Π΄ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ дСньги, Ссли Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

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

Git, я Ρ…ΠΎΡ‡Ρƒ всС ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ! ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ исправлСния Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… ошибок

Revert commit Ρ‡Ρ‚ΠΎ это. 428cb8018d4bf8099d9c0165b784f2b2. Revert commit Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Revert commit Ρ‡Ρ‚ΠΎ это-428cb8018d4bf8099d9c0165b784f2b2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Revert commit Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 428cb8018d4bf8099d9c0165b784f2b2

Git β€” удобная, Π½ΠΎ довольно слоТная систСма. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ Π½Π΅Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Ρ‚Π΅ΠΌ слоТно ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ. ДокумСнтация Git прСдоставляСт описаниС мноТСства ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

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

Π§Π΅Ρ€Ρ‚, я сдСлал Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎ. Π”Π°ΠΉΡ‚Π΅ ΠΌΠ½Π΅ Π²ΠΎΠ»ΡˆΠ΅Π±Π½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ!

Revert commit Ρ‡Ρ‚ΠΎ это. 0e36afd76fe237175204ed52ecd4f4ec. Revert commit Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Revert commit Ρ‡Ρ‚ΠΎ это-0e36afd76fe237175204ed52ecd4f4ec. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Revert commit Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 0e36afd76fe237175204ed52ecd4f4ec

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° позволяСт Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ случайно ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΠ² слияниС, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ Π½Π΅ΠΏΡ€ΠΈΡΡ‚Π½ΠΎΡΡ‚ΡŒ. refLog ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Ρƒ ΠΎΡ‡Π΅Π½ΡŒ часто β€” Π΄Π°Π²Π°ΠΉΡ‚Π΅ скаТСм спасибо Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

Π― сдСлал ΠΊΠΎΠΌΠΌΠΈΡ‚, Π½ΠΎ сразу ΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ» ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ!

NB! Никогда Π½Π΅ измСняйтС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ лишь для ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² локальной Π²Π΅Ρ‚ΠΊΠ΅, ΠΈΠ½Π°Ρ‡Π΅ Ρƒ вас Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Π₯ΠΎΡ‡Ρƒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ сообщСниС послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°!

Π­Ρ‚ΠΎ просто… Π³Π»ΡƒΠΏΡ‹Π΅ трСбования ΠΊ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡŽ сообщСний.

Π― случайно Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ» Π² мастСр, хотя это Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ!

Если Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ»ΠΈ Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. Π’ этом случаС ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ git reset HEAD@ <ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ количСство ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ>вмСсто HEAD

Ну Π²ΠΎΡ‚, я ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ» Π½Π΅ Π² Ρ‚Ρƒ Π²Π΅Ρ‚ΠΊΡƒ

Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ большоС количСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² β€” это cherry-pick.

МнС Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ diff, Π½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ получаСтся

Если Π²Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ измСнСния Π±Ρ‹Π»ΠΈ внСсСны, Π½ΠΎ diff пустой, Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ индСксировали измСнСния Ρ‡Π΅Ρ€Π΅Π· add. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π»Π°Π³.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, это Π½Π΅ Π±Π°Π³, Π° Ρ„ΠΈΡ‡Π°, Π½ΠΎ ΠΎΠ½Π° чСртовски нСочСвидная Β―\_(ツ)_/Β―

МнС срочно Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сдСлан 5 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π½Π°Π·Π°Π΄

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π°Π·Π°Π΄ Π½Π° 5 ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², занимаясь копипастом старых ΠΈ Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС это ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ revert.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π½ΠΎ ΠΈ Ρ†Π΅Π»Ρ‹ΠΉ Ρ„Π°ΠΉΠ». ΠŸΡ€Π°Π²Π΄Π°, это ΡƒΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ команды…

ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния Π² Ρ„Π°ΠΉΠ»Π΅

А Π²ΠΎΡ‚ ΠΈ ΠΎΠ½ΠΈ, эти Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Когда я Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ нашСл эту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, это Π±Ρ‹Π»ΠΎ КРУВО, КРУВО, К-Π -Π£-Π’-О. Но Ссли Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ β€” ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ checkout β€” Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π΅? :shakes-fist-at-linus-torvalds:

Бпасибо Eric V. Π—Π° этот способ. И всС ΠΆΠ°Π»ΠΎΠ±Ρ‹ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ использования sudo адрСсуйтС Π΅ΠΌΡƒ.

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ΡŒ измСнСния ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ Π΄ΠΎ исходной вСрсии, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ. Но ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ β€” эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΈ Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΡ‹.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ являСтся ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌ руководством. И Π΄Π°, Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π΅Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅. Но я ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ этим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ± ΠΈ ошибок. ΠŸΠΎΡ‚ΠΎΠΌ Ρƒ мСня появилась ΡΡƒΠΌΠ°ΡΡˆΠ΅Π΄ΡˆΠ°Ρ идСя ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π½Π°Ρ…ΠΎΠ΄ΠΊΠ°ΠΌΠΈ. Π‘Π΅Ρ€ΠΈΡ‚Π΅ это ΠΈΠ»ΠΈ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚Π΅!

Revert commit Ρ‡Ρ‚ΠΎ это. ea7f29dadbeacfa1a91e9ccf3f2f0760. Revert commit Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Revert commit Ρ‡Ρ‚ΠΎ это-ea7f29dadbeacfa1a91e9ccf3f2f0760. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Revert commit Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ea7f29dadbeacfa1a91e9ccf3f2f0760

Π”Π°Π½ΠΈΠΈΠ» ПилипСнко, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΏΠΎΠ΄Π±ΠΎΡ€Π° IT-спСциалистов SymbioWay ΠΈ СвангСлист бэкСнд-направлСния ΠΎΠ½Π»Π°ΠΉΠ½-унивСрситСта Skillbox, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ» ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΎ Git ΠΈ Π΅Π³ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Git появился Π² 2005-ΠΎΠΌ Π³ΠΎΠ΄Ρƒ, ΠΈ ΠΎΠ½ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ сразу занял Ρ€Ρ‹Π½ΠΎΠΊ. Помню, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π΅Ρ‰Ρ‘ Π² 2008-ΠΎΠΌ Π³ΠΎΠ΄Ρƒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² внСдряли SVN. И Π΄Π°ΠΆΠ΅ Π² 2012-ΠΎΠΌ ΠΎΠ΄Π½Π° близкая ΠΊΠΎ ΠΌΠ½Π΅ компания усилСнно внСдряла Mercurial. Π‘ Π³ΠΎΠ΄Π°ΠΌΠΈ для ΠΌΠ½ΠΎΠ³ΠΈΡ… стало ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ Git β€” это Π»ΡƒΡ‡ΡˆΠ°Ρ систСма контроля вСрсий, ΠΈ Π΅Ρ‘ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ практичСски всС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ.

Если Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΡƒΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ Git! Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ систСма контроля вСрсий ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π²Π΅Ρ‚ΠΊΠ°, ΠΊΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сдСланныС измСнСния Π½Π° сСрвСр, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ измСнСния с сСрвСра, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ merge, ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ‹Π²Π°ΡŽΡ‚ Π²ΠΈΠ΄Ρ‹ β€œreset”. ΠŸΠΎΠ½Π°Ρ‡Π°Π»Ρƒ эта Ρ‚Π΅ΠΌΠ° Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСпонятной ΠΈ слоТной, Π½ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ лишь ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Git, ΠΈ ΠΎΡ‚Π²Ρ‹ΠΊΠ½ΡƒΡ‚ΡŒ Π²Ρ‹ ΡƒΠΆΠ΅ Π½Π΅ смоТСтС.

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

РаскладываСм Git ΠΏΠΎ ΠΏΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌ: тСрминология

Π§Ρ‚ΠΎ это Π·Π° Π·Π²Π΅Ρ€ΡŒ?

Git β€” распрСдСлённая систСма управлСния вСрсиями. Git ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ быстроС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ слияниС вСрсий, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ инструмСнты для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ истории Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

НичСго Π½Π΅ понятно, Π΄Π°Π²Π°ΠΉ Π΅Ρ‰Π΅ Ρ€Π°Π·

КакиС Ρ‚Π°ΠΊΠΈΠ΅ вСрсии?

ВСрсия β€” это состояниС Ρ„Π°ΠΉΠ»Π° (ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²) Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. НапримСр, пустой Ρ„Π°ΠΉΠ» (1), Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ» с ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ тСкстом (2) ΠΈ этот ΠΆΠ΅ Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±Ρ‹Π»Π° исправлСна ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° (3) β€” Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ) Ρ„Π°ΠΉΠ»Π°.

БистСмы Ρ‡Π΅Π³ΠΎ.

БистСма управлСния вСрсиями β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ состояниС Ρ„Π°ΠΉΠ»ΠΎΠ² (Ρ‚Π΅ самыС вСрсии), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ€Π°Π½Π΅Π΅ сохранСнному ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ внСсСнных Π² Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΡ‚ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ эти измСнСния, ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ авторство ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΌ с этими вСрсиями Π΄Π΅Π»Π°ΡŽΡ‚?

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ вСрсий β€” нСзависимыС измСнСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

Revert commit Ρ‡Ρ‚ΠΎ это. image loader. Revert commit Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Revert commit Ρ‡Ρ‚ΠΎ это-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Revert commit Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loaderΠ’Π΅Ρ€ΡΠΈΠΎΠ½Π½ΠΎΡΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ тСкстового Ρ„Π°ΠΉΠ»Π°

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

БлияниС вСрсий β€” объСдинСниС Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ нСзависимых вСрсий. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²Ρ‹ΡˆΠ΅, слияниСм Π±ΡƒΠ΄Π΅Ρ‚ объСдинСниС Π΄Π²ΡƒΡ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… вСрсий нашСго Ρ„Π°ΠΉΠ»Π° Π² ΠΎΠ΄Π½Ρƒ β€” Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ тСкст, ΠΈ исправлСнная ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ°.

А ΠΏΡ€ΠΈ Ρ‡Π΅ΠΌ Ρ‚ΡƒΡ‚ история?

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ β€” ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ всСх вСрсий Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ вСдСтся Ρ€Π°Π±ΠΎΡ‚Π°. Π˜ΡΡ‚ΠΎΡ€ΠΈΠ΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ список ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ тСкста

Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ тСкста

объСдинСниС Π΄Π²ΡƒΡ… вСрсий Ρ„Π°ΠΉΠ»Π° (ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ слияния)

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

НСмного Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (repository) β€” ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ², состояниС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… отслСТиваСтся, ΠΈ история ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. По Ρ„Π°ΠΊΡ‚Ρƒ, Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ β€” это ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ вСдСтся Ρ€Π°Π±ΠΎΡ‚Π°, ΠΈ всС измСнСния Π² этом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Для отслСТивания состояния Ρ„Π°ΠΉΠ»Π° Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ΠšΠΎΠΌΠΌΠΈΡ‚ (commit) β€” сохранСнноС состояниС (вСрсия) Ρ„Π°ΠΉΠ»ΠΎΠ² рСпозитория.

Π’Π΅Ρ‚ΠΊΠ° (branch) β€” ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² (история измСнСния состояния рСпозитория). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π²Π΅Ρ‚ΠΊΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ «родитСля» (parent commit) β€” ΠΊΠΎΠΌΠΌΠΈΡ‚, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ. Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько Π²Π΅Ρ‚ΠΎΠΊ (Π² случаях, ΠΊΠΎΠ³Π΄Π° ΠΊ ΠΎΠ΄Π½ΠΎΠΉ вСрсии рСпозитория примСняСтся нСсколько нСзависимых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ).

HEAD β€” ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° состояниС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ находится Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚).

ΠœΠ°ΡΡ‚Π΅Ρ€ (master, main) β€” основная Π²Π΅Ρ‚ΠΊΠ° рСпозитория, создаСтся автоматичСски ΠΏΡ€ΠΈ создании рСпозитория.

ΠœΠ΅Ρ€Π΄ΠΆ (слияниС, merge) β€” объСдинСниС Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²Π΅Ρ‚ΠΎΠΊ. Π’ процСссС ΠΌΠ΅Ρ€Π΄ΠΆΠ° измСнСния с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ пСрСносятся (ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ) Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ.

ЦСлСвая Π²Π΅Ρ‚ΠΊΠ° ΠΌΠ΅Ρ€Π΄ΠΆΠ° β€” Π²Π΅Ρ‚ΠΊΠ°, измСнСния с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ.

Π‘Π°Π·Π° слияния (merge base) β€” послСдний ΠΎΠ±Ρ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π΄Π²ΡƒΡ… Π²Π΅Ρ‚ΠΎΠΊ.

ΠœΠ΅Ρ€Π΄ΠΆ ΠΊΠΎΠΌΠΌΠΈΡ‚ (merge commit) β€” ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСтся автоматичСски ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ процСсса слияния Π²Π΅Ρ‚ΠΎΠΊ. ΠœΠ΅Ρ€Π΄ΠΆ ΠΊΠΎΠΌΠΌΠΈΡ‚ содСрТит Π² сСбС всС измСнСния Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΌΠ΅Ρ€Π΄ΠΆΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ (всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ начиная с Π±Π°Π·Ρ‹ слияния, Π½ΠΎ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Ρ‘).

БлияниС ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠΎΠΉ (fast-forward merge) β€” слияниС Π²Π΅Ρ‚ΠΎΠΊ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ (послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ являСтся Π±Π°Π·ΠΎΠΉ слияния). ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΌΠ΅Ρ€Π΄ΠΆΠ΅ тСкущая Π²Π΅Ρ‚ΠΊΠ° просто ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состояниС Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ (ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ HEAD пСрСносится Π½Π° послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ). ΠœΠ΅Ρ€Π΄ΠΆ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΏΡ€ΠΈ этом Π½Π΅ создаСтся.

БлияниС Π±Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠΈ (non fast-forward merge) β€” слияниС, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ (ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·Ρ‹ слияния) ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΈ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ°Ρ….

Π’ пустом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π² основной Π²Π΅Ρ‚ΠΊΠ΅, создаСм пустой Ρ„Π°ΠΉΠ», добавляСм Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ git Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ состояниС Ρ„Π°ΠΉΠ»Π°) ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ (ΠΊΠΎΠΌΠΌΠΈΡ‚ А).

ДобавляСм Π² Ρ„Π°ΠΉΠ» тСкст, ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ Π΅Ρ‰Π΅ Ρ€Π°Π· (ΠΊΠΎΠΌΠΌΠΈΡ‚ B).

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ (ΠΊΠ°ΠΊ Π±Ρ‹ копируя состояниС рСпозитория), вносим измСнСния Π² Ρ„Π°ΠΉΠ» ΠΈ снова ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠΌ (ΠΊΠΎΠΌΠΌΠΈΡ‚ Π‘).

ВозвращаСмся Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ (Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ находится Π² состоянии, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΎΡΡŒ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ B, Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вносились Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅).

Вносим Π½ΠΎΠ²Ρ‹Π΅ измСнСния, создаСм Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ (D).

Revert commit Ρ‡Ρ‚ΠΎ это. image loader. Revert commit Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Revert commit Ρ‡Ρ‚ΠΎ это-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Revert commit Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loaderΠ˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ

ПослС этого новая Π²Π΅Ρ‚ΠΊΠ° останСтся Π² состоянии Π‘ (со своими собствСнными измСнСниями), Π° Π² основной Π²Π΅Ρ‚ΠΊΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ измСнСния ΠΈΠ· ΠΎΠ±Π΅ΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ (измСнСния, внСсСнныС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ Π‘ ΠΈ D). Π­Ρ‚Π° Π²Π΅Ρ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ Π² состояниС Π•.
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΈ обратная ситуация, ΠΊΠΎΠ³Π΄Π° измСнСния ΠΈΠ· основной Π²Π΅Ρ‚ΠΊΠΈ Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π½ΠΎΠ²ΡƒΡŽ (ΠΌΠ΅Ρ€Π΄ΠΆ производится ΠΈΠ· Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ).

ΠŸΡ€ΠΈ этом ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Π½Π΅ΠΉ (внСсти Π½ΠΎΠ²Ρ‹Π΅ измСнСния ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ F).

Revert commit Ρ‡Ρ‚ΠΎ это. image loader. Revert commit Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Revert commit Ρ‡Ρ‚ΠΎ это-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Revert commit Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loaderΠ˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ послС слияния ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

ΠœΠ΅Ρ€Π΄ΠΆ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ (merge conflict) β€” ситуация, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ слиянии Π²Π΅Ρ‚ΠΎΠΊ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² вносились нСзависимыС измСнСния. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли измСнялись Ρ€Π°Π·Π½Ρ‹Π΅, Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ части ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°) git способСн ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слияниС Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ². Если автоматичСски это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ β€” Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слияниС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… вСрсий (Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, resolve merge conflict). ИзмСнСния, внСсСнныС Π² процСссС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° автоматичСски ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ΠΌΠ΅Ρ€Π΄ΠΆ ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π§Π΅ΠΊΠ°ΡƒΡ‚ (checkout) β€” ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ (ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅) состояниС рСпозитория (Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ»ΠΈ Π²Π΅Ρ‚ΠΊΡƒ). ΠŸΡ€ΠΈ этом всС Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² состояниС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Если ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±Ρ‹Π»ΠΈ внСсСны измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚ β€” ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ пСрСнСсСны Β«ΠΏΠΎΠ²Π΅Ρ€Ρ…Β» состояния послС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. Как ΠΈ ΠΏΡ€ΠΈ ΠΌΠ΅Ρ€Π΄ΠΆΠ΅, git ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ эти измСнСния ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ автоматичСски, ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ β€” Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΈ измСнСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π”ΠΈΡ„Ρ„ (diff) β€” Ρ€Π°Π·Π½ΠΈΡ†Π° Π΄Π²ΡƒΡ… состояний (ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π²Π΅Ρ‚ΠΎΠΊ, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²).

ВрСхсторонний Π΄ΠΈΡ„Ρ„ (three-way diff) β€” Π΄ΠΈΡ„Ρ„, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈ ΠΌΠ΅Ρ€Π΄ΠΆΠ΅ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². ЯвляСтся Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ Ρ‚Ρ€Π΅Ρ… состояний: состояния рСпозитория Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅, состояния Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ слияния ΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ состояния ΠΌΠ΅ΠΆΠ΄Ρƒ этими Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ (состояния Π² Π±Π°Π·Π΅ слияния).

Π§Π΅Ρ€Ρ€ΠΈ-ΠΏΠΈΠΊ (cherry-pick) β€” процСсс добавлСния Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ (ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ…) ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ, Π±Π΅Π· нСобходимости Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слияниС Π²Π΅Ρ‚ΠΎΠΊ.

Π Π΅Π²Π΅Ρ€Ρ‚ (revert) β€” ΠΎΡ‚ΠΌΠ΅Π½Π° внСсСнных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²). Π’ процСссС Ρ€Π΅Π²Π΅Ρ€Ρ‚Π° создаСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ нСобходимости (Π²Π΅Ρ€Π½ΡƒΠ² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС). Π Π΅Π²Π΅Ρ€Ρ‚ ΠΌΠ΅Ρ€Π΄ΠΆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° позволяСт ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ΅ Ρ€Π°Π½Π΅Π΅ слияниС Π²Π΅Ρ‚ΠΎΠΊ.

Π Π΅Π±Π΅ΠΉΠ· (rebase) β€” пСрСнос ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Β«ΠΏΠΎΠ²Π΅Ρ€Ρ…Β» Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ. ΠŸΡ€ΠΈ этом всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ, ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈ Π·Π°Π½ΠΎΠ²ΠΎ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π΅Π±Π΅ΠΉΠ· пСрСсоздаСт ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π·Π°Π½ΠΎΠ²ΠΎ ΠΈ мСняСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, Π΅Π³ΠΎ использованиС Π½Π΅ рСкомСндуСтся ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Π Π΅Π±Π΅ΠΉΠ· Π² Π²Π΅Ρ‚ΠΊΠ΅, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Ρ‡ΡƒΠΆΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ/ΠΈΠ»ΠΈ нСвозмоТности ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ слияниС.

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΊΠΎΠΌΠΌΠΈΡ‚ Π• содСрТит измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вносились с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго слияния ΠΈΠ»ΠΈ создания Π²Π΅Ρ‚ΠΊΠΈ (с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π’). Π’.Π΅. ΠΊΠΎΠΌΠΌΠΈΡ‚ Π• содСрТит Π² сСбС измСнСния ΠΈΠ· D. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ€Π΅Π±Π΅ΠΉΠ·Π° git ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ эти измСнСния (E) ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ (ΠΈ окаТутся Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ послС Ρ€Π΅Π±Π΅ΠΉΠ·Π°), ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π½Π΅Ρ‚ нСобходимости ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π•, дублируя этим D.

Командная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

НаличиС ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΈ ΠΏΡ€ΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅: ΠΎΠ½ΠΎ позволяСт ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ состояниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… ΠΈ просто ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° внСшнСм сСрвСрС.

Π•ΡΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° синхронизации ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

ΠΏΡƒΠ»Π» (pull) β€” слияниС состояния ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΈ локального (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ β€” Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅). ΠŸΡƒΠ»Π» ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ для ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π²Π΅Ρ‚ΠΊΠΈ (с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ), Ρ‚Π°ΠΊ ΠΈ для Ρ€Π°Π·Π½Ρ‹Ρ…. ΠŸΡƒΠ»Π» являСт собою ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ€Π΄ΠΆ, Π½ΠΎ цСлСвая Π²Π΅Ρ‚ΠΊΠ° ΠΏΡ€ΠΈ этом находится Π½Π΅ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся ΠΏΡƒΠ»Π», Π° Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ. Как слСдствиС, ΠΏΡ€ΠΈ ΠΏΡƒΠ»Π»Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅ создаСтся ΠΌΠ΅Ρ€Π΄ΠΆ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΏΡƒΠ»Π» ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ (Π·Π°Ρ€Π΅Π²Π΅Ρ€Ρ‚ΠΈΡ‚ΡŒ) ΠΈ Π² Π΅Π³ΠΎ процСссС ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΠ΅Ρ€Π΄ΠΆ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.

Revert commit Ρ‡Ρ‚ΠΎ это. image loader. Revert commit Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Revert commit Ρ‡Ρ‚ΠΎ это-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Revert commit Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader

    ΠΏΡƒΡˆ (push) β€” ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΏΡƒΠ»Π»Ρƒ процСсс. ΠŸΡ€ΠΈ ΠΏΡƒΡˆΠ΅ измСнСния ΠΈΠ· локального рСпозитория пСрСносятся Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ. ΠŸΡƒΡˆ обновляСт состояниС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Π½Π΅ являСтся ΠΌΠ΅Ρ€Π΄ΠΆΠ΅ΠΌ (Π½Π΅ создаСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ). Если Π² Π²Π΅Ρ‚ΠΊΠ΅ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, сигнализируСтся ошибка ΠΎ нСсовпадСнии истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (non fast-forward merge), ΠΏΡƒΡˆ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ получится. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ состояниС локального рСпозитория (ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡƒΠ»Π»Π°), ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС этого ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ процСсс ΠΏΡƒΡˆΠ°.

Revert commit Ρ‡Ρ‚ΠΎ это. image loader. Revert commit Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Revert commit Ρ‡Ρ‚ΠΎ это-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Revert commit Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader

НСрСдко Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ состоянии ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория (ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π²Π΅Ρ‚ΠΊΠ°Ρ… ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ… Π² Π½ΠΈΡ…) Π±Π΅Π· выполнСния слияния (ΠΏΡƒΠ»Π»Π°). Π’Π°ΠΊΠΎΠΉ процСсс называСтся Ρ„Π΅Ρ‚Ρ‡Π΅ΠΌ (fetch). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡƒΠ»Π» являСтся ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ Ρ„Π΅Ρ‚Ρ‡Π° ΠΈ ΠΌΠ΅Ρ€Π΄ΠΆΠ°: спСрва обновляСтся информация ΠΎ состоянии Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ Π΅Π΅ измСнСния Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

основныС понятия ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹

простыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ²

ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ git’a ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅

Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈ использовании git’a

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

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

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