πŸ”€ Как ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мастСр-Π²Π΅Ρ‚ΠΊΡƒ Π½Π° ΠΌΠΎΠ΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅: git совСты ΠΈ инструкция

Для пСрСбазирования вашСй Π²Π΅Ρ‚ΠΊΠΈ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ master Π² Git, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

  1. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² вашСй Π²Π΅Ρ‚ΠΊΠ΅: git checkout ваша_Π²Π΅Ρ‚ΠΊΠ°
  2. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ master: git fetch origin master
  3. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²Π΅Ρ‚ΠΊΡƒ master: git checkout master
  4. ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ Π²Π΅Ρ‚ΠΊΡƒ master с вашСй Π²Π΅Ρ‚ΠΊΠΎΠΉ: git rebase ваша_Π²Π΅Ρ‚ΠΊΠ°

Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


$ git checkout ваша_Π²Π΅Ρ‚ΠΊΠ°
$ git fetch origin master
$ git checkout master
$ git rebase ваша_Π²Π΅Ρ‚ΠΊΠ°

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ваша Π²Π΅Ρ‚ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° послСдниС измСнСния Π² Π²Π΅Ρ‚ΠΊΠ΅ master. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ этим Π²Ρ‹ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΠ»ΠΈ всС измСнСния Π² вашСй Π²Π΅Ρ‚ΠΊΠ΅.

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

Как Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (rebase) Π²Π΅Ρ‚ΠΊΠΈ мастСр Π½Π° свою Π²Π΅Ρ‚ΠΊΡƒ Π² Git

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

Π¨Π°Π³ 1: ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° свою Π²Π΅Ρ‚ΠΊΡƒ

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом являСтся ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²Π°ΡˆΡƒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ обновлСния. НапримСр, Ссли ваша Π²Π΅Ρ‚ΠΊΠ° называСтся "feature-branch", Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git checkout feature-branch

Π¨Π°Π³ 2: ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ обновлСния ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ мастСр

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π½Π° своСй Π²Π΅Ρ‚ΠΊΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для получСния ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ мастСр:

git pull origin master

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ послСдниС измСнСния ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ мастСр ΠΈ автоматичСски ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΈΡ… с вашСй Π²Π΅Ρ‚ΠΊΠΎΠΉ.

Π¨Π°Π³ 3: Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (rebase)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ самоС врСмя Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ master Π½Π° своСй Π²Π΅Ρ‚ΠΊΠ΅. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git rebase master

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° примСняСт всС измСнСния ΠΈΠ· Π²Π΅Ρ‚ΠΊΠΈ мастСр ΠΊ вашСй Π²Π΅Ρ‚ΠΊΠ΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ всС послСдниС обновлСния ΠΈ сохраняСт ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌ порядкС.

Π¨Π°Π³ 4: Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²

Π’ процСссС пСрСбазирования ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ слияния. Если Git ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚, ΠΎΠ½ приостановит процСсс пСрСбазирования ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌΠΈ. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эти ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, рСдактируя ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ»ΠΈ всС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅:

git rebase --continue

Π¨Π°Π³ 5: Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ пСрСбазирования

Когда ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹, ваши измСнСния станут Ρ‡Π°ΡΡ‚ΡŒΡŽ истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²Π΅Ρ‚ΠΊΠΈ мастСр. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ этими измСнСниями с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git push -f origin feature-branch

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ использованиС Ρ„Π»Π°Π³Π° "-f" (ΠΈΠ»ΠΈ "--force") Ρ‚ΡƒΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ мСняСт ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° пСрСбазирования

ΠŸΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ мастСр Π½Π° свою Π²Π΅Ρ‚ΠΊΡƒ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько прСимущСств:

  • Чистая ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ история ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
  • Π›Π΅Π³ΠΊΠΎΡΡ‚ΡŒ чтСния ΠΈ понимания истории.
  • Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ процСсса слияния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²Π΅Ρ‚ΠΊΡƒ мастСр.

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ мастСр Π½Π° свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π² Git. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ измСняСт ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², поэтому Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² своих дСйствиях.

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

Learn Git Rebase in 6 minutes // explained with live animations!

git rebase master to branch example

Git rebase to master example

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

πŸ”„ Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ git Ρ‡Π΅Ρ€Π΅Π· консоль

Π§Π΅Π³ΠΎ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ git rebase?

ΠžΡΠ½ΠΎΠ²Ρ‹ git fetch: ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ измСнСниями

πŸ”€ Как ΠΏΠ΅Ρ€Π΅Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мастСр-Π²Π΅Ρ‚ΠΊΡƒ Π½Π° ΠΌΠΎΠ΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅: git совСты ΠΈ инструкция

πŸ”§ Как Π² VS Code ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ HTML Ρ„Π°ΠΉΠ»: простоС руководство

πŸ”§ Как ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π² VS Code: пошаговая инструкция

Как пСрСводится commit git ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ?