git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Π”ΠΎΡ…ΠΎΠ΄Ρ‡ΠΈΠ²ΠΎΠ΅ объяснСниС Git Reset

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Β«Git Reset Explained – How to Save the Day with the Reset CommandΒ».

Β«ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅! Π― Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ» Π½Π΅ Π² Ρ‚Ρƒ Π²Π΅Ρ‚ΠΊΡƒ!Β» «Ну Π²ΠΎΡ‚, ΠΎΠΏΡΡ‚ΡŒβ€¦ Π“Π΄Π΅ ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚?Β» Π—Π½Π°ΠΊΠΎΠΌΡ‹Π΅ ситуации, ΠΏΡ€Π°Π²Π΄Π°?

Π― Ρ‚Π°ΠΊΠΎΠ΅ ΡΠ»Ρ‹ΡˆΠ°Π» Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ. ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΎΠΊΠ»ΠΈΠΊΠ°Π΅Ρ‚ мСня ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ просит ΠΏΠΎΠΌΠΎΡ‡ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ Π½Π΅Π³ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ с git. И Ρ‚Π°ΠΊΠΎΠ΅ происходило Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° я ΡƒΡ‡ΠΈΠ» студСнтов, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.

Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ я стал ΠΊΠ΅ΠΌ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Β«Ρ‚ΠΎΠ³ΠΎ парня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ разбираСтся Π² GitΒ».

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ git постоянно, ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΌ Π² Ρ€Π°Π±ΠΎΡ‚Π΅. Но ΠΏΠΎΡ€ΠΎΠΉ (ΠΈ ΠΊΡƒΠ΄Π° Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ Π½Π°ΠΌ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹!) Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ.

Π‘Ρ‹Π²Π°Π΅Ρ‚, ΠΌΡ‹ отправляСм ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π΅ Π² Ρ‚Ρƒ Π²Π΅Ρ‚ΠΊΡƒ. Π‘Ρ‹Π²Π°Π΅Ρ‚, тСряСм Ρ‡Π°ΡΡ‚ΡŒ написанного ΠΊΠΎΠ΄Π°. А ΠΌΠΎΠΆΠ΅ΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ лишнСС.

По git Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ½Π»Π°ΠΉΠ½-рСсурсов, ΠΈ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎΡ‚ эта ΡΡ‚Π°Ρ‚ΡŒΡ) фокусируСтся Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π² Ρ‚Π°ΠΊΠΈΡ… Π²ΠΎΡ‚ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуациях.

Но ΠΌΠ½Π΅ всСгда казалось, Ρ‡Ρ‚ΠΎ Π² этих рСсурсах Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ объяснСний, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Π° Π½Π΅ ΠΈΠ½Π°Ρ‡Π΅. Когда приводится Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ каТдая ΠΈΠ· Π½ΠΈΡ…? И Π²ΠΎΠΎΠ±Ρ‰Π΅, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ этим ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ?

Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ постС я рассказывал ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ устройствС Git. И хотя ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, читая тСория практичСски всСгда нСдостаточна. Как ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ свои знания Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ устройства git ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ?

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ условия β€” рабочая дирСктория, индСкс ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Если Π²Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π² этой Ρ‚Π΅ΠΌΠ΅, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ. Если ΠΆΠ΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ пояснСниС, ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΌΠΎΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ пост.

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

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ„Π°ΠΉΠ» ΠΈ запустим ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git status :

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Π”Π°, git Π½Π΅ записал (Π½Π΅ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ») измСнСния, сдСланныС Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ВмСсто этого измСнСния сначала Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² индСксС (ΠΈΠ»ΠΈ Π² стСйдТингС). Оба эти Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅, ΠΈ ΠΎΠ±Π° часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ git. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±ΠΎΠΈΠΌΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ взаимозамСняСмы.

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Рабочая дирСктория находится Π² Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΌ ΠΆΠ΅ состоянии, ΠΊΠ°ΠΊ индСкс ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ git commit тСкущая Π²Π΅Ρ‚ΠΊΠ° master Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ commit.

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

ВнутрСнняя Ρ€Π°Π±ΠΎΡ‚Π° git reset

МнС нравится ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ git reset ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, которая ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π²ΡΠΏΡΡ‚ΡŒ описанный Π²Ρ‹ΡˆΠ΅ процСсс (внСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΡ… Π² индСкс, Π° Π·Π°Ρ‚Π΅ΠΌ сохранСниС Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ).

Бтадия 1. ОбновлСниС HEAD β€” git reset β€”soft

Если Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, HEAD Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° commit 2, ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ new_file.txt Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΄Π΅Ρ€Π΅Π²Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Но ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒΡŽ индСкса ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Бтадия 2. ОбновлСниС индСкса β€” git reset β€”mixed

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ индСкс Π±ΡƒΠ΄Π΅Ρ‚ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Π²ΠΈΠ΄Π΅, Ρ‡Ρ‚ΠΎ ΠΈ commit 2:

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Бтадия 3. ОбновлСниС Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ β€” git reset β€”hard

1, Π° Ρ‚Π°ΠΊΠΆΠ΅ обновлСния индСкса Π΄ΠΎ (ΡƒΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ) HEAD, git ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π΅Ρ‰Π΅ дальшС ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π΄ΠΎ состояния индСкса.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ рабочая дирСктория Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ индСкса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² состояниС commit 2:

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

БобствСнно, ΠΌΡ‹ Π²Π΅Ρ€Π½ΡƒΠ»ΠΈ вСсь процСсс Π½Π° этап Π΄ΠΎ создания Ρ„Π°ΠΉΠ»Π° my_file.txt.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ наши знания Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… сцСнариях

1. Упс! Π― Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ» Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎ ошибкС

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ сцСнарий. ΠœΡ‹ создали Ρ„Π°ΠΉΠ» со строкой Β«This is very importntΒ», ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π² стСйдТинг, Π° послС β€” Π² ΠΊΠΎΠΌΠΌΠΈΡ‚.

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

А Π·Π°Ρ‚Π΅ΠΌ β€” ΠΎΠΉ! β€” ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρƒ нас ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ°.

2. Упс! Π― сдСлал ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π΅ Π² Ρ‚Ρƒ Π²Π΅Ρ‚ΠΊΡƒ, Π° эти измСнСния ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½Ρ‹ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅

Π‘ΠΎ всСми Π½Π°ΠΌΠΈ Ρ‚Π°ΠΊΠΎΠ΅ ΡΠ»ΡƒΡ‡Π°Π»ΠΎΡΡŒ. Π‘Π΄Π΅Π»Π°Π» Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, закоммитил…

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

О Π½Π΅Ρ‚, ΠΌΡ‹ сдСлали ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π²Π΅Ρ‚ΠΊΡƒ master, Π° Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡƒΠ»-рСквСст.

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ здСсь Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нашС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ‚ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ.

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

БобствСнно, ΠΎΡ‚ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ состояния нас ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚Ρ€ΠΈ измСнСния.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ полоТСния Π² Ρ‚Ρ€ΠΈ шага:

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ master ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»Π° Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ (ΠΈΠ½Ρ‹ΠΌΠΈ словами, Π½Π° HEAD

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

3. Упс! Π― ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π΅ Π² Ρ‚Ρƒ Π²Π΅Ρ‚ΠΊΡƒ, Π° ΠΎΠ½ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ΅Π½ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ (ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ) Π²Π΅Ρ‚ΠΊΠ΅

Π’ этом случаС ΠΌΡ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ Ρ‚Π΅ ΠΆΠ΅ шаги, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ сцСнарии. ΠœΡ‹ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π»ΠΈ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ»ΠΈ измСнСния…

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Π”Π°Π²Π°ΠΉΡ‚Π΅ снова ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΈ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Π£ нас ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ отличия.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ нашС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

ВсС, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ master ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»Π° Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, Π° Π½Π΅ Π½Π° самый послСдний. Для этого:

1 β€” Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π²Π΅Ρ€Π½ΡƒΠ»ΠΈΡΡŒ ΠΊ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ этой Π²Π΅Ρ‚ΠΊΠΈ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ достигли ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ полоТСния:

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Π˜Ρ‚ΠΎΠ³ΠΈ

Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ свои Π½ΠΎΠ²Ρ‹Π΅ знания для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

ПониманиС Ρ€Π°Π±ΠΎΡ‚Ρ‹ git позволяСт ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Π»ΡŽΠ±Ρ‹Ρ… ситуациях, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°Ρ‚ΡŒΡΡ красотой этого инструмСнта.

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

Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ Git. РСшСниС основных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

ВосстановлСниС Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Π’ Ρ‚ΠΎΠΌ случаС, Ссли измСнСния, внСсённыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, находятся Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ накоплСния, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… ΠΊ Π²Π΅Ρ‚ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git stash apply. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ git diff β€” эта ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ различия. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Если сущСствуСт Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ накоплСния, Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

git stash list Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, воспользовавшись Π΅Π³ΠΎ индСксом:

НСобходимо ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ отсчёт индСксов вСдётся ΠΎΡ‚ нуля.

ВосстановлСниС ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ‚Π΅Π³Π°

Π’ Ρ‚ΠΎΠΌ случаС, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ случайно ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ‚Π΅Π³, Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ с Π΅Π³ΠΎ поиска:

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‚Π΅Π³ Π½Π°ΠΉΠ΄Π΅Π½, Π΅Π³ΠΎ слСдуСт Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ:

ВосстановлСниС ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

Если Π²Ρ‹ случайно ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ», Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ быстро Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ:

Если трСбуСтся Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², слСдуСт ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ…Π΅Ρˆ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ВосстановлСниС ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ git reflog ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ…Π΅Ρˆ (SHA1) послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ этот Ρ…Π΅Ρˆ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅:

ПослС этого Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ИзмСнСниС сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

ИзмСнСниС сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚Π° послС Π΅Π³ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: подобная насильная ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ· внСшнСй Π²Π΅Ρ‚ΠΊΠΈ, Ссли с Π½Π΅ΠΉ Π΄Π°Π²Π½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ синхронизации, ΡΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ.

ИспользованиС алиасов ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС

Устали ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ git status? Π­Ρ‚ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ простой алиас, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ быстрСС Π²Π±ΠΈΠ²Π°Ρ‚ΡŒ Π² git.

β€” Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ git st

МоТно ΠΏΠΎΠΉΡ‚ΠΈ дальшС ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ алиасы Π±ΠΎΠ»Π΅Π΅ слоТным ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ алиас git logme Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ всС наши ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹.

ΠšΠΎΠΌΠΌΠΈΡ‚ Π² Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ

НуТно ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π·Π°Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ:

А Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅:

. ΠΈ Β«ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡΒ» Π΄ΠΎ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ.

Π§Ρ‚ΠΎΠ±Ρ‹ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git log ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ…Π΅Ρˆ (SHA1) послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ.. НапримСр, это a31a45c.

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ отправлял ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π²ΠΎ врСмя выполнСния Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС эти измСнСния Π±ΡƒΠ΄ΡƒΡ‚ потСряны!

ОбновлСниС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ подмодуля

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

ΠžΡ‚ΠΊΠ°Ρ‚ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ Π² истории

Если вас Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ бСспокоят измСнСния Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Β«ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡΒ» ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ Π² истории с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° установит HEAD Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ…Π΅ΡˆΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

ΠžΡ‚ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π΄ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Если Π²Ρ‹ сдСлали ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ впослСдствии понадобилось ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° git reset.

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ измСнСния Π²Π°ΡˆΠΈΡ… Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ потСряны.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ сообщСниС ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅: :

ΠžΡ‚ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Π° послС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΅Π³ΠΎ Π² master-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

Рассмотрим ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΅Π³ΠΎ Ρ…Π΅ΡˆΠ°:

ΠžΡ‚ΠΌΠ΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ послС послСднСго:

ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΎΡ‚ΠΌΠ΅Π½Π° послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°:

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

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌ способом ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ являСтся восстановлСниС состояния послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

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

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ всСх ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

АргумСнт β€”follow позволяСт вывСсти всС измСнСния Π½Π°Π΄ Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π΄Π°ΠΆΠ΅ Ссли Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ½ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½.

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ числа ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участника

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² сдСлал ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участник ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹?

ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, содСрТащиС ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

Π£Π·Π½Π°Ρ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ… содСрТатся ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Она ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ список ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠ΄Π°Π»ΡΠ»ΠΈΡΡŒ Ρ„Π°ΠΉΠ»Ρ‹.

ΠžΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΏΠΎ Π°Π²Ρ‚ΠΎΡ€Ρƒ

Π§Ρ‚ΠΎΠ±Ρ‹ вывСсти список ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Π°Π²Ρ‚ΠΎΡ€Ρƒ, слСдуСт Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° всСх скрытых состояний

ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ всС скрытыС состояния ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ локальной ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠΌ, Ρƒ вас Π΅ΡΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠ° Β«fix-bug25Β», ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π² Β«hotfix-usersΒ». ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ:

А Π·Π°Ρ‚Π΅ΠΌ β€” ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ: ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ нСльзя, поэтому Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‘ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ, ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ ΡƒΠΆΠ΅ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ этим ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌ, слСдуСт ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ ΠΈΠ· Ρ‡Π»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с этой Π²Π΅Ρ‚ΠΊΠΎΠΉ! УдаляСм Π²Π΅Ρ‚ΠΊΡƒ: git push origin :fix-bug25

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ Π΅Ρ‘ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ: git push origin hotfix-users

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π΅Π³Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³:

ΠŸΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΆΠ΅Π»Π°Π΅Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ локально, осущСствитС ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Она ΡƒΠ΄Π°Π»ΠΈΡ‚ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Π·ΠΎΠ½Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (staging area). Π—Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ измСнСния.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ локально, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Если трСбуСтся ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡƒΡ‚ΡŒ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

Поиск ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ сообщСния Π²ΠΎ всСх ΠΊΠΎΠΌΠΌΠΈΡ‚Π°Ρ…

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ тСкст сообщСния ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ, Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

ΠŸΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ», ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹ΠΉ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ git commit, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ измСнСния.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ всСх Π½Π΅ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Ρ‘ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ старой Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°

БущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ локальной Π²Π΅Ρ‚ΠΊΠΈ для ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ рСдактирования

Если Π²Ρ‹ создали Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ с Π½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ΠΈ Ρ‚ΠΎΠΆΠ΅ смогут Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² эту Π²Π΅Ρ‚ΠΊΡƒ.

Бброс локальной Π²Π΅Ρ‚ΠΊΠΈ Π΄ΠΎ состояния ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ

Π’ Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π΄ΠΎ состояния ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΡƒΡ… простых ΠΊΠΎΠΌΠ°Π½Π΄.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свСТиС обновлСния ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ:

А Π·Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ git, Ρ‡Ρ‚ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ слСдуСт Β«ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΒ» Π΄ΠΎ состояния ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ:

Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ с master-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ послСдниС измСнСния Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ master (ΠΈΠ»ΠΈ с любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Β«ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ Π²Π΅Ρ‚ΠΊΠΎΠΉ foobar:

А Π·Π°Ρ‚Π΅ΠΌ осущСствляСтС Β«ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β»:

ПослС этого Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ origin ΠΈΠ· master. ПослС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² процСсс ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git rebase β€”continue. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ своСй Π²Π΅Ρ‚ΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π΅Ρ‘ слияниС (merge) с Π³Π»Π°Π²Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ.

БлияниС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΎΠΉ

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ прямо Π² процСссС стандартного слияния (merge). Π’Π°ΠΌ стоит ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ слияний ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„Π»Π°Π³ β€”no-ff, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ no fast forward.

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π²Π΅Ρ‚ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ измСнСния, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² Π΅Ρ‘ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ запуститС процСсс:

Π—Π°Ρ‚Π΅ΠΌ появится сообщСниС ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ merge X into Y branch, послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ смСло Π·Π°ΠΏΡƒΡˆΠΈΡ‚ΡŒ вашС слияниС.>

Π‘ΠΎΠ²ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

Если Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² совмСщСнии Π΄Π²ΡƒΡ… послСдних ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

ПослС Π΅Ρ‘ Π²Π²ΠΎΠ΄Π° появятся инструкции ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€Ρƒ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². Π’ Ρ‚ΠΎΠΌ случаС, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΡΡ‚Π°Ρ€Π΅ΠΉΡˆΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ pick, Π° для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±ΡƒΠΊΠ²Ρƒ Π½Π° f. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ здСсь

Π‘ΠΎΠ²ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для добавлСния Π² Π²Π΅Ρ‚ΠΊΡƒ Ρ€Π΅Π»ΠΈΠ·Π°

Если Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π²Π΅Ρ‚ΠΊΠ΅ Ρ€Π΅Π»ΠΈΠ·Π°, поэтому история Π²Π΅Ρ‚ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ останСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ.

НиТС прСдставлСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ эффСкта:

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ останСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π²Π΅Ρ‚ΠΊΠ΅ Ρ€Π΅Π»ΠΈΠ·Π°, Π° история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²Π΅Ρ‚ΠΊΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ останСтся Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚ΠΎΠΉ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ с измСнСниями Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² Π²Π΅Ρ‚ΠΊΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, ΠΈ лишь ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ создали Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π΅ΡΡ‚ΡŒ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΡƒΠΆΠ΅ Π² процСссС:

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° пСрСнСсёт Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² Π½ΠΎΠ²ΡƒΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Β«Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒΒ».

Π£Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎ ошибкС Ρ„Π°ΠΉΠ» ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°, Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ простой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ внСшнСй Π²Π΅Ρ‚ΠΊΠΈ

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ нСотслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π§Ρ‚ΠΎΠ±Ρ‹ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡ…:

Подсказка: Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ лишними, ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… нСпосрСдствСнным ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ, Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅:

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ старых Π²Π΅Ρ‚ΠΎΠΊ, стёртых ΠΈΠ· внСшнСго рСпозитория

Если Π²Π΅Ρ‚ΠΊΠ° ΡƒΠ΄Π°Π»Π΅Π½Π° ΠΈΠ· внСшнСго рСпозитория, Π΅Ρ‘ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ ΠΈΠ· локального рСпозитория с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Она ΡƒΠ΄Π°Π»ΠΈΡ‚ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ, которая ΡƒΠΆΠ΅ Π±Ρ‹Π»Π° стёрта ΠΈΠ· внСшнСго рСпозитория, Π½ΠΎ всё Π΅Ρ‰Ρ‘ доступна локально Π² remotes/Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ-Π²Π΅Ρ‚ΠΊΠΈ.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· git с сохранСниСм Π΅Π³ΠΎ локальной ΠΊΠΎΠΏΠΈΠΈ

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· git, Π½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ локально Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π‘Π΅Π· Π“ΠΈΡ‚Π° ΠΈ Тизнь Π½Π΅ Ρ‚Π°

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ Π² Git Π½Π° курсах HTML Academy. ΠœΡ‹ расскаТСм всё, Ρ‡Ρ‚ΠΎ Π·Π½Π°Π΅ΠΌ сами, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΏΡ€ΠΎΠΊΠ°Ρ‡Π°Π»ΠΈ Π½Π°Π²Ρ‹ΠΊΠΈ Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

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

РаскрытиС Ρ‚Π°ΠΉΠ½ reset

Π’Ρ€ΠΈ Π΄Π΅Ρ€Π΅Π²Π°

Π Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ reset ΠΈ checkout Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅, Ссли ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Git управляСт содСрТимым Ρ‚Ρ€Ρ‘Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π². Π—Π΄Π΅ΡΡŒ ΠΏΠΎΠ΄ Β«Π΄Π΅Ρ€Π΅Π²ΠΎΠΌΒ» ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ Β«Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ²Β», Π° Π½Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ…. (Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях индСкс Π²Π΅Π΄Π΅Ρ‚ сСбя Π½Π΅ совсСм Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π΄Π΅Ρ€Π΅Π²ΠΎ, Π½ΠΎ для Π½Π°ΡˆΠΈΡ… Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ.)

Π’ своих ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… опСрациях Git управляСт трСмя Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ:

Π‘Π½ΠΈΠΌΠΎΠΊ послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ

Π‘Π½ΠΈΠΌΠΎΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ HEAD

HEAD β€” это ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, которая, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚, сдСланный Π² этой Π²Π΅Ρ‚ΠΊΠ΅. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ HEAD Π±ΡƒΠ΄Π΅Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ созданного ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, самоС простоС ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ HEAD снимком вашСго послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

На самом Π΄Π΅Π»Π΅, довольно Π»Π΅Π³ΠΊΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ прСдставляСт ΠΈΠ· сСбя этот снимок. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ получСния содСрТимого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² HEAD:

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ cat-file ΠΈ ls-tree ΡΠ²Π»ΡΡŽΡ‚ΡΡ «слуТСбными» (plumbing) ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ систСмы ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π½Π°ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ происходит Π½Π° самом Π΄Π΅Π»Π΅.

ИндСкс

Git заполняСт индСкс списком ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ содСрТимого всСх Ρ„Π°ΠΉΠ»ΠΎΠ², Π²Ρ‹Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Π² послСдний Ρ€Π°Π· Π² ваш Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ замСняСтС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΡ… Π½ΠΎΠ²Ρ‹ΠΌΠΈ вСрсиями ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° git commit ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ измСнСния Π² Π΄Π΅Ρ€Π΅Π²ΠΎ для Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°.

ВСхничСски, индСкс Π½Π΅ являСтся Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΉ структурой, Π½Π° самом Π΄Π΅Π»Π΅, ΠΎΠ½ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ сТатый список (flattened manifest) β€” Π½ΠΎ для Π½Π°ΡˆΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ Ρ‚Π°ΠΊΠΎΠ³ΠΎ прСдставлСния Π±ΡƒΠ΄Π΅Ρ‚ достаточно.

Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³

ВСхнологичСский процСсс

ОсновноС ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Git β€” это сохранСниС снимков ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‰ΠΈΡ…ΡΡ состояний вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΡƒΡ‚Ρ‘ΠΌ управлСния этими трСмя Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ.

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

На Π΄Π°Π½Π½ΠΎΠΌ этапС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅Ρ€Π΅Π²ΠΎ Π Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³Π° содСрТит Π΄Π°Π½Π½Ρ‹Π΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΉΠ», поэтому ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ git add для копирования содСрТимого Π Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² ИндСкс.

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

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

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

БСйчас ΠΊΠΎΠΌΠ°Π½Π΄Π° git status Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ снова всС Ρ‚Ρ€ΠΈ Π΄Π΅Ρ€Π΅Π²Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅.

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΎΠΊ ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ проходят Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ процСсс. Когда Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ΡΡŒ (checkout) Π½Π° Π²Π΅Ρ‚ΠΊΡƒ, HEAD Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, ваш ИндСкс замСщаСтся снимком ΠΊΠΎΠΌΠΌΠΈΡ‚Π° этой Π²Π΅Ρ‚ΠΊΠΈ, ΠΈ Π·Π°Ρ‚Π΅ΠΌ содСрТимоС ИндСкса копируСтся Π² ваш Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³.

НазначСниС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ reset

Команда reset становится Π±ΠΎΠ»Π΅Π΅ понятной, Ссли Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Ρ‘ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ снова ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» file.txt ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π² Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Ρ€Π°Π·. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ наша история Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выглядит Ρ‚Π°ΠΊ:

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Π¨Π°Π³ 1: ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ указатСля HEAD

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Π¨Π°Π³ 2: ОбновлСниС ИндСкса (—mixed)

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

), Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ остановится Π½Π° этом шагС.

Π¨Π°Π³ 3: ОбновлСниС Π Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³Π° (—hard)

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

РСзюмС

Команда reset Π² Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ порядкС пСрСзаписываСт Ρ‚Ρ€ΠΈ Π΄Π΅Ρ€Π΅Π²Π° Git, ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡŒ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π΅ΠΉ скаТСтС:

Π”Π΅Π»Π°Π΅Ρ‚ Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ИндСкс.

Reset с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΡƒΡ‚ΠΈ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π²Π΅Ρ‚ΠΊΡƒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ HEAD (Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ)

Π”Π΅Π»Π°Π΅Ρ‚ ИндСкс Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ HEAD (остановится здСсь)

Π’ΠΎ Π΅ΡΡ‚ΡŒ, фактичСски, ΠΎΠ½Π° ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ» file.txt ΠΈΠ· HEAD Π² ИндСкс.

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

ИмСнно поэтому Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ git status прСдлагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ индСксации Ρ„Π°ΠΉΠ»Π°. (Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ подробности Π² ΠžΡ‚ΠΌΠ΅Π½Π° индСксации Ρ„Π°ΠΉΠ»Π°.)

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

БлияниС ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‹ΡˆΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ интСрСсноС β€” слияниС ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

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

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Π—Π°Ρ‚Π΅ΠΌ просто снова Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ git commit :

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с checkout

Π‘Π΅Π· указания ΠΏΡƒΡ‚ΠΈ

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ HEAD. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ reset ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π²Π΅Ρ‚ΠΊΡƒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ HEAD, ΠΊΠΎΠΌΠ°Π½Π΄Π° checkout ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ сам HEAD Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π» Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ.

Π˜Ρ‚Π°ΠΊ, Π² ΠΎΠ±ΠΎΠΈΡ… случаях ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ HEAD Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ A, Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ состоит Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ это Π΄Π΅Π»Π°Π΅ΠΌ. Команда reset пСрСмСстит Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Π²Π΅Ρ‚ΠΊΡƒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ HEAD, Π° checkout ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сам HEAD.

git reset hard origin master Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚

Π‘ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΡƒΡ‚ΠΈ

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

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° памятка Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π². Π’ столбцС Β«HEADΒ» указываСтся Β«REFΒ» Ссли эта ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ссылку (Π²Π΅Ρ‚ΠΊΡƒ), Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ HEAD ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΈ Β«HEADΒ» Ссли пСрСмСщаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сам HEAD. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° столбСц Β«Π‘ΠΎΡ…Ρ€Π°Π½Π½ΠΎΡΡ‚ΡŒ РК?Β» β€” Ссли Π² Π½Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Π½ΠΎ NO, Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π½ΡŒΠΊΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

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

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

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