πŸ”’ Как ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ git checkout f ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ потСрянныС измСнСния?

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ git checkout f, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git reflog, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π΄ΠΎ выполнСния git checkout f. Π—Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git checkout <Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°> для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° этот ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

git reflog
git checkout <Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°>

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ git checkout f

Команда git checkout Π² Git позволяСт ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². Однако, Ссли Π²Ρ‹ случайно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ git checkout с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΡƒΡ‚ΠΈ (f), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ нСсохранСнныС измСнСния. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ git checkout f ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ потСрянныС измСнСния.

Π¨Π°Π³ 1: Π£Π·Π½Π°Ρ‚ΡŒ SHA-Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом для восстановлСния потСрянных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ являСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ SHA-Ρ…ΡΡˆΠ° ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТал эти измСнСния. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ список Π½Π΅Π΄Π°Π²Π½ΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

git reflog

Команда git reflog Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ дСйствий, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΈ восстановлСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТал потСрянныС измСнСния.

Π¨Π°Π³ 2: ВосстановлСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ SHA-Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git checkout для восстановлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. НапримСр, Ссли SHA-Ρ…ΡΡˆ вашСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Ρ€Π°Π²Π΅Π½ abcd123, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git checkout abcd123

ПослС выполнСния этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Git вСрнСтся ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ, ΠΈ Π²Ρ‹ смоТСтС ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ потСрянныС измСнСния Π² своСм Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠ° feature, ΠΈ Π²Ρ‹ случайно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ git checkout feature вмСсто git checkout master. Π’Π°ΡˆΠΈ нСзафиксированныС измСнСния исчСзнут. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡ…, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

git reflog

НайдитС SHA-Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТал ваши измСнСния. ΠŸΡƒΡΡ‚ΡŒ SHA-Ρ…ΡΡˆ Ρ€Π°Π²Π΅Π½ abcd123. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

git checkout abcd123

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ваши измСнСния Π±ΡƒΠ΄ΡƒΡ‚ восстановлСны, ΠΈ Π²Ρ‹ смоТСтС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git checkout ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ опасной, Ссли Π²Ρ‹ случайно потСряСтС измСнСния. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ рСкомСндуСтся всСгда ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ свои измСнСния Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git checkout.

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ git checkout f ΠΌΠΎΠΆΠ½ΠΎ, восстановив потСрянныС измСнСния ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, содСрТащСго эти измСнСния. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git reflog, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ SHA-Ρ…ΡΡˆ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ git checkout с этим SHA-Ρ…ΡΡˆΠ΅ΠΌ для восстановлСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π£Π΄Π°Ρ‡ΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с Git!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

5.1 Git - Reset - ЖСсткий reset --hard: ΠΎΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

3.3 Git - Π’Π΅Ρ‚ΠΊΠΈ - Команда checkout ΠΏΡ€ΠΈ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… измСнСниях

РазбираСмся ΠΊΠ°ΠΊ Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΊΠΎΠΌΠΈΡ‚Ρ‚Π°ΠΌ git: checkout

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ” Как Π² Git Bash ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ? πŸ“‚

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π² Git: простой Π³Π°ΠΉΠ΄ πŸ“

πŸ”’ Как ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ git checkout f ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ потСрянныС измСнСния?

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ git submodule? πŸ“š Π£Ρ€ΠΎΠΊΠΈ ΠΏΠΎ настройкС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ подмодулями

πŸ” Как Π² PyCharm ΡƒΠ·Π½Π°Ρ‚ΡŒ врСмя выполнСния