git rebase onto ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ
ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π Git Π΅ΡΡΡ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ: ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎΡ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ.
ΠΡΠΎΡΡΠ΅ΠΉΡΠ΅Π΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π²Ρ Π²Π΅ΡΠ½ΡΡΠ΅ΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½Π΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ· ΠΡΠ½ΠΎΠ²Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΠ»ΠΈ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Π΄Π²Π΅ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΠΊΠΈ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠΌΡΡ Π½Π° Π²Π΅ΡΠΊΡ experiment ΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΡΠ΅ΠΌ Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π΅ΡΠΊΠΈ master ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: Π±Π΅ΡΡΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ Π΄Π²ΡΡ Π²Π΅ΡΠΎΠΊ (ΡΠ΅ΠΊΡΡΠ΅ΠΉ, ΠΈ ΡΠΎΠΉ, ΠΏΠΎΠ²Π΅ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π΄Π΅Π»ΡΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ», ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π²Π΅ΡΠΊΠΈ, ΠΏΠΎΠ²Π΅ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π΅Π»ΡΡΡ ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° Π²Π΅ΡΠΊΡ master ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΎΠΉ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ C4′ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠΎΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π» C5 Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΡΡΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ. ΠΠ΅Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠΈΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ Π²Π·Π³Π»ΡΠ½Π΅ΡΠ΅ Π½Π° ΠΈΡΡΠΎΡΠΈΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΎΠ½Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ: Π±ΡΠ΄ΡΠΎ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π±ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠ½ΠΈ ΡΠΎΠ²Π΅ΡΡΠ°Π»ΠΈΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ.
Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ ΡΠ½ΠΈΠΌΠΎΠΊ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ»Π°Π΅ΡΡΡ Π²Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ β ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠ½ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΈΡΠ½ΠΈΡ β Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ½ΠΈΠΌΠΎΠΊ, ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΠ²Π΅ΡΡ Π΄ΡΡΠ³ΠΎΠΉ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π±Π΅ΡΠ΅Ρ Π΄Π²Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΈ ΡΠ»ΠΈΠ²Π°Π΅Ρ ΠΈΡ Π²ΠΌΠ΅ΡΡΠ΅.
ΠΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΡ (fast-forward) Π΄Π»Ρ Π²Π΅ΡΠΊΠΈ master (ΡΠΌ ΠΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²Π΅ΡΠΊΠΈ master Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π²Π΅ΡΠΊΠΈ client ):
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ( master ):
ΠΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠΎ Π΄Π°ΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡΠΈ Π²ΡΠ΅Ρ ΡΠ²ΠΎΠΈΡ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°Ρ , Π½Π΅ Π»ΠΈΡΠ΅Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΎΠΉ:
ΠΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°, Π²ΡΡ Π±ΡΠ΄Π΅Ρ Ρ ΠΎΡΠΎΡΠΎ. ΠΡΠ»ΠΈ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅, Π»ΡΠ΄ΠΈ Π²ΠΎΠ·Π½Π΅Π½Π°Π²ΠΈΠ΄ΡΡ Π²Π°Ρ, Π° Π²Π°ΡΠΈ Π΄ΡΡΠ·ΡΡ ΠΈ ΡΠ΅ΠΌΡΡ Π±ΡΠ΄ΡΡ Π²Π°Ρ ΠΏΡΠ΅Π·ΠΈΡΠ°ΡΡ.
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΡΠΎ-ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΠ΅, Π²Ρ ΠΎΡΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡΠ΅ Π½ΠΎΠ²ΡΠ΅, ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ Π½Π° ΡΡΠ°ΡΡΠ΅, Π½ΠΎ ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΠΊΡΠ΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π»ΡΠ΄ΠΈ Π·Π°Π±ΠΈΡΠ°ΡΡ ΠΈΡ ΡΠ΅Π±Π΅ ΠΈ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡ Π½Π° Π½ΠΈΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ, Π° Π·Π°ΡΠ΅ΠΌ Π²Ρ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»ΡΠ²Π°Π΅ΡΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git rebase ΠΈ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΠ΅ ΠΈΡ ΡΠ½ΠΎΠ²Π°, ΡΠΎ Π²Π°ΡΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ Π·Π°Π½ΠΎΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ Π½Π°ΡΠ°Π±ΠΎΡΠΎΠΊ. Π ΠΈΡΠΎΠ³Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π· ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ²ΠΎΡ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΡΠ°Π½ΠΈΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π½Π°ΡΠ°Π±ΠΎΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΠ°Π±ΠΎΡΡ. Π Π²Π°ΡΠ° ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ Π²Π½ΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ»ΠΈΠ» ΠΈΡ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΡ ΡΡΡΠ³ΠΈΠ²Π°Π΅ΡΠ΅ ΠΈΡ ΠΊ ΡΠ΅Π±Π΅, Π²ΠΊΠ»ΡΡΠ°Ρ Π½ΠΎΠ²ΡΡ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ Π²Π΅ΡΠΊΡ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ git log Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡΠ° Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ, Π΄Π°ΡΠΎΠΉ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΡΡ Ρ ΡΠΎΠ»ΠΊΡ. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ²ΠΎΡ ΠΈΡΡΠΎΡΠΈΡ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, Π²Ρ Π²Π΅ΡΠ½ΡΡΠ΅ Π²ΡΠ΅ ΡΡΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, ΡΡΠΎ Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Ρ Π·Π°ΠΏΡΡΠ°Π΅Ρ. ΠΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π΅ Ρ ΠΎΡΠ΅Ρ, ΡΡΠΎΠ±Ρ C4 ΠΈ C6 Π±ΡΠ»ΠΈ Π² ΠΈΡΡΠΎΡΠΈΠΈ, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ.
ΠΠ΅Π½ΡΡ Π±Π°Π·Ρ, ΠΌΠ΅Π½ΡΠΉ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² ΡΠ°ΠΊΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, Ρ Git Π΅ΡΡΡ ΠΎΡΠΎΠ±Π°Ρ ΠΌΠ°Π³ΠΈΡ ΡΡΠΎΠ±Ρ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΡΡ. ΠΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ Π² Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠΎΡΡΠΈΡΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π±Π°Π·ΠΈΡΠΎΠ²Π°Π»Π°ΡΡ Π²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ°, ΡΠΎ Π²Π°ΡΠ° Π·Π°Π΄Π°ΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΡΠ»ΠΎ Π²Π°ΡΠ΅, Π° ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½ΠΎ ΠΈΠΌΠΈ.
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° SHA-1, Git ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΌΠΌΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΠ°ΡΡΠ°, Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π² ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«patch-idΒ».
ΠΡΠ»ΠΈ Π²Ρ ΡΠΊΠ°ΡΠ°Π΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΡΠ΅ΡΠ΅ Π΅Ρ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Git ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ Π²Π°ΠΌΠΈ, ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡ ΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ.
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π° Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ (C2, C3, C4, C6, C7)
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π΅ Π±ΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ (C2, C3, C4)
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΡΡΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ (ΡΠΎΠ»ΡΠΊΠΎ C2 ΠΈ C3, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ C4 β ΡΡΠΎ ΡΠΎΡ ΠΆΠ΅ ΠΏΠ°ΡΡ, ΡΡΠΎ ΠΈ C4′)
ΠΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΊ Π²Π΅ΡΠΊΠ΅ teamone/master
ΠΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅ΡΠ»ΠΈ C4 ΠΈ C4′ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΠ°ΡΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ Π²Π°ΡΠΈΠΌ ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ rebase Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°Ρ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΡ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ C4 (ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ Π½Π΅ ΡΠ΄Π°ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΡΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π½ΡΠΌ ΡΠΆΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ).
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΏΠΎΡΠΎΠ± Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π΄ΠΎ ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ»ΠΈ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ β Ρ Π²Π°Ρ Π²ΡΡ Π±ΡΠ΄Π΅Ρ Ρ ΠΎΡΠΎΡΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΈ Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π»ΡΠ΄Π΅ΠΉ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ , ΡΠΎ Π²Π°ΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·Π²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π° Π²Ρ β Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠ΅Π·ΡΠ΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ vs. Π‘Π»ΠΈΡΠ½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, ΡΡΠΎ ΠΈΠ· Π½ΠΈΡ Π»ΡΡΡΠ΅. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π²Π΅ΡΠ½ΡΠΌΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π°Π΄ ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡ.
ΠΠ΄Π½Π° ΠΈΠ· ΡΠΎΡΠ΅ΠΊ Π·ΡΠ΅Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ β ΡΡΠΎ Π·Π°ΠΏΠΈΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ. ΠΡΠΎ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΡΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅, ΠΈ Π΅Π³ΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΠ΄Π΄Π΅Π»ΡΠ²Π°ΡΡ. Π‘ ΡΡΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΡΡΠ½ΡΡΠ²Π΅Π½Π½ΠΎ; Π²Ρ Π»ΠΆΡΡΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ. ΠΠΎ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΏΡΡΠ°Π½ΠΈΡΠ° Π² ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ? ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ².
ΠΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Π°Ρ ΡΠΎΡΠΊΠ° Π·ΡΠ΅Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² β ΡΡΠΎ ΠΈΡΡΠΎΡΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡ Π½Π΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΡΠΎΡΠΎΠ½Π½ΠΈΠΊΠΈ ΡΡΠΎΠ³ΠΎ Π»Π°Π³Π΅ΡΡ ΡΡΠΈΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² rebase ΠΈ filter-branch ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΈΠ»ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄Π»Ρ Π±ΡΠ΄ΡΡΠΈΡ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΊ Π²ΠΎΠΏΡΠΎΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π»ΡΡΡΠ΅ β ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: Π½Π°Π΄Π΅ΡΡΡ, Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ. Git β ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²Π°ΠΌ Π΄Π΅Π»Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Ρ Π²Π°ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π΅Π½. Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ±Π° ΡΡΠΈ ΠΏΡΠΈΡΠΌΠ°, Π²ΡΠ±ΠΎΡ β ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π»ΡΡΡΠ΅ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ β Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°Ρ.
ΠΡΠΈ ΡΡΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π·ΡΡΡ Π»ΡΡΡΠ΅Π΅ ΠΎΡ ΠΎΠ±ΠΎΠΈΡ ΠΌΠΈΡΠΎΠ²: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π² ΠΈΡΡΠΎΡΠΈΠΈ Π²Π°ΡΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΊΡΠ΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
git rebase
ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Git Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ. Π’Π°ΠΊΠΈΠ΅ ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git merge (ΡΠ»ΠΈΡΠ½ΠΈΠ΅). ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²ΡΠ΅Π³Π΄Π° Π΄Π²ΠΈΠ³Π°ΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π΅Π΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΌ. Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² Π΄Π²ΡΡ ΡΠ΅ΠΆΠΈΠΌΠ°Ρ : ΡΡΡΠ½ΠΎΠΌ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ. ΠΡΠΈ ΡΠ΅ΠΆΠΈΠΌΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π΄Π°Π»Π΅Π΅.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ git rebase?
ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΎΠΊ. Π ΠΎΠ±ΡΠΈΡ ΡΠ΅ΡΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΡΡΠΎ Π·Π°ΠΌΠ΅Π½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅ΡΠΊΠΈ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅, ΡΡΠΎ Π²Π΅ΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Π½ΠΎΠ²ΠΎΠ΅ Π½Π°ΡΠ°Π»ΠΎ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Git ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²Π΅ΡΠΊΠ° Π²ΡΠ΅Π³Π΄Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠΈΡΡΠ°ΡΠΈΡ: Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ feature, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠ΄ Π² Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ main ΡΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ Ρ Π½Π°ΡΠ°Π»Π° Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ°Π·ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π΅ΡΠΊΠΈ main Π² Π²Π΅ΡΠΊΠ΅ feature, Π½Π΅ Π·Π°ΡΠΎΡΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΡΡΠΎΡΠΈΡ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅, ΡΡΠΎ Π²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π²Π΅Π»Π°ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Π²Π΅ΡΠΊΠΈ main. ΠΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±Π΅ΡΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ feature Ρ Π²Π΅ΡΠΊΠΎΠΉ main. ΠΠΎΡΠ΅ΠΌΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΡΠΎΡΡΡΡ ΠΈΡΡΠΎΡΠΈΡ? ΠΠ΅ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎΡΡΡ ΡΡΠ³ΡΠ°Π΅Ρ ΡΠ΅ΡΠ°ΡΡΡΡ ΡΠΎΠ»Ρ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ Π² Git ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ.
Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ git log ΠΈ git bisect Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡΠ°Ρ .
ΠΠ½Π΅Π΄ΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² Π³Π»Π°Π²Π½ΡΡ Π²Π΅ΡΠΊΡ main ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ: ΠΏΡΡΠΌΡΠΌ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ. ΠΠ΅ΡΠ²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ΅Ρ ΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π° Π²ΡΠΎΡΠ°Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠΊΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΠΈΡΡΠΎΡΠΈΡ. ΠΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ ΡΡ Π΅ΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΠΊΡ main ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠΊΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅.
ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ»Π»Π΅Π³.
ΠΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ
Π Π°Π½Π΅Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ ΠΌΡ ΡΠΆΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π½ΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΊΠΈΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°Ρ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠΎΠΌΠ°Π½Π΄Π° rebase Π·Π°ΠΌΠ΅Π½ΠΈΡ ΡΡΠ°ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π° Π½ΠΎΠ²ΡΠ΅, ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ, Π±ΡΠ΄ΡΠΎ ΡΠ°ΡΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΡΠΎΡΡΠΎ ΠΈΡΡΠ΅Π·Π»Π°.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rebase
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° git rebase Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ.
Π’Π΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΡΠΊΡΠΎΠ΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Π³Π΄Π΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΎΠΏΠΈΡΠ°Π½Ρ Π½ΠΈΠΆΠ΅) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π½Π° Π½ΠΎΠ²ΠΎΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ Π±ΡΠ΄ΡΡΠΈΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ. ΠΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄ΡΡ ΡΠΊΠ°Π·Π°Π½Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Git Π½Π°ΡΠ½Π΅Ρ ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π³ΡΡΠΏΠΏΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ°ΠΉΠ»Ρ ΠΈ Π³ΡΡΠΏΠΏΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git rebase ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΡΠΈΠΉ.
ΠΠ±Π·ΠΎΡ
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ Π΄Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π±ΠΎΠ»ΡΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΡΠΎΡΠ΅Π½Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ, Π½Π΅ ΠΎΡΡΡΠ²Π°ΡΡΡ ΠΎΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΈ ΠΎΡΠΈΡΡΠΈΡΡ Π΅Π΅ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ ΠΊΠΎΠ΄Π°. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΊΠ»Π΅ΠΈΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ Π² ΡΠ΅Π»ΠΎΠΌ Π½Π°Π²Π΅ΡΡΠΈ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π² Π²Π΅ΡΠΊΠ΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ Π² Β«ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡΒ» ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π‘ΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π±ΡΠ΄Π΅Ρ ΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΡΠ΅Π½ΠΈΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ, Π²Π·Π³Π»ΡΠ½ΡΠ² Π½Π° ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΡΡΡΡ ΠΈΡΡΠΎΡΠΈΡ Π²Π΅ΡΠΊΠΈ main. Π Π³Π»Π°Π·Π°Ρ ΠΎΠΊΡΡΠΆΠ°ΡΡΠΈΡ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π±Π»Π΅ΡΡΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π½Π΅Π΄ΡΠΈΠ» Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ°Π·Π° ΠΈ Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π’Π°ΠΊ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΅Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ΅ΡΠΊΠ° featureB ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° featureA. ΠΡΠΈ ΡΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, ΡΡΠΎ Π²Π΅ΡΠΊΠ° featureB Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ Π½ΠΈ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π΅ΡΠΊΠ΅ featureA, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° ΠΌΠΎΠ³Π»Π° Π±Ρ ΠΎΡΡ ΠΎΠ΄ΠΈΡΡ ΠΎΡ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ main.
ΠΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π‘Π°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° git rebase Π½Π΅ ΡΠΎΠΏΡΡΠΆΠ΅Π½Π° Ρ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΉ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ. Π ΠΈΡΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ, Π³Π΄Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ. ΠΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅ ΡΡΠΎΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°Π±ΠΎΡΠ° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½Π° ΠΏΡΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠΈ pull.
ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ
Π Π΅Π·ΡΠΌΠ΅
ΠΠΎΡΠΎΠ²Ρ ΠΈΠ·ΡΡΠΈΡΡ Git?
ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΡΡΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΎΠ±ΡΡΠ°ΡΡΠΈΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ.
Git Rebase: ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
Rebase β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Ρ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ. ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ git ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΡΡΡΠ²Π°ΡΡ Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅ΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Π²ΠΈΠ΄ΡΡ ΡΠΌΡΡΠ»Π° ΠΎΡΠ²Π°ΠΈΠ²Π°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΆΠ΅ ΠΈ ΡΠ°ΠΊ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ Π²Π»Π°Π΄Π΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ merge. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Π±Ρ Ρ ΠΎΡΠ΅Π» ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΡΠ΅ΠΎΡΠΈΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ rebase.
Π’Π΅ΠΎΡΠΈΡ
ΠΡΠ°ΠΊ, ΠΎΡΠ²Π΅ΠΆΠΈΠΌ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ rebase. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π²ΠΊΡΠ°ΡΡΠ΅ β Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ Π²Π΅ΡΠΊΠΈ β master ΠΈ feature, ΠΎΠ±Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅, feature Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° ΠΎΡ master Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ A ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΊΠΎΠΌΠΌΠΈΡΡ C, D ΠΈ E. Π Π²Π΅ΡΠΊΡ master ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡ Π½Π΅Π΅ Π²Π΅ΡΠΊΠΈ feature Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ 1 ΠΊΠΎΠΌΠΌΠΈΡ B.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ rebase master Π² Π²Π΅ΡΠΊΠ΅ feature, Π΄Π΅ΡΠ΅Π²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ C’, D’ ΠΈ E’ β Π½Π΅ ΡΠ°Π²Π½Ρ C, D ΠΈ E, ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Ρ Π΅ΡΠΈ, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (Π΄Π΅Π»ΡΡΡ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ Π² ΡΠ΅Π±Π΅ Π½Π΅ΡΡΡ, Π² ΠΈΠ΄Π΅Π°Π»Π΅ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅. ΠΡΠ»ΠΈΡΠΈΠ΅ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΡΡ Π±Π°Π·Ρ (Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β A, Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ β B), ΠΎΡΠ»ΠΈΡΠΈΡ Π² Π΄Π΅Π»ΡΡΠ°Ρ , Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ, ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ, Π²ΠΎΠ·Π½ΠΈΠΊΡΠΈΡ ΠΏΡΠΈ rebase. ΠΠ± ΡΡΠΎΠΌ ΡΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π΄Π°Π»Π΅Π΅.
Π’Π°ΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ²ΡΠΌ, ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠΊΠΈ feature Π² master Π²Π΅ΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π° ΠΏΠΎ fast-forward, ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠ΄ Π² Π²Π΅ΡΠΊΠ΅ feature Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡΡΠ°Π»Π΅Π½, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² Π²Π΅ΡΠΊΠ΅ master Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅ B.
ΠΡΠΎΡΠ΅ΡΡ rebase-Π° Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΠΎΠΉ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅ΡΠ΅Π²ΠΎ 1 ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΎΡΡ Π² Π΄Π΅ΡΠ΅Π²ΠΎ 2?
ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΠΏΠ΅ΡΠ΅Π΄ rebase Π²Ρ Π½Π°Ρ ΠΎΠ΄ΡΠ΅ΡΡ Π² Π²Π΅ΡΠΊΠ΅ feature, ΡΠΎ Π΅ΡΡΡ Π²Π°Ρ HEAD ΡΠΌΠΎΡΡΠΈΡ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ feature, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΌΠΎΡΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ E. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²Π΅ΡΠΊΠΈ master Π²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ:
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° git Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ β ΠΎΠ±ΡΠΈΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΡΠΈΡ Π΄Π²ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ A. ΠΠ°Π»Π΅Π΅ Π΄Π²ΠΈΠ³Π°ΡΡΡ Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ HEAD git Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΠ°Π·Π½ΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π³Π΅ ΠΌΠ΅ΠΆΠ΄Ρ A ΠΈ Π‘, Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π΅ ΞAC. ΠΡΠ° Π΄Π΅Π»ΡΡΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²Π΅ΡΠΊΠΈ master. ΠΡΠ»ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡ C’, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ C’ = B + ΞAC. ΠΠ΅ΡΠΊΠΈ master ΠΈ feature ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΡΠΌΠ΅ΡΠ°ΡΡΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ, HEAD ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (C’), ΠΏΡΠΈΠ²ΠΎΠ΄Ρ Π²Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Β«ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΡΒ» (detached HEAD).
Π£ΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π² ΠΊΠΎΠΌΠΌΠΈΡ C’, git ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β ΞCD. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π½ΠΈΠΉ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ C’ Π²ΠΎΠ·Π½ΠΈΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ. ΠΡΠΎΡΠ΅ΡΡ rebase ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ (ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, Π½Π°Π±ΡΠ°Π² git status Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ detached HEAD). ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΞCD Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΈ (ΠΊΡΠΎΠΌΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΡ ) ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ (ΠΏΡΠ½ΠΊΡΠΈΡΠΎΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π° stage-Π·ΠΎΠ½Π°):
ΠΠ°Π»Π΅Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
1. ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ rebase Π½Π°Π±ΡΠ°Π² Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
ΠΡΠΈ ΡΡΠΎΠΌ ΠΌΠ°ΡΠΊΠ΅Ρ HEAD, Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° Π²Π΅ΡΠΊΡ feature, Π° ΡΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΠ²ΠΈΡΠ½ΡΡ Π² Π²ΠΎΠ·Π΄ΡΡ Π΅ (Π½Π° Π½ΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ) ΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠΊΠΎΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Ρ.
ΠΡΠΈ ΡΡΠΎΠΌ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ, Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠΌΠΌΠΈΡ D’ ΠΈ rebase ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅Ρ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΡΠ°Π³Ρ.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΞDE Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ E’, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠΊΠΈ feature Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ E’, Π° HEAD ΡΡΠ°Π½Π΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π²Π΅ΡΠΊΡ feature β ΡΠ΅ΠΏΠ΅ΡΡ, Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π½Π° Π²ΡΠΎΡΠΎΠΌ ΡΠΈΡΡΠ½ΠΊΠ΅, rebase ΠΎΠΊΠΎΠ½ΡΠ΅Π½. Π‘ΡΠ°ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ C, D ΠΈ E Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ.
ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ rebase-Π°, Π±ΡΠ΄ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ ΠΎΠ± ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΌ Π°Π²ΡΠΎΡΠ΅ ΠΈ Π΄Π°ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Author), ΡΠ°ΠΊ ΠΈ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅, ΡΠ΄Π΅Π»Π°Π²ΡΠ΅ΠΌ rebase (Commiter):
Π‘ Π½Π΅Π±Π΅Ρ Π½Π° Π·Π΅ΠΌΠ»Ρ β rebase Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ±ΡΡΠ½ΠΎ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π΅ Ρ Π΄Π²ΡΠΌΡ Π²Π΅ΡΠΊΠ°ΠΌΠΈ, Π° Ρ ΡΠ΅ΡΡΡΡΠΌΡ Π² ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅: master, origin/master, feature ΠΈ origin/feature. ΠΡΠΈ ΡΡΠΎΠΌ rebase Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΊΠ°ΠΊ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠΊΠΎΠΉ ΠΈ Π΅Π΅ origin-ΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ feature ΠΈ origin/feature, ΡΠ°ΠΊ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ feature ΠΈ master.
Rebase Π²Π΅ΡΠΊΠΈ Ρ origin-ΠΎΠΌ
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ rebase, ΡΠΎ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ Ρ ΡΠ΅Π±Π΅ΠΉΠ·Π° ΡΠ²ΠΎΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²Π΅ΡΠΊΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΅Π΅ ΠΊΠΎΠΏΠΈΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΈ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ merge. ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
Π’ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΈΡΡ Π² 6 (Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π΅ ΡΡΠΈΡΠ°Π΅ΠΌ), ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΎ Π·Π°ΠΏΡΡΠ°Π½Π°, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΎΠΊ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π»ΠΈΡΠ½ΡΡ. ΠΡΠ»ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²Π΅ΡΠΎΠΊ ΠΈ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π³ΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ:
ΠΠ°ΠΊ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π²Π΅ΡΠΊΠΎΠΉ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ rebase, Ρ ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ
Π’ΡΡ Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ, Π½Π°Π±Π΅ΡΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Force-ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²Π΅ΡΠΊΠΈ feature Π½Π° origin ΠΈ Π½Π°ΡΠΈΠ»ΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠΊΠΈ Π½Π° ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΡΠΎ ΠΈ Π²Π°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ.
ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ! ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²Π΅ΡΠΊΠΈ, ΡΠΎ force-push Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Π΄Π»Ρ Π²ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΎΠΊ, ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π». ΠΡΠΈ ΡΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π² Π½Π΅Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ. Π’ΠΎ Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅ ΡΡΠΏΠ΅Π»ΠΈ Π·Π°ΡΡΠ½ΡΡΡ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ Π² origin-Π΅. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ β ΡΠ±ΡΠΎΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π²Π΅ΡΠΊΠΈ. ΠΡΠ° ΡΠΈΡΡΠ°ΡΠΈΡ ΠΏΠΎΠΏΡΠ°Π²ΠΈΠΌΠ° β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π½Π°ΠΉΡΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΡΡΠΈΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π½Π΅Π΅ ΠΈΠ»ΠΈ ΡΠΆΠ΅ ΡΡΠΏΠ΅Π» ΠΈΡ Π·Π°Π±ΡΠ°ΡΡ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ push, Π²Π½ΠΎΠ²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π² ΠΈΡ Π½Π° origin. ΠΠΎ Π²ΡΡ ΡΡΠ° ΠΌΠΎΡΠΎΠΊΠ° Π²Π°ΠΌ Π½ΠΈ ΠΊ ΡΠ΅ΠΌΡ, ΡΠ°ΠΊ ΡΡΠΎ Π»ΡΡΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ.
Π Π΅ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² master
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π² ΡΡΠΈΠ»Π΅ rebase. ΠΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π² Π²Π΅ΡΠΊΡ master ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ git merge feature. ΠΠ΅ΡΠΊΠ°, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½Π°Ρ rebase-ΠΎΠΌ Π²ΠΎΠ»ΡΠ΅ΡΡΡ Π² master ΠΏΠΎ fast-forward, ΡΠΎ Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ Π²ΠΏΠ΅ΡΠ΅Π΄.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, merge-ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΈ Π½Π΅ΡΡΡ Π² ΡΠ΅Π±Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π²Π΅ΡΠΎΠΊ. ΠΡΠΎΡ Π³ΡΠ°Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π±Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎ ΡΠ°ΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅Π°Π»ΡΠ½Π° ΠΏΡΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ» Π²ΡΠ΅ΠΌΠΈ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ Π³ΡΠ°ΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΡΡΡΠ΅Π½Π° Π½Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΡΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ», Ρ ΠΎΡΡ ΠΎΠ½ΠΈ ΠΈ ΡΡΠ΅Π±ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°ΡΡΠ°Ρ.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΎΠ΄Π½ΠΎ Π΄ΠΎΠΏΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠ΅ ΡΡΠΎ Π²Π΅ΡΠ½ΠΎ ΠΏΡΠΈ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ β Π΅ΡΡΡ ΠΎΠ΄Π½Π° Π³Π»Π°Π²Π½Π°Ρ Π²Π΅ΡΠΊΠ° master ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΡ Π½Π΅Π΅. ΠΠΎΠ³Π΄Π° ΠΎΡ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π²Π΅ΡΠΊΠ°, Π΅ΡΡΡ ΡΠ²ΠΎΠΈ Π½ΡΠ°Π½ΡΡ ΠΏΡΠΈ rebase-Π΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΠΈ Π²ΡΠΎΡΠΈΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ. Π Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΡΠΎΠΌ ΡΠ°ΠΌΠΎΠΌ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅.
ΠΠ½ΠΎΠ³Π΄Π° ΡΠΏΠΎΡΡ, ΡΡΠΎ ΠΆΠ΅ Π»ΡΡΡΠ΅ merge ΠΈΠ»ΠΈ rebase Π΄ΠΎΡ ΠΎΠ΄ΡΡ Π΄ΠΎ Ρ ΠΎΠ»ΠΈΠ²Π°ΡΠ°. ΠΡ ΡΠ΅Π±Ρ ΠΌΠΎΠ³Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ΅ Π²ΡΠ±ΠΎΡ Π·Π° Π²Π°ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΡ Π²ΡΠ±ΠΎΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ΄ΠΈΠΊΡΠΎΠ²Π°Π½ ΡΡΠΎΠ²Π½Π΅ΠΌ Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΡΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ. ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π΄Π»Ρ Π²Π°Ρ Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ ΡΡΡΠ΄Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π² ΡΠΎΠΌ ΠΈ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΡΠΈΠ»Π΅. Π― Π½Π΅ Π°Π³ΠΈΡΠΈΡΡΡ Π·Π° ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ rebase-Π°, Π° ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡ ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠ½ΡΡΡ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΡΠ°Π±ΠΎΡΡ rebase ΠΈ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅.
PS. Π₯ΠΎΡΡ ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΡΡ ΡΠ²ΠΎΠΈΡ ΠΊΠΎΠ»Π»Π΅Π³, ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΡΠ΅ Π±Π΅ΡΠ΅Π΄Ρ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ ΠΌΠ½Π΅ Π»ΡΡΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ Π² ΠΎΡΠ½ΠΎΠ²Ρ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ.
ΠΠ±Π·ΠΎΡ Git Rebase
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² git ΠΎΠΏΠ°ΡΠ½Ρ ΠΏΠΎΡΠ΅ΡΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Git Rebase Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ»Π°Π΄Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π‘ΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ Π²ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΡΠ° ΠΈΡΡΠΎΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΡΠ°ΡΡΠΊΠ°Π· ΠΎ ΠΆΠΈΠ·Π½ΠΈ ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ ΠΊΡΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Π»ΡΠ·Ρ ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π½Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·Ρ.
ΠΠ΅ΡΡΠΈ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git rebase. ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π΅Π΅ ΡΠ΅Π»Ρ βΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°ΡΡβ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π² Π΄ΡΡΠ³ΠΎΠ΅. Π’Π°ΠΊΠΆΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π°Π²Π»ΡΡΡΡΡ ΠΎΡ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠΊΠ»Π΅ΠΈΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π΄ΡΡΠ³ΠΈΡ .
Π£ΠΌΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git rebase ΠΏΡΠΈΠ΄Π°Π΅Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ.
ΠΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅
Π Π΅Π±Π΅ΠΉΠ·ΠΈΠ½Π³ ΠΌΠΎΠΆΠ΅Ρ βΡΠ΄Π°Π»ΠΈΡΡβ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π Π΅Π±Π΅ΠΉΠ·ΠΈΠ½Π³ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΡΡΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΠ΄Π½Π°ΠΊΠΎ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°. ΠΡΠΎ Π·Π½Π°Π½ΠΈΠ΅ Π½Π΅ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΡΡΡ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ, Π½ΠΎ Π΅ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΠΊΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ sha-1 Ρ Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π±Π΅ΠΉΠ·Π½ΡΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ.
Π ΡΡΡΡΠΊΡΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
Π Π΅Π±Π΅ΠΉΠ·ΠΈΠ½Π³ ΠΏΠ΅ΡΠ΅ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠΎ Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅. ΠΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ°Ρ Π½ΠΎΠ²ΡΠ΅ Ρ Π΅ΡΠΈ.
Π£ΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°Π½Ρ, ΡΡΠΎ, ΡΡΠ»ΡΡΠ°Π² ΡΠ΅ΡΠΌΠΈΠ½, ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΡΠ°Π·Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎ ΡΠ΅ΠΌ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΡ, ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈ Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ ΠΏΡΠΈΡΠΈΠ½ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π³Π»ΡΠ±ΠΆΠ΅.
ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π²Π΅ΡΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ ΠΎΡΠ²Π΅ΡΠ²ΠΈΡΡ 5 Π²Π΅ΡΠΎΠΊ ΠΎΡ master, ΡΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π±ΡΠ΄ΡΡ ΡΠ²ΠΎΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π²Π΅ΡΠΎΠΊ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (ΠΊΡΠΎΠΌΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ) ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ βΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎβ. ΠΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡ ΠΎΠ΄ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ. Π ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Π΅ΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² ΠΎΠ΄Π½Ρ, ΡΠΎ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ±ΡΡΠ½ΠΎ ΠΈΡ Π΄Π²Π°, Π½ΠΎ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ merge ΡΡΠ΅Ρ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
ΠΠ½ΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΌΠΈΡ Π±ΡΠ²Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π½Π΅ Π² ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΈ Π½Π΅ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ. ΠΠ΅ Π² ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π½Π΅ Π² ΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π° Π½Π΅ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½, Π½ΠΎ ΠΏΠΎΡΠΎΠΌ Π²Π΅ΡΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ±ΠΎΠ³Π°ΡΠΈΠ»Π°ΡΡ Π½ΠΎΠ²ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π΅ΠΆΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
Π§ΡΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°ΡΡ? ΠΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠ»ΠΈΡΡ Π²Π΅ΡΠΊΡ develop Π² Π²Π΅ΡΠΊΡ Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ. ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ, Π½ΠΎ ΠΈΡΡΠΎΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΏΠΎΡΡΠ΅Π½Π°. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΠ΅Π±Π΅ΠΉΠ·ΠΈΠ½Π³
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ develop ΡΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠΎ Π΅ΡΡΡ, ΡΡΠΎ ΡΠΆΠ΅ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ fetch/pull.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git rebase? Π ΠΏΡΠΎΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ:
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΡΡΠΈ Π΄Π΅ΡΠ΅Π²Π° ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΠ΅ΡΠΊΠ° Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΠΎΠ΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΡΡ, Π²Π΅ΡΠΊΠ° Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΡΠ°ΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΡΠΏΠΎΠ»Π½Π΅Π½ ΡΠ΅Π±Π΅ΠΉΠ·ΠΈΠ½Π³, Π²Π΅ΡΠΊΠ° Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°
Π‘ΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΄ΠΎ ΡΠ΅Π±Π΅ΠΉΠ·ΠΈΠ½Π³Π° (8f26890) ΠΈ ΠΏΠΎΡΠ»Π΅ (3b16148). Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΏΠΎ ΡΡΠ°ΡΠΎΠΌΡ Ρ Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²Π΅ΡΠΊΡ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
ΠΠ΅ΡΡΡΠ΄Π½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΎΡΡΠ°Π»ΡΡ Π² ΡΠ΅Π»ΠΎΡΡΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½Π½ΠΎΡΡΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π½Π° Π½Π΅Π³ΠΎ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΠΎ ΠΎΠ½ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π’Π°ΠΊΠΈΠ΅ Π²ΠΈΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ΄Π°Π»ΡΡΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΌΡΡΠΎΡΠ° Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΡΡ).
ΠΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΡΠΈΡΠΊΠ° ΠΏΠΎΡΠ΅ΡΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅Π±Π΅ΠΉΠ·ΠΈΠ½Π³ΠΎΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ
ΠΡΠΎΡΡΠΎΠΉ Rebase
Π€ΠΎΡΠΌΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°ΠΊΠΎΠΉ
ΠΠΎ Π² Merge Π²ΡΠ΅ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ!
ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠ΅Π±Π΅ΠΉΠ·ΠΈΠ½Π³Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΄Π²Π°ΠΆΠ΄Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ Ρ Π²Π΅ΡΠΊΠΈ Π½Π° Π²Π΅ΡΠΊΡ
ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ
Π Π°Π·Π½ΠΈΡΠ° Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ ΡΡΠ΅Π½Π°ΡΠΈΠ΅ΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ βΡΡΠΎ ΠΈ ΠΊΡΠ΄Π°β, Π½Π°Π΄ΠΎ Π·Π°Π΄Π°ΡΡ Π²ΠΎΠΏΡΠΎΡ βΠΊΠ°ΠΊΡΡ Π²Π΅ΡΠΊΡ Π½Π°Π΄ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ?β. ΠΠ°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π² ΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΡ Π½Π°Π΄ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ.
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ Rebase
Π Π΅Π±Π΅ΠΉΠ·ΠΈΠ½Π³ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ²ΠΎΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
Π’Π°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ ΡΠ°Π½ΡΡΠ΅, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Rebase ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡ
ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ»ΡΡΠ°ΡΡΡΡ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΠΌΠ΅ΡΡ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ (git merge), ΠΏΡΠΈ ΠΎΡΠΌΠ΅Π½Π΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² (git revert) ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ (git checkout, git stash). ΠΠΎ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΎΠ±ΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ. ΠΠΎΡΡΠΎΠΌΡ Π² ΡΠ΅Π±Π΅ΠΉΠ·ΠΈΠ½Π³Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ.
ΠΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΡΠ°Π½ΡΡΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΡΡ Π² ΡΡΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. Π ΠΈΡΡΠΎΡΠΈΠΈ Ρ ΡΠ°Π½ΡΡΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· Π²Π΅ΡΠΊΠΈ Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈ ΠΌΠ΅ΡΠΆ-ΠΊΠΎΠΌΠΌΠΈΡ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠΉ ΡΡΡΠΈΡ .
Π ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ°Ρ Π²ΡΠΎΠ΄Π΅ TortoiseGit ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΏΠΎΡΡΠΈ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ»ΠΈΡΠ½ΠΈΡ. Π ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ Rebase
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΡΠΎΡΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅Π±Π΅ΠΉΠ·ΠΈΠ½Π³Π°
FROM, TO, START β Ρ Π΅ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ Π²Π΅ΡΠΎΠΊ/ΡΠ΅Π³ΠΎΠ². ΠΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° FROM..TO Π² START.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½Π°Ρ, Π½Π°Ρ ΠΎΠ΄ΡΡΡ Π²Π½ΡΡΡΠΈ Π²Π΅ΡΠΊΠΈ feature/A/super_code
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π°
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠ· Π²Π΅ΡΠΊΠΈ Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π² develop
(Π² git ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π½Π°ΡΠΊΠ° ΡΠ°ΠΏΠΎΡΠΊΠΈ)
ΠΠΎΠΌΠΌΠΈΡ ΡΠ΄Π΅Π»Π°Π½ Π² Π²Π΅ΡΠΊΠ΅ feature/A, Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» Π±ΡΡΡ Π² Π²Π΅ΡΠΊΠ΅ bug/B.
Π§ΠΈΡΡΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΊΠΎΠ΄Ρ, Π½ΠΎ Ρ ΠΎΡΠΎΡΠ°Ρ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ. ΠΡΠ°Π²ΠΈΠ»ΠΎ Π±ΠΎΠΉΡΠΊΠ°ΡΡΠ° ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ βΠ§ΠΈΡΡΡΠΉ ΠΊΠΎΠ΄β Π ΠΎΠ±Π΅ΡΡΠ° ΠΠ°ΡΡΠΈΠ½Π° Β«ΠΎΡΡΠ°Π²Ρ ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΡΠ½ΠΊΠΈ ΡΠΈΡΠ΅, ΡΠ΅ΠΌ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π΄ΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄Π°Β» ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΈ ΠΊ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Git Rebase ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° Π² IDE Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ.
- ΡΠΎΠ½Π½ΠΈΠΊ ΡΠΎΠ»ΠΊΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ½ΠΎΠ² ΠΊ ΡΠ΅ΠΌΡ ΡΠ½ΠΈΡΡΡ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄
- ΠΊ ΡΠ΅ΠΌΡ ΡΠ½ΠΈΡΡΡ ΠΊΠ°ΠΊ Π²ΡΠΏΠ°Π΄Π°ΡΡ Π·ΡΠ±Ρ Π±Π΅Π· ΠΊΡΠΎΠ²ΠΈ ΠΈ Π±ΠΎΠ»ΠΈ

















