πŸ” Как Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² git: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ инструкции ΠΈ совСты

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² git, Π²Π°ΠΌ потрСбуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ git cherry-pick.

ΠŸΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

git cherry-pick <commit-id>

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ <commit-id> Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ измСнСния.

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

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

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ - это использованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git revert. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отмСняСт измСнСния, внСсСнныС Π² Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ git revert - это бСзопасный способ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ измСнСния, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ мСняСт ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git revert <commit>

Π“Π΄Π΅ <commit> - это Ρ…ΡΡˆ-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ измСнСния. Git создаст Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отмСняСт измСнСния, внСсСнныС Π² Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ - это использованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git cherry-pick. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° позволяСт Π²Π°ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git cherry-pick <commit>

Π“Π΄Π΅ <commit> - это Ρ…ΡΡˆ-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ измСнСния. Git ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅.

Π’Ρ€Π΅Ρ‚ΠΈΠΉ способ - это использованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ git reset. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° позволяСт Π²Π°ΠΌ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°. Π•ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° сброса: --soft, --mixed ΠΈ --hard. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° с использованиСм git reset, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git reset <commit>

Π“Π΄Π΅ <commit> - это Ρ…ΡΡˆ-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°, Π΄ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ --soft ΠΊΠΎΠΌΠ°Π½Π΄Π° git reset сохраняСт измСнСния Π² индСксС, Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ --mixed измСнСния ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ --hard всС измСнСния ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΠΎΠΌΠΈΠΌΠΎ этих способов, git ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтов ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ. НадСюсь, Ρ‡Ρ‚ΠΎ эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² git. Π£Π΄Π°Ρ‡ΠΈ Π² вашСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ!

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

#7 Π£Ρ€ΠΎΠΊΠΈ Git+GitHub - ΠžΡ‚ΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ

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

10.1 Git - ΠžΡ‚ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· revert - ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, revert

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

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ head Π² Git? πŸ€”πŸ’‘

Как пСрСнСсти настройки VS Code Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ПК: простая инструкция πŸ“‚πŸ’»

πŸ” Как Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ измСнСния ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² git: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ инструкции ΠΈ совСты

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ git add ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ?