π Git rebase: Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
git rebase ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ rebase Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅:
- ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΈΡΡΠΎΡΠΈΡ Π²ΡΠ³Π»ΡΠ΄Π΅Π»Π° Π±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ.
- ΠΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π½Π° Π΄ΡΡΠ³ΡΡ.
- ΠΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π»ΠΈΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
git checkout branch1
git rebase branch2
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
git: Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ rebase?
Git - ΠΌΠΎΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ . ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Git, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° rebase.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ rebase?
Rebase - ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Git. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²Π΅ΡΠΊΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, rebase ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΈΡΡΠΎΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ rebase?
Rebase ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ Π² Git.
1. ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΡΡΠΎΡΠ°
Rebase ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΈΡΡΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅Π»ΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΈΡ Π² Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ ΡΠ°Π±ΠΎΡΡ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΠΎΠΉ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π² ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ rebase, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠΊΠΈΠΉ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΡ Π² Π΅Π΅ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
git rebase -i HEAD~3
2. Π£ΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
Rebase ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π²Π΅ΡΠΊΠΈ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π»Π° Π½ΠΎΠ²ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, Π²Π°Ρ ΠΊΠΎΠ»Π»Π΅Π³Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ Ρ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠΎΠΉ, ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠ»Π΅ΡΠ°ΡΡΡΡ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ rebase, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΈΡΡΠΎΡΠΈΠΈ Π²Π΅ΡΠΎΠΊ Π±ΡΠ»ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌΠΈ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ.
git rebase feature-branch
3. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ
Rebase ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ rebase, ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ°Π²ΠΈΡΡ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π°Π²Π΅ΡΡ Ρ ΠΈΡΡΠΎΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ ΡΡΡΡΠ°Π½ΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡΡ .
git rebase main-branch
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ rebase?
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ rebase Π² Git Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ. ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Π½Π°ΡΠ°ΡΡ:
1. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π° Π²Π΅ΡΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ:
git checkout branch-name
2. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ rebase ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git rebase target-branch
3. Π Π°Π·ΡΠ΅ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ:
ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ rebase Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, Git ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π²Π°ΠΌ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΈΡ . ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²ΡΡΡΠ½ΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git add file-name
ΠΠΎΡΠ»Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ rebase.
4. ΠΠ°Π²Π΅ΡΡΠΈΡΠ΅ rebase:
git rebase --continue
5. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²:
git log
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ rebase Π² Git ΡΠ»Π΅Π΄ΡΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΡΠΌ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π²Π½Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ rebase ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠ²ΠΎΠ΄Ρ
Git rebase - ΡΡΠΎ Π²Π°ΠΆΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Git. ΠΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²Π΅ΡΠΊΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Π²Π΅ΡΠΊΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ rebase ΡΠ»Π΅Π΄ΡΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΡΠΌ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π²Π½Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΡΠ΅ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.