Git squash: ΠΠ°ΠΊ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Git Ρ ΠΏΠΎΠΌΠΎΡΡΡ git squash | by Π ΡΠ΄ΠΎΠ»ΡΡ ΠΠΎΡΡΡΠ½ | NOP::Nuances of Programming
ΠΠ°ΠΊ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Git Ρ ΠΏΠΎΠΌΠΎΡΡΡ git squash | by Π ΡΠ΄ΠΎΠ»ΡΡ ΠΠΎΡΡΡΠ½ | NOP::Nuances of Programming
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ: ΡΡΠΎ ΠΆΠ΅ ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ°ΠΊΠΎΠ΅ β git squash
.
Git squash
β ΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²Π·ΡΡΡ ΡΠ΅ΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΡΠΏΠ»ΠΎΡΠ½ΠΈΡΡ Π΅Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ: Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ΅ΡΠΈΡ ΠΈΠ· N ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΡΠ΅ΠΌ ΡΠΆΠ°ΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π² ΠΎΠ΄ΠΈΠ½-Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. Π‘ΠΆΠ°ΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π· git squash
Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΌΠ°Π»ΠΎΠ·Π½Π°ΡΠΈΠΌΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π·Π½Π°ΡΠΈΠΌΡΡ
. Π’Π°ΠΊ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»Π΅Π³ΡΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ Git.
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΡ ΠΏΡΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Π²Π΅ΡΠ²Π΅ΠΉ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²Π°ΠΌ Π±ΡΠ΄ΡΡ ΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΠΆΠΈΠΌΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π²Π΅ΡΠ²ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, master
ΠΈΠ»ΠΈ develop
). Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΡΠΎΡΠΈΡ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π±Π΅Π· Π½Π΅Π½ΡΠΆΠ½ΠΎΠΉ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Π»Π°ΡΡ git squash
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΡΡΠΎΡΠΈΡ Git:
ΠΠ΄Π΅ΡΡ Π²ΠΈΠ΄Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°. Π ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ ΠΊ Π½ΠΈΠΌ ΠΏΠΎΡΡΠ½ΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΡΡΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ. ΠΡΠ°ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠΆΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΎΠ΄ΠΈΠ½:
git rebase -i HEAD~3
git rebase -i
β ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π£ Π½Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, Π½ΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌΡΡ Π½Π° git squash
.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ β Π½Π΅ Π²ΠΎΠ»Π½ΡΠΉΡΠ΅ΡΡ. Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΏΡΠΎΡΡΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ git-rebase (Ρ.Π΅. git rebase -i
). HEAD~3
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ Π±Π΅ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΠ°Π»Π΅Π΅ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, rebase -i
ΠΎΡ
Π²Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΡΠΈΠΉ. ΠΠ°Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ squash
. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π²ΡΠ΅ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΌΡ ΠΎΡΠΌΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ squash
ΠΈΠ»ΠΈ s
.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅, ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ, Π±ΡΠ΄ΡΡ ΡΠ»ΠΈΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ β ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΌΠ΅ΡΠ΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ pick
. ΠΡΠΌΠ΅ΡΠΈΠ² ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅.
ΠΠ°Π»Π΅Π΅ rebase -i
ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅:
ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π² ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΠ² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ #
, Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Ρ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π» Git Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ΄Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° βΡΠΊΠ»Π΅ΠΈΠ»ΠΈΡΡβ Π² ΠΎΠ΄ΠΈΠ½. Π’Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ Ρ
ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°. Π§Π΅ΡΠ΅Π· git rebase
Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π’Π°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ.
ΠΠΎΠΌΠ½ΠΈΡΠ΅: ΡΠΆΠ°ΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡΡΠΎΡΠΈΡ Git, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΆΠΈΠΌΠ°ΡΡ Π²Π΅ΡΠ²Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ Π΅Π΅ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ ΡΠΆΠ°ΡΠΈΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ fixup Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠΏΡΠΈΠ΅ΠΉ fixup
. ΠΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ squash
, ΡΠΎΠ»ΡΠΊΠΎ Π±Π΅Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π²Π·ΡΡΠΎ ΠΈΠ· βΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎβ ΠΊΠΎΠΌΠΌΠΈΡΠ° β ΡΠΎΠ³ΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pick
. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ fixup
ΠΈΠ»ΠΈ f
, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡ
ΡΠ°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΡΡΠΎΡΠΈΡ Git Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ρ ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ, Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π±Π΅ΡΠ΅ΡΡΡ ΠΈΠ· βΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎβ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ»ΠΈ ΡΠΆΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π²Π°.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΆΠ°ΡΠΈΡ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠ²Π΅ΠΉ
Git ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΆΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Π²Π΅ΡΠ²Π΅ΠΉ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ. Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π±Π°Π³ΠΈ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎ ΠΈ Π΄Π΅Π»ΠΎ ΡΡΠΎ-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π² Π²Π΅ΡΠ²ΡΡ
. ΠΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΡΠΎΠ²Ρ ΡΠ»ΠΈΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠ²Ρ (master
ΠΈΠ»ΠΈ develop
), Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠΆΠ°ΡΠΈΠ΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git merge --squash target_branch_name
ΠΠ½Π° Π±Π΅ΡΠ΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, ΡΠΆΠΈΠΌΠ°Π΅Ρ ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΡΠΎΠ²Π΅Π»ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π½Π°ΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ Ρ develop Ρ ΠΏΠΎΠΌΠΎΡΡΡ --squash
. Git Π²ΠΎΡΠΏΡΠΈΠΌΠ΅Ρ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ΅ΡΠ΅Π· Github
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈ Github. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡΠΈ ΠΏΡΠ»Π»-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ΅.
Π‘Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠΆΠ°ΡΠΈΠ΅, Π·Π°ΡΠ΅ΠΌ β ΡΠ»ΠΈΡΠ½ΠΈΠ΅. Π’Π°ΠΊ ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΎΠ΄ΠΈΠ½.
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΡΠ΅Π½ΠΈΠ΅! ΠΠ°Π΄Π΅ΡΡΡ, Π²Ρ ΠΏΠΎΡΠ΅ΡΠΏΠ½ΡΠ»ΠΈ ΠΈΠ· ΡΡΠ°ΡΡΠΈ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ π
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅:
Π§ΠΈΡΠ°ΠΉΡΠ΅ Π½Π°Ρ Π² Telegram, VK ΠΈ Π―Π½Π΄Π΅ΠΊΡ.ΠΠ·Π΅Π½
ΠΠ°ΠΊ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Git Ρ ΠΏΠΎΠΌΠΎΡΡΡ gitΒ squash
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ: ΡΡΠΎ ΠΆΠ΅ ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ°ΠΊΠΎΠ΅βββgit squash
.
Git squash
βββΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²Π·ΡΡΡ ΡΠ΅ΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΡΠΏΠ»ΠΎΡΠ½ΠΈΡΡ Π΅Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ: Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ΅ΡΠΈΡ ΠΈΠ· N ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΡΠ΅ΠΌ ΡΠΆΠ°ΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π² ΠΎΠ΄ΠΈΠ½-Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. Π‘ΠΆΠ°ΡΠΈΠ΅ ΡΠ΅ΡΠ΅Π· git squash
Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΌΠ°Π»ΠΎΠ·Π½Π°ΡΠΈΠΌΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π·Π½Π°ΡΠΈΠΌΡΡ
. Π’Π°ΠΊ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»Π΅Π³ΡΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ Git.Β
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΡ ΠΏΡΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Π²Π΅ΡΠ²Π΅ΠΉ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²Π°ΠΌ Π±ΡΠ΄ΡΡ ΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΠΆΠΈΠΌΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π²Π΅ΡΠ²ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, master
ΠΈΠ»ΠΈ develop
). Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΡΠΎΡΠΈΡ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π±Π΅Π· Π½Π΅Π½ΡΠΆΠ½ΠΎΠΉ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Π»Π°ΡΡ gitΒ squash
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΡΡΠΎΡΠΈΡ Git:
ΠΠ΄Π΅ΡΡ Π²ΠΈΠ΄Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°. Π ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ ΠΊ Π½ΠΈΠΌ ΠΏΠΎΡΡΠ½ΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΡΡΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ. ΠΡΠ°ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠΆΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΎΠ΄ΠΈΠ½:
git rebase -i HEAD~3
git rebase -iβ
ββΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π£ Π½Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, Π½ΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌΡΡ Π½Π° git squash
.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌβββΠ½Π΅ Π²ΠΎΠ»Π½ΡΠΉΡΠ΅ΡΡ. Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²βββΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΏΡΠΎΡΡΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ git-rebase (Ρ.Π΅. git rebase -i
). HEAD~3
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ Π±Π΅ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΠ°Π»Π΅Π΅ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, rebase -i
ΠΎΡ
Π²Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΡΠΈΠΉ. ΠΠ°Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ squash
. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π²ΡΠ΅ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΌΡ ΠΎΡΠΌΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ squash
ΠΈΠ»ΠΈ s
.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅, ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ, Π±ΡΠ΄ΡΡ ΡΠ»ΠΈΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌβββΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΌΠ΅ΡΠ΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ pick
. ΠΡΠΌΠ΅ΡΠΈΠ² ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅.
ΠΠ°Π»Π΅Π΅ rebase -i
ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅:
ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π² ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΠ² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ #
, Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Ρ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π» Git Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ΄Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° βΡΠΊΠ»Π΅ΠΈΠ»ΠΈΡΡβ Π² ΠΎΠ΄ΠΈΠ½. Π’Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ Ρ
ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°. Π§Π΅ΡΠ΅Π· git rebase
Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Β
Π’Π°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ.
ΠΠΎΠΌΠ½ΠΈΡΠ΅: ΡΠΆΠ°ΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡΡΠΎΡΠΈΡ Git, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΆΠΈΠΌΠ°ΡΡ Π²Π΅ΡΠ²Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ Π΅Π΅ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ ΡΠΆΠ°ΡΠΈΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ.Β
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ fixup Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡΒ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠΏΡΠΈΠ΅ΠΉ fixup
. ΠΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ squash
, ΡΠΎΠ»ΡΠΊΠΎ Π±Π΅Π· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π²Π·ΡΡΠΎ ΠΈΠ· βΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎβ ΠΊΠΎΠΌΠΌΠΈΡΠ°βββΡΠΎΠ³ΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pick
. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ fixup
ΠΈΠ»ΠΈ f
, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡ
ΡΠ°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΡΡΠΎΡΠΈΡ Git Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ρ ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ, Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π±Π΅ΡΠ΅ΡΡΡ ΠΈΠ· βΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎβ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ»ΠΈ ΡΠΆΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π²Π°.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΆΠ°ΡΠΈΡ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈΒ Π²Π΅ΡΠ²Π΅ΠΉ
Git ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΆΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Π²Π΅ΡΠ²Π΅ΠΉ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ. Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π±Π°Π³ΠΈ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎ ΠΈ Π΄Π΅Π»ΠΎ ΡΡΠΎ-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π² Π²Π΅ΡΠ²ΡΡ
. ΠΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΡΠΎΠ²Ρ ΡΠ»ΠΈΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠ²Ρ (master
ΠΈΠ»ΠΈ develop
), Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠΆΠ°ΡΠΈΠ΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git merge --squash target_branch_name
ΠΠ½Π° Π±Π΅ΡΠ΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, ΡΠΆΠΈΠΌΠ°Π΅Ρ ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΡΠΎΠ²Π΅Π»ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π½Π°ΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ Ρ develop Ρ ΠΏΠΎΠΌΠΎΡΡΡ --squash
. Git Π²ΠΎΡΠΏΡΠΈΠΌΠ΅Ρ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.Β
Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ΅ΡΠ΅Π·Β Github
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈ Github.
# «ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ» ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ Π² Π½Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°
# (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π½Π° Π½Π΅Π³ΠΎ Π²Π΅ΡΠΊΡ)
git commit —amend —no-edit
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ, Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΈΡΡ Ρ -f.
git push -f origin mybranch
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git merge —squash?
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Git, Π²ΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Ρ ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ:
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ/ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΡΠΎΠ·Π΄Π°Ρ Π΄ΡΡΠ³ΠΎΠΉ Git branch
Π― ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² ΡΡΠΎΠΌ Git branch Ρ Π½Π΅ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ Git ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ
Π Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ Git
ΠΡΠ°ΠΊ, ΠΊΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ²ΠΎΡ Π²Π΅ΡΠ²Ρ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ(ΠΊΠΎΠΌΠΌΠΈΡ) Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΌΠΎΠΈΡ ΡΠ΅ΠΊΠΎΠ² (Ρ Π΄Π°ΠΆΠ΅ Ρ ΠΎΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ(ΠΊΠΎΠΌΠΌΠΈΡΠ°) Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ)?
git
git-merge
git-squash
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ
SunnyShah Β Β
15 ΠΌΠ°ΡΡΠ° 2011 Π² 07:47
13 ΠΎΡΠ²Π΅ΡΠΎΠ²
- git merge —squash (Π²Π΅ΡΠ²Ρ) Π΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π²Π΅ΡΠΊΠ° 1-user-model . ΠΡΡΡΠ΄Π° Ρ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» ΠΈ ΡΠΎΠ·Π΄Π°Π» Π²Π΅ΡΠΊΡ 1-user-model-squash . ΠΠ°ΡΠ΅ΠΌ , ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΡΡΠ°ΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ git merge —squash 1-user-model , Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ. ΡΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ —ΡΠΊΠ²ΠΎΡ —Ρ no-ff. Π― ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ master ,…
- Git squash ΠΈ merge
ΠΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ½Π΅, Π² ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ: git merge —squash ΠΈ git merge —no-ff
2095
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Π°ΡΠ° Π²Π΅ΡΠ²Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ bugfix
, ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΅Π΅ Π² master
:
git checkout master
git merge --squash bugfix
git commit
ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· Π²Π΅ΡΠ²ΠΈ bugfix
Π±ΡΠ΄ΡΡ ΡΠΊΠΎΠΌΠΊΠ°Π½Ρ Π² 1 ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Ρ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠ²ΡΡ master
.
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ :
git checkout master
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π° Π²Π°ΡΡ Π²Π΅ΡΠΊΡ master
.
git merge --squash bugfix
ΠΠ΅ΡΠ΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· Π²Π΅ΡΠ²ΠΈ bugfix
ΠΈ Π³ΡΡΠΏΠΏΠΈΡΡΠ΅Ρ ΠΈΡ
Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° 1 Ρ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΡΡ.
(ΡΠΈΠΊΡΠ°ΡΠΈΡ(ΠΊΠΎΠΌΠΌΠΈΡ) ΡΠ»ΠΈΡΠ½ΠΈΡ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ; Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Π²ΡΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ(ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ))
git commit
Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π΅Π΄ΠΈΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ(ΠΊΠΎΠΌΠΌΠΈΡ) ΠΈΠ· ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠΏΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° -m
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ(ΠΊΠΎΠΌΠΌΠΈΡΠ°), ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ Π²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π²Π°ΡΠΈΡ
ΡΠΆΠ°ΡΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ(ΠΊΠΎΠΌΠΌΠΈΡΠ°).
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
abyx Β Β
15 ΠΌΠ°ΡΡΠ° 2011 Π² 08:16
132
Π’ΠΎ, ΡΡΠΎ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠΎΡΡΠ½ΠΈΠ»ΠΎ ΡΡΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ, Π±ΡΠ»ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ , ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΌ, ΡΡΠΎ:
git checkout main
git merge --squash feature
ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠΎΠΌ Π΄Π΅Π»Π°Π½ΠΈΡ:
git checkout feature
git diff main > feature.patch
git checkout main
patch -p1 < feature.patch
git add .
ΠΠΎΠ³Π΄Π° Ρ Ρ
ΠΎΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²Π΅ΡΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎ 105(!!) ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ ΠΈ ΡΠΆΠ°ΡΡ ΠΈΡ
Π²ΡΠ΅ Π² ΠΎΠ΄ΠΈΠ½, Ρ Π½Π΅ Ρ
ΠΎΡΡ git rebase -i origin/master
, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² (ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ git Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ°ΠΌ). ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ git merge --squash
Π΄Π°Π΅Ρ ΠΌΠ½Π΅ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ-ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π»Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΠ΅Π»ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΠΎΠ΅ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΠΎΠ΄Π½ΠΎ ΡΡΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Dan Kohn Β Β
19 Π°Π²Π³ΡΡΡΠ° 2014 Π² 15:59
98
ΠΡ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ»ΠΈΡΡΡΡ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ squash. 1
git commit
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
qwertzguy Β Β
13 ΠΌΠ°ΡΡΠ° 2015 Π² 17:50
19
Π‘Π»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ newFeature
Π² Π²Π΅ΡΠ²Ρ master
Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ(ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ):
git merge --squash newFeature && git commit -m 'Your custom commit message';
ΠΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠΎ
ΡΡΠΎΠ³ΠΎ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅
git merge --squash newFeature && git commit
, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ(ΠΊΠΎΠΌΠΌΠΈΡΠ°), ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π²ΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ(ΠΊΠΎΠΌΠΌΠΈΡΠ°) Π²Π΅ΡΠ²ΠΈ newFeature
, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ.
Π― ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡ ΡΡΠΎ Π·Π΄Π΅ΡΡ: https://youtu.be/FQNAIacelT4
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Vagelis Prokopiou Β Β
17 ΠΌΠ°ΡΡΠ° 2017 Π² 11:10
11
Π― Π·Π½Π°Ρ, ΡΡΠΎ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π½Π΅ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Github, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Github ΡΠ°ΠΊ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΈ ΡΡΠΎ ΡΠΎΡ ΠΎΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΈΡΠΊΠ°Π», Ρ ΠΏΠΎΠ΄Π΅Π»ΡΡΡ ΠΈΠΌ Π·Π΄Π΅ΡΡ.
Github ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΊΠ²ΠΎΡ-ΡΠ»ΠΈΡΠ½ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΡΠ»ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΠΊΠ²ΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½Ρ, ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ «Squash and merge» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π² ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΌΡΡ ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠΎΠ΄ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ «Merge».
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Aaron Β Β
22 ΡΠ΅Π²ΡΠ°Π»Ρ 2019 Π² 23:14
4
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π² feature/task1 Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΡΠΌΠΈ(ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ).
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ²ΠΎΡ Π²Π΅ΡΠ²Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° (project/my_project)
git checkout project/my_project
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ (feature/task1_bugfix)
git checkout -b feature/task1_bugfix
ΠΠ°ΡΠ΄ΠΆ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
--squash
git merge --squash feature/task1
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ
git commit -am "add single comments"
ΠΠΎΠ΄ΡΠΎΠ»ΠΊΠ½ΡΡΡ Π²Π°ΡΡ Π²Π΅ΡΠΊΡ
git push --set-upstream origin feature/task1_bugfix
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Farid Haq Β Β
27 Π΄Π΅ΠΊΠ°Π±ΡΡ 2018 Π² 00:24
1
ΠΠ»Ρ Git
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
ΡΠ΅ΡΠ΅Π· Terminal/Shell:
git checkout origin/feature/<featurename>
git merge --squash origin/feature/<featurename>
ΠΡΠΎ Π½Π΅ ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΅Π³ΠΎ.
ΠΠ°ΡΠ΅ΠΌ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΈ Π·Π°Π²Π΅ΡΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ· ΡΡΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»ΠΈΡΠ΅/ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΡΠΉΡΠ΅ ΡΡΠ°ΡΡΡ (ΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π΄Π΅Π»Π°Π»ΠΈ dev).
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Demian Berisford-Maynard Β Β
05 ΠΎΠΊΡΡΠ±ΡΡ 2017 Π² 14:33
1
Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ: ΡΠΈΠΊΡΠ°ΡΠΈΡ(ΠΊΠΎΠΌΠΌΠΈΡ) Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΌΠ΅ΡΠ°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
git checkout master
git merge --squash bugfix
git add .
git commit -m "Message"
ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
git add .
Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
git add [filename]
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
ResUta Β Β
18 Π΄Π΅ΠΊΠ°Π±ΡΡ 2019 Π² 07:37
0
Π§ΡΠΎΠ±Ρ ΡΠ°Π·Π΄Π°Π²ΠΈΡΡ Π²Π°ΡΡ ΠΌΠ΅ΡΡΠ½ΡΡ Π²Π΅ΡΠ²Ρ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΎΠ»ΠΊΠ°ΡΡ Π΅Π΅:
ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²Π΅ΡΠ²Ρ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ Π½Π΅ΠΉ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π°.
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ sha ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΡΠ°ΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅/ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠ²Ρ (tmp1) ΠΈΠ· ΡΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ(ΠΊΠΎΠΌΠΌΠΈΡΠ°).
git checkout -b tmp1 <sha1-of-commit>
Π‘Π»Π΅ΠΉΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π²Π΅ΡΠ²Ρ Π² Π½ΠΎΠ²ΡΡ, ΡΠ°Π·Π΄Π°Π²ΠΈΠ² Π΅Π΅.
git merge --squash <original branch>
ΠΠ°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ(ΠΊΠΎΠΌΠΌΠΈΡΠ°).
git commit -m <msg>
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π²Π΅ΡΠ²Ρ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π·Π΄Π°Π²ΠΈΡΡ.
git checkout <branch>
Π‘Π±ΡΠΎΡΡΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ(ΠΊΠΎΠΌΠΌΠΈΡ) sha, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ.
git reset --soft <sha1>
ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΡΠΉΡΠ΅ ΡΡΡ Π²Π΅ΡΠ²Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ tmp1.
git rebase tmp1
ΠΠΎΡ ΠΈ Π²ΡΠ΅ — ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΄Π°Π»ΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π΅ΡΠ²Ρ tmp1, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²ΡΠ΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Jool Β Β
30 ΠΌΠ°ΡΡΠ° 2020 Π² 13:07
0
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠΎΠ·Π΄Π°Π», ΡΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ: git-squash . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π΄Π°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π° Π²Π΅ΡΠΊΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΡΠ°Π·Π²Π΅ΡΠ²Π»Π΅Π½Π° ΠΎΡ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, Π½Π°ΠΏΠΈΡΠΈΡΠ΅:
git squash master
git push --force
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
sheerun Β Β
01 ΠΈΡΠ½Ρ 2020 Π² 19:37
0
git checkout YOUR_RELEASE_BRANCH
git pull
git checkout -b A_NEW_BRANCH
git merge --squash YOUR_BRANCH_WITH_MULTIPLE_COMMITS
git commit -am "squashing all commits into one"
git push --set-upstream origin A_NEW_BRANCH
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
izy Β Β
27 Π°Π²Π³ΡΡΡΠ° 2020 Π² 03:23
-1
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΡ
git status
ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
ΠΠ°ΡΠ΅ΠΌ
git checkout master
git merge --squash bugfix
git add (add which files you want or use wildcard command like ".")
ΠΠ°ΡΠ΅ΠΌ
git commit -m "message"
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅
git push -u origin master
ΠΠ΄Π΅ΡΡ origin
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠ»ΡΡΠΎΠΌ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅.
ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
Let’s L.C.E Β Β
19 Π°Π²Π³ΡΡΡΠ° 2020 Π² 10:28
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
Π Π°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Git merge —squash ΠΈ —no-commit
ΠΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ, Ρ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ a git merge —squash ΠΈ a git merge —no-commit . ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π»Ρ git merge , ΠΎΠ±Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡΡΠ°Π²ΡΡ ΠΌΠ΅Π½Ρ Π². ..
ΠΠΎΡΠ΅ΠΌΡ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git merge —squash Ρ —no-ff?
Π― ΠΏΡΡΠ°ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git merge —squash Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ —no-ff, Π½ΠΎ git Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ. Π£ ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π΅ΡΡΡ ΡΠ°Ρ Π°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΌΠ½Π΅? Π― Π½Π΅ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΡΡΡΡΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²ΠΏΠ΅ΡΠ΅Π΄, ΠΈ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ…
ΠΡΠΌΠ΅Π½ΠΈΡΠ΅ git squash merge ΠΈ git merge ΡΠ½ΠΎΠ²Π°
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ 2 ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΠΈ ΠΈ ΠΌΠ°ΡΡΠ΅Ρ. Π‘ΠΊΠ²ΠΎΡ merge Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ Π½Π° Π²Π΅ΡΠΊΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡ ΠΌΠ°ΡΡΠ΅ΡΠ°. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ, ΡΠ°ΠΊ ΠΈ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ . Π’Π΅ΠΏΠ΅ΡΡ Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ…
git merge —squash (Π²Π΅ΡΠ²Ρ) Π΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π²Π΅ΡΠΊΠ° 1-user-model . ΠΡΡΡΠ΄Π° Ρ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» ΠΈ ΡΠΎΠ·Π΄Π°Π» Π²Π΅ΡΠΊΡ 1-user-model-squash . ΠΠ°ΡΠ΅ΠΌ , ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΡΡΠ°ΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ git merge —squash 1-user-model , Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΡ…
Git squash ΠΈ merge
ΠΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ½Π΅, Π² ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ: git merge —squash ΠΈ git merge —no-ff
git `merge —squash` Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ «Merge» Π΄Π»Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ(ΠΊΠΎΠΌΠΌΠΈΡΠ°)
ΠΠ½Π΅ Π±ΡΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ/ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ, ΠΏΠΎΠΊΠ° Ρ Π½Π΅ Π½Π°ΡΠ΅Π» Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Merge Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅. ΠΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ ΡΠ°ΠΊΠΎΠ²: ΠΏΠΎΡΠ΅ΠΌΡ a git merge —squash Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΡΠΎΡ…
Merge a PR (Π½Π΅ Π±Π»ΠΈΠ·ΠΊΠΎ) ΠΎΡ git —squash
ΠΠΎΠ³Π΄Π° Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡ Π² Π²Π΅ΡΠΊΠ΅ ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Ρ Π΅Π΅ Π² ΠΌΠ°ΡΡΠ΅ΡΠ° Ρ: git merge —no-ff $BRANCH git push origin HEAD ΠΠ½ ΡΠ»ΠΈΠ²Π°Π΅Ρ PR Π² Github (ΡΠΈΠΎΠ»Π΅ΡΠΎΠ²ΡΠΉ Π·Π½Π°ΡΠΎΠΊ). ΠΠΎ Π΅ΡΠ»ΠΈ Ρ Π·Π°Ρ ΠΎΡΡ merge Π΅Π³ΠΎ ΡΠ°Π·Π΄Π°Π²ΡΡ: git merge…
ΠΠ°ΠΊΠΎΠ²Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ «git merge —squash»?
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΠ΄ΠΈ Π»ΡΠ±ΡΡ git merge —squash ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅: Π‘ΠΆΠ°ΡΠΈΠ΅ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΄Π°Π΅Ρ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΈΡΡΠΈΡΡ Π³ΡΡΠ·Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ WIP ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ…
ΠΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ `merge —squash` Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ
ΠΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅: $ git merge feature01 $ git merge feature02 ΠΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΡΠΊΠ²ΠΎΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅: $ git merge —squash feature01 # OK $ git merge —squash feature02 Auto-merging src/aaa.js…
ΠΠΎΡΠ΅ΠΌΡ ‘ git merge <branch> —squash` Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ?
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ merge, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ git merge <branch> , git ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ merge ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ HEAD ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΊΠ²ΠΎΡΠ° merge, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ git merge…
Squash ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ git ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ β Diary of madman
ΠΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΠΡΠΈΠ³ΠΈΠ½Π°Π» ΡΡΠ°ΡΡΠΈ
ΠΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: ΠΠ΅ΡΠ΅Π²Π΅Π» Π·Π°ΠΌΠ΅ΡΠΊΡ ΠΏΠΎ git squash ΡΡΠΎΠ±Ρ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ.
Π git Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΆΠΈΠΌΠ°ΡΡ (to squash) Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½. ΠΡΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅Π»ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΊΠΎΠ΄ΠΎΠΌ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ (ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ). ΠΠΈΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½ ΡΠΏΠΎΡΠΎΠ± ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Π°ΡΠ° ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
* df71a27 - (HEAD feature_x) Updated CSS for new elements (4 minutes ago)
* ba9dd9a - Added new elements to page design (15 minutes ago)
* f392171 - Added new feature X (1 day ago)
* d7322aa - (origin/feature_x) Proof of concept for feature X (3 days ago)
ΠΠ΄Π΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π²Π΅ΡΠΊΠ° feature_x
. ΠΡ ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ d7322aa
Ρ Π½Π°ΠΈΠ²Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΠΈ Π₯. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Ρ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΈΠ»ΠΈ CSS ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΆΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΎΠ΄ΠΈΠ½, ΡΡΠΎΠ±Ρ ΠΈΡΡΠΎΡΠΈΡ Π²ΡΠ³Π»ΡΠ΄Π΅Π»Π° ΡΠΈΠΌΠΏΠ°ΡΠΈΡΠ½Π΅Π΅.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°:
ΠΠ½Π° ΠΎΡΠΊΡΠΎΠ΅Ρ Π²Π°Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ:
pick f392171 Added new feature X
pick ba9dd9a Added new elements to page design
pick df71a27 Updated CSS for new elements
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ git, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡ f392171
ΡΠΎΡ Π³Π΄Π΅ ΠΌΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½Π°ΡΡ ΡΠΈΡΡ ΠΈ ΡΠΎΠΆΠΌΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π²Π° Π² Π½Π΅Π³ΠΎ, ΠΈΠ·Π±Π°Π²ΠΈΠ²ΡΠΈΡΡ ΠΎΡ ΠΌΡΡΠΎΡΠ°. ΠΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠ°ΠΉΠ» ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
pick f392171 Added new feature X
squash ba9dd9a Added new elements to page design
squash df71a27 Updated CSS for new elements
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΠΌ ΡΠ°ΠΉΠ» ΠΈ Π²ΡΠΉΠ΄Π΅ΠΌ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. Git ΡΠΎΠΆΠΌΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈ Π½Π° ΡΡΠΎΠΌ Π²ΡΠ΅!
ΠΠ°ΠΆΠ½ΠΎΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ΅ ΡΠΆΠΈΠΌΠ°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΠΆΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈΡΡ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ. ΠΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Ρ Π²Π°ΡΠΈΡ ΠΊΠΎΠ»Π»Π΅Π³.
#Git
#Tutorial
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ Π² Git: ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ
ΠΠΎΠ³Π΄Π° ΡΠ°Π±ΠΎΡΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°, ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π° ΠΈ Π³ΠΎΡΠΎΠ²Π° ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π»ΠΈΠ½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ±ΡΠ°ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Atlassian. ΠΠΎ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΠΈ Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π°ΡΠΈΠ°Π½Ρ.
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ Π² Git
ΠΠΎΠ΄ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Π²Π΅ΡΠΎΠΊ. Git ΠΏΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ ΠΎΠ±ΡΠΈΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π»Ρ Π΄Π²ΡΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Β«ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΠΌΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡΒ». ΠΠΎΠ³Π΄Π° Git Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΠΈΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π‘ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ β ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ Π΄Π²ΡΠΌΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ.
ΠΠΎΠΌΠ°Π½Π΄Π° git merge
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π° ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠΎΠΌΠ°Π½Π΄Ρ git merge
ΠΈ git pull
ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ -s
(ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ). Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ -s
ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠΌΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡΠ»ΠΈ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠ²Π½ΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π°, Git Π²ΡΠ±Π΅ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ
Π²Π΅ΡΠΎΠΊ. ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ.
Π Π΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ
gitΒ mergeΒ -sΒ recursiveΒ branch2Β branch3
ΠΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π΄Π²ΡΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ HEAD. ΠΠ½Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pull ΠΈΠ»ΠΈ merge Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ. Π Π΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ. ΠΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ pull ΠΈΠ»ΠΈ merge Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
gitΒ mergeΒ -sΒ resolveΒ branch2Β branch3
ΠΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΡΠ΅Ρ ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΠ°Π½Π½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΡΠ²Π»ΡΡΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΠΎΠΌ ΡΠ»ΠΈΡΠ½ΠΈΠΈ ΠΈ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π² ΡΠ΅Π»ΠΎΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΠΈ Π±ΡΡΡΡΠΎΠΉ.
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ Β«ΠΡΡΠΌΠΈΠ½ΠΎΠ³Β»
gitΒ mergeΒ -sΒ octopusΒ branch2Β branch3Β branch4Β branchN
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ Β«ΠΡΡΠΌΠΈΠ½ΠΎΠ³Β» ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π΄Π²ΡΡ Π³ΠΎΠ»ΠΎΠ². ΠΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, Β«ΠΎΡΡΠΌΠΈΠ½ΠΎΠ³Β» Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠ»ΠΈ Π² ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ Π²ΡΡΡΠ½ΡΡ, ΡΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΠΏΠΎΠΏΡΡΠΊΡ ΡΠ»ΠΈΡΠ½ΠΈΡ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π³ΠΎΠ»ΠΎΠ² Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΎΠΊ.
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ Β«ΠΠ°ΡΠ°Β»
gitΒ mergeΒ -sΒ oursΒ branch2Β branch3Β branchN
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ Β«ΠΠ°ΡΠ°Β» (Ours) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Π²Π΅ΡΠΎΠΊ. ΠΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD
ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ. ΠΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΠΠ°ΡΠ°Β», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Β«ΡΡΠΆΠΈΡ
Β» Π²Π΅ΡΠΎΠΊ. ΠΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
Π²Π΅ΡΠΎΠΊ.
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ Β«ΠΠΎΠ΄Π΄Π΅ΡΠ΅Π²ΠΎΒ»
gitΒ mergeΒ -sΒ subtreeΒ branchAΒ branchB
ΠΡΠΎ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ. ΠΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ A ΠΈ B, Π΅ΡΠ»ΠΈ B β Π΄ΠΎΡΠ΅ΡΠ½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠ΅Π²ΠΎ A, ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ B, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π·ΠΈΡΡ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ A. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠΈΠΌ Π΄Π»Ρ A ΠΈ B.
Π’ΠΈΠΏΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ ΡΠ»ΠΈΡΠ½ΠΈΡ Π² Git
Π―Π²Π½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅
Π―Π²Π½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ β ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π‘Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ²Π½ΡΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ ΡΠ²Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Π³Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²Π½ΡΠΌ: ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π±ΡΠ»ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΌΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΠ²Π½ΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠΉ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π‘ΠΊΡΡΡΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² rebase ΠΈΠ»ΠΈ fast-forward
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΏΡΠΈ Π½Π΅ΡΠ²Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ. ΠΠ· Π²Π΅ΡΠΊΠΈ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ HEAD ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡ ΡΡΠ΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΈ ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ Π²Π΅ΡΡ Π½Π΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ. ΠΠ΅ΡΠ²Π½ΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΡΠΊΠΎΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡΠΌΠΈ. ΠΠ΅ΡΠ²Π½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ.
Π‘ΠΊΠ»Π΅ΠΈΠ²Π°Π½ΠΈΠ΅ (ΠΎΠ±ΡΡΠ½ΠΎ Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ)
Π‘ΠΊΠ»Π΅ΠΈΠ²Π°Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ Π½Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈ ΡΠΊΠ»Π΅ΠΈΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π±Π΅ΡΡΡΡΡ ΠΈΠ· ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ, ΠΈΠ»ΠΈ ΡΠΊΠ»Π΅ΠΈΠ²Π°ΡΡΡΡ, Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠΉΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊ HEAD
Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ ΡΠΊΠ»Π΅ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ ΡΠ΅Π»ΡΡ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ Β«ΡΠΈΡΡΠΎΠΉΒ» ΠΈΡΡΠΎΡΠΈΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ. Π¦Π΅Π»Π΅Π²Π°Ρ Π²Π΅ΡΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ°ΡΡΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΡΠΈ ΡΠΊΠ»Π΅ΠΈΠ²Π°Π½ΠΈΠΈ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΊΠ»Π΅Π΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ Π²Π΅ΡΠΊΠΈ. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Git
, Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ Π² Git
Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½Π½Π°Ρ Π²ΡΡΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΠΏΠΎΠ΄Π½Π°Π±ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΡΠ°ΡΡ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΎ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠ΅ΠΉ ΡΠ»ΠΈΡΠ½ΠΈΡ Β«ΠΠ°ΡΠ°Β» (Ours). ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ Β«Π½Π°ΡΠ΅ΠΉΒ» (ours) Π²Π΅ΡΡΠΈΠΈ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ Β«ΠΈΡ Β» (theirs) ΡΡΠΎΡΠΎΠ½Ρ Π²Π½Π΅Π΄ΡΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π΅ΡΠ»ΠΈ Π² Π½ΠΈΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ theirs, Π½Π°ΠΏΡΠΎΡΠΈΠ², ΠΎΡΠ΄Π°Π΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΆΠΎΠΌΡ Π΄Π΅ΡΠ΅Π²Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ»ΠΈΡΠ½ΠΈΡ Π½Π° Π½Π΅Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΡ Π»ΠΈΠ½ΠΈΡΡ . ΠΠ³ΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π΅ΡΠΊΠΈ, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°ΡΡ ΠΎΠ΄ΡΡΡΡ.
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠΈΠΌΠΈ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git diff
.
ignore-*Β Β Β Β ignore-space-change
Β Β Β Β ignore-all-space
Β Β Β Β ignore-space-at-eol
Β Β Β Β ignore-cr-at-eol
ΠΠ°Π±ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΡΠΎΠ±Π΅Π»Π°. ΠΡΠ±Π°Ρ Π»ΠΈΠ½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄Π½Π°Π±ΠΎΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π°.
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ check-out ΠΈ check-in Π²ΠΎ Π²ΡΠ΅Ρ
ΡΡΠ΅Ρ
Π΄Π΅ΡΠ΅Π²ΡΡΡ
Git ΠΏΡΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΡΡΠ΅Ρ
ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΡΠ°ΡΡΡΠ°ΠΌΠΈ checkin
/checkout
.
ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ renormalize. ΠΡΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ merge.renormalize
.
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ.
ΠΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΠΈΡΠ½ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ n
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠΎΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡ
ΠΎΠ΄ΡΡΠ²Π° ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ n
ΡΠ°Π²Π½ΠΎ 100%
.
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Β«ΠΠΎΠ΄Π΄Π΅ΡΠ΅Π²ΠΎΒ» (Subtree). Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π΄Π²ΡΠΌΡ Π΄Π΅ΡΠ΅Π²ΡΡΠΌΠΈ ΠΈ Π·Π°Π΄Π°Π΅Ρ ΡΠΏΠΎΡΠΎΠ± ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅, ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΡΠΈ Π΄Π΅ΡΠ΅Π²Π° Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΡΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ Π² Git
Atlassian Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΡΡΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΡΠΈΡΠΈΠ½Π° ΠΏΡΠΎΡΡΠ°Ρ: ΡΠ²Π½ΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ»Π΅Π΄Ρ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ . ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΠΈΡΡΠΊΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ rebase, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅Ρ Π½Π°ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ, Π° Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π΅.
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² GIT
Π‘Π»ΡΡΠ°ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ΅Π΄ΠΊΠΎ, Π½ΠΎ ΠΌΠ΅ΡΠΊΠΎ — ΡΡΠΎ «ΠΠ°Π°Π°Π°, Ρ Π½Π°ΠΊΠΎΡΡΡΠΈΠ» Π² git!!!». Π£ ΠΌΠ΅Π½Ρ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ΄Π΅Π»Π°Π» rebase ΡΠΎ squash’Π΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, Π½Π΅ ΠΈΠΌΠ΅Ρ ΡΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠ΅. Git Π½Π΅ Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡ ΡΠ»ΠΈΠ» ΠΌΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΡΡ Π΅Π³ΠΎ, Π° ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π²Π΅ΡΠΊΡ, ΡΠΎΠ·Π΄Π°Π² Π½ΠΎΠ²ΡΠΉ squash-ΠΊΠΎΠΌΠΌΠΈΡ.
Π ΠΎΠ±ΡΠ΅ΠΌ, Π·Π΄Π΅ΡΡ Ρ Π²ΡΠΏΠΎΠΌΠ½ΠΈΠ» ΠΏΡΠΎ Π»ΠΎΠ³ΠΈ ΠΈ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Git ΡΠΌΠ΅Π΅Ρ ΠΎΡΠΌΠ΅Π½ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ HEAD’Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ reset’ΠΎΠΌ. Π ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΌΠ΅Π½Π° rebase Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ…
Π‘ΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ):
git reflog # Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΆΠΌΠ΅ΠΌ q # ΠΈΠ»ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 10 Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ git reflog -n 10 # ΠΈΠ»ΠΈ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ ΠΊΠΎΡΠΎΡΠ΅ git reflog -10
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΉ Π²ΡΠ²ΠΎΠ΄
$ git reflog -n 6 703952e HEAD@{0}: rebase -i (finish): returning to refs/heads/BPN-3546 703952e HEAD@{1}: rebase -i (squash): BPN-3546 Add content type for Gauge in Drupal 9a23f7e HEAD@{2}: rebase -i (squash): # This is a combination of 2 commits. c1b984f HEAD@{3}: rebase -i (pick): BPN-3546 Add content type for Gauge in Drupal c6be61c HEAD@{4}: rebase -i (start): checkout refs/heads/Gauge cf81cc3 HEAD@{5}: commit (amend): BPN-3546 Add content type for Gauge in Drupal
ΠΠ°Π»ΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠΎΡΠΊΡ ΠΈ ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ΄ Π΄ΠΎ Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΠ΄Π΅ΡΡ Ρ Π²ΠΈΠΆΡ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 5 ΡΠ΅ΠΊΠΏΠΎΠΈΠ½ΡΠΎΠ² ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΠ΅Π±Π΅ΠΉΠ·ΠΎΠΌ. Π― ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ°Ρ ΠΈ Π΄Π²ΠΈΠ³Π°Ρ HEAD Π½Π°Π·Π°Π΄ Π½Π° 6 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠ΄Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΠΎΠ΄Π½ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΎΠ²Π΅ΡΡΡΠ½Π½ΠΎΠ΅ ΡΠ°Π½Π΅Π΅ (Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π² ΠΈΡΡΠΎΡΠΈΠΈ). ΠΠΎΠΆΠ½ΠΎ Π»ΠΈΡΡ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΎΡΠΊΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΎΡΠΌΠ΅Π½ΠΈΠ² Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°.
Π€Π»Π°Π³ --hard
Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ», ΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΊΠ°ΡΠ° ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»ΡΠ½ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π°Π³ --soft
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΊΠ°ΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ°ΠΉΠ» ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΊΠ°ΠΊ Π½Π΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
git reset --hard HEAD@{5} # Π΄Π»Ρ Windows ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΊΠ°Π²ΡΡΠΊΠΈ git reset --hard "HEAD@{5}"
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
ΠΠ°ΠΊ ΡΠΆΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Git
Β«Π‘ΠΊΠ²ΠΎΡΒ» Π² Git ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Git Β«ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±Π°Π·ΡΒ»), Ρ ΠΎΡΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠ²Π΅ΠΉ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git squash
Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠΆΠ°ΡΠΈΠ΅ — ΡΡΠΎ, ΡΠΊΠΎΡΠ΅Π΅, ΠΎΠΏΡΠΈΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄ Git, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ»ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅.
Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ Git
ΠΠ΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π°ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Β«Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΡ ΠΏΠΎ GitΒ» — Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ!
ΠΠΎΠ³Π΄Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΠ°ΠΊ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ, Β«ΡΠ°Π·Π΄Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅Β» Π²Π°ΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½. Π‘Π»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ Π²Π°ΠΌ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΡΡ, ΡΡΠΎ — Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ — Π²ΠΎΠΏΡΠΎΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ: Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΆΠ°ΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ»ΠΈΡΠ½ΠΈΡ Π²Π΅ΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π΄Π°Π²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΡΡ Π²Π΅ΡΠΊΡ, ΡΠ°ΠΊΡΡ ββΠΊΠ°ΠΊ Β«masterΒ» ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ».
ΠΠΎ Π·Π°ΡΠ΅ΠΌ Π²Π°ΠΌ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ? ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°: Π²Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π°Π΄ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΡΠ½ΠΎΠ²Π° ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ΅ΡΠ°Π΅ΡΠ΅ ΡΠ°Π·Π΄Π°Π²ΠΈΡΡ ΠΈΠ»ΠΈ Π½Π΅Ρ:
- (a) , Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΠΈΡΠ΅ ΡΠ°Π·Π΄Π°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ, ΡΠΎ Π²ΡΠ΅ ΡΡΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· Π²Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Π² ΠΎΠ΄Π½Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΠΈΠΊΡΠ°ΡΠΈΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ.
- (b) , Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΠΈΡΠ΅ ΠΠ ΠΠ’ΠΠ ΡΠ°Π·Π΄Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΡ , Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΡΠ΅.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΠΈΠ΄ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ (Π°) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΊΠ²ΠΎΡΠ°: Π²ΠΌΠ΅ΡΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠΌΠΈ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠ΅Π»ΠΎΠΌΠ»ΡΡΡΠΈΠΌΠΈ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ°!
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅Π»ΡΠ·Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ (Π°) ΠΈΠ»ΠΈ (Π±) — ΡΡΠΎ Β«ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉΒ» ΡΠΏΠΎΡΠΎΠ± Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.Π£ ΠΎΠ±ΠΎΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²ΠΎΠΏΡΠΎΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΡΠ»ΠΎΠ²Π½ΠΎΡΡΠ΅ΠΉ.
ΠΠ°ΠΊ ΠΏΠΎΠ΄Π°Π²ΠΈΡΡ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΡΠ°Π·Π΄Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Interactive Rebase ΠΈ Merge ΠΊΠ°ΠΊ ΠΎ Π΄Π²ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π°Ρ ΡΠΊΠ²ΠΎΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ Π±Π°Π·Π°
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΡΠ½ΡΡ, ΡΠ°Π·Π΄Π°Π²ΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Git Β«ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±Π°Π·ΡΒ».Π£Π³Π»ΡΠ±Π»Π΅Π½ΠΈΠ΅ Π² Interactive Rebase Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ (Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° First Aid Kit for Git , Π³Π΄Π΅ Π΅ΡΡΡ ΡΠ΅ΡΠΈΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΡΠΎΠ»ΠΈΠΊΠΎΠ² ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅), Π½ΠΎ ΠΌΡ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ (Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Β«ΡΡΠ½ΠΊΡΠΈΡ / Π»ΠΎΠ³ΠΈΠ½Β») ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΅Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Β«Π³Π»Π°Π²Π½ΡΡΒ» Π²Π΅ΡΠΊΡ. ΠΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΈΡΡΠΈΡΡ ΠΈ ΡΠΆΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΠΎΠ΄ΠΈΠ½ :
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, Π·Π°ΠΏΡΡΡΠΈΠ² ΡΠ΅Π°Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²ΠΊΠΈ:
$ git rebase -i HEAD ~ 3
ΠΡΠΊΡΠΎΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ, ΠΊΠ°ΠΊ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Interactive Rebase ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ Π²Π°ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²; Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ «ΡΠΊΠ²ΠΎΡ». ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»ΠΈΠ½ΠΈΠΉ ΠΊΠ°ΠΊ Β«ΡΠΊΠ²ΠΎΡΒ», ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅:
ΠΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ — ΠΈ ΡΡΠΈ ΡΡΠ°ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π±ΡΠ»ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Π² ΠΎΠ΄ΠΈΠ½.
ΠΠ°ΠΊΠΎΠ½Π΅ΡΠ½ΠΈΠΊ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Π±Π°ΡΠ½Π΅
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ Tower Git, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Interactive Rebase Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ: ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«Squash Revisions. .. «ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ.
Π‘Π»ΠΈΡΠ½ΠΈΠ΅
Π‘ΠΆΠ°ΡΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠ²Π΅ΠΉ:
$ git merge - ΡΡΠ½ΠΊΡΠΈΡ ΡΠΊΠ²ΠΎΡΠ° / Π²Ρ
ΠΎΠ΄
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ imprint.html
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ img / iconBlog.png
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ about.html
Π€ΠΈΠΊΡΠ°ΡΠΈΡ ΡΠΊΠ²ΠΎΡΠ° - HEAD Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎ Ρ
ΠΎΡΠΎΡΠΎ; ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ
ΠΡΡΠ΅ΠΊΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅: Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΠ»ΠΈΡΠ½ΠΈΠΈ, Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° --squash
, Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ , Ρ Π²Π°Ρ ΠΎΡΡΠ°Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΡΠ΄Π΅Ρ ΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ Π²Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π±ΡΠ»Π° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Π²ΡΠ΅Π³ΠΎ Π·Π° ΠΎΠ΄Π½Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
ΠΠ°ΠΏΡΠΎΡΡ Π½Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ — ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠ²ΠΎΡΠ° ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ — ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Pull Request Π·Π°ΠΊΡΡΡ. ΠΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ GitHub, GitLab ΠΈΠ»ΠΈ Bitbucket, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠΏΡΠΈΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Pull Request:
Π£Π·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅
github — ΡΡΠΎ Π·Π½Π°ΡΠΈΡ ΡΠΊΠ²ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² git?
Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ rebase Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
ΠΎΠΏΡΠΈΠΉ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ --interactive
(ΠΈΠ»ΠΈ -i
), ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
— ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ²ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ.ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΈΡ
Π² Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠΉ Π΄Π΅Π½Ρ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠΠ΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ ΡΠ΄Π°Π»ΠΈΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ². Π’ΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΡ ΠΈΡΡΠΎΡΠΈΡ, Π΅ΡΠ»ΠΈ Π΅Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ· Π½ΠΈΡ ΠΎΠ΄Π½Ρ Π±ΠΎΠ»ΡΡΡΡ. ΠΡΡΠΎΡΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 4 ΠΊΠΎΠΌΠΌΠΈΡΠ° Π±ΡΠ»ΠΈ Π±Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ»ΠΈΠ²Π΅Π΅, Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Π²ΠΌΠ΅ΡΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
$ git rebase -i HEAD ~ 4
pick 01d1124 ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ
pick 6340aaa ΠΠ΅ΡΠ΅Π½ΠΎΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»
pick ebfd367 ΠΠΆΠ΅ΠΊΠΈΠ» ΠΎΡΠΎΠ·Π½Π°Π» ΡΠ΅Π±Ρ.
pick 30e0ccb Π’Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΡΠ»ΠΎΠ³Π°Π½ Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.# Rebase 60709da..30e0ccb Π½Π° 60709da
#
# ΠΠΎΠΌΠ°Π½Π΄Ρ:
# p, pick = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
# e, edit = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ Π½Π΅ Π²Π½ΠΎΡΠΈΡΡ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ
# s, squash = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΡΠ»ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ
#
# ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΠΈΡΠ΅ Π·Π΄Π΅ΡΡ ΡΡΡΠΎΡΠΊΡ, Π§Π’Π COMMIT ΠΠ£ΠΠΠ’ Π£Π’ΠΠ Π―ΠΠ«.
# ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΠΈΡΠ΅ Π²ΡΠ΅, ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π°Π½ΠΎ.
#
ΠΡΠ°ΠΊ, Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ΅ΠΉ. ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Ρ ΡΠΊΠ°Π·Π°Π» Git, ΡΡΠΎ Ρ ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ΅ΡΡΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ HEAD Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Ρ HEAD ~ 4. Π’Π΅ΠΏΠ΅ΡΡ Git ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ» ΠΌΠ΅Π½Ρ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π²ΡΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.ΠΠ° ΡΡΠΎΠΌ ΡΠΊΡΠ°Π½Π΅ Π²Π°ΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΡΠΈΠΉ, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΡΠ΅ Π² ΠΎΠ΄Π½Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ. ΠΡΠ°ΠΊ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ΅ΡΡΡΠ΅Ρ ΡΡΡΠΎΠΊ ΡΠ°ΠΉΠ»Π° Π½Π° ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ:
pick 01d1124 ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ
squash 6340aaa ΠΠ΅ΡΠ΅Π½ΠΎΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»
squash ebfd367 ΠΠΆΠ΅ΠΊΠΈΠ» ΠΎΡΠΎΠ·Π½Π°Π» ΡΠ΅Π±Ρ.
squash 30e0ccb Π’Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΡΠ»ΠΎΠ³Π°Π½ Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Git ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΡΠ΅ ΡΠ΅ΡΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΡΠΏΠΈΡΠΊΠ΅.ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΎ, ΠΏΠΎΡΠ²ΠΈΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ:
# ΠΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ 4 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
# Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ
# ΠΡΠΎ Π²ΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
ΠΠ΅ΡΠ΅Π½ΠΎΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»
# ΠΡΠΎ ΡΡΠ΅ΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
ΠΠΆΠ΅ΠΊΠΈΠ» ΠΎΡΠΎΠ·Π½Π°Π» ΡΠ΅Π±Ρ.
# ΠΡΠΎ 4-Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
Π’Π°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ ΡΠ»ΠΎΠ³Π°Π½ Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
# ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π²Π°ΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠΈΠ½ΠΈΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ
# Ρ '#' Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΎ, Π° ΠΏΡΡΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΠ²Π΅Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ.# Π―Π²Π½ΡΠ΅ ΠΏΡΡΠΈ ΡΠΊΠ°Π·Π°Π½Ρ Π±Π΅Π· -i ΠΈΠ»ΠΈ -o; ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ - ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΠΈ ...
# Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅Ρ Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅.
# ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ:
# (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "git reset HEAD <ΡΠ°ΠΉΠ»> ...", ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ΅Π½Ρ)
#
# Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»: LICENSE
# ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ: README.textile
# ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ: Rakefile
# ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ: bin / jekyll
#
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Git ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅.ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ, Π·Π°ΡΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΈ Π·Π°ΠΊΡΠΎΠΉΡΠ΅. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ΠΎ, Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π±ΡΠ΄ΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΡΠΌΠ΅Π½Π΅Π½Ρ!
Π‘ΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠΌΠΌΠΈΡ 0fc4eea: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΡΠΎΠ·Π½Π°Π½ΠΈΡ jekyll.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ 4 ΡΠ°ΠΉΠ»Π°, 27 Π²ΡΡΠ°Π²ΠΎΠΊ (+), 30 ΡΠ΄Π°Π»Π΅Π½ΠΈΠΉ (-)
ΡΠ΅ΠΆΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ 100644 ΠΠΠ¦ΠΠΠΠΠ―
Π£ΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ refs / Heads / master.
Π Π΅ΡΠ»ΠΈ Π΅ΡΠ΅ ΡΠ°Π· Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΠΈΡΡΠΎΡΠΈΡβ¦
ΠΡΠ°ΠΊ, Π΄ΠΎ ΡΠΈΡ
ΠΏΠΎΡ ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡ
ΠΎΠ±ΡΡΠ½ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ, ΠΈ Git ΠΏΡΠΎΠ²Π΅Π΄Π΅Ρ Π²Π°Ρ ΡΠ΅ΡΠ΅Π· Π²ΡΠ΅, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.ΠΡΠ½ΠΎΠ²Ρ ΡΡΠΎΠ³ΠΎ — ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΡ, git Π΄ΠΎΠ±Π°Π²ΠΈΡΡ
ΡΠ°ΠΉΠ», Π° Π·Π°ΡΠ΅ΠΌ git rebase --continue
Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ git rebase --abort
Π²Π΅ΡΠ½Π΅Ρ Π²Π°Ρ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Ρ
ΠΎΡΠΈΡΠ΅. ΠΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π²Ρ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΆΡΡΠ½Π°Π» ΡΡΡΠ»ΠΎΠΊ, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ Π΅Π³ΠΎ.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΏΠΎ ΡΠΆΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ Git Rebase | Π‘ΡΠΌ ΠΠΈΠ½Π΄ΡΡΡΠΎΠΌ
Git — ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΌΠ΅Π½ΡΡΡΠ΅ΠΉΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·ΠΎΠΉ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Β«ΡΠΈΠΊΡΠΈΡΡΡΡΒ» ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΊΠΎΠΉ. Π§Π°ΡΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡΡ Git Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π΅Π³ΠΎ Π±ΡΡΡΡΠΎΠΉ ΠΈ Π»Π΅Π³ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΡΠ΄Π΅Π»ΡΡΡ Π½ΠΎΠ²ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ±ΡΡΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ Π²Π΅ΡΠ²ΡΠΌ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠ²Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΊΡΡΠΏΡΠ»Π΅Π·Π½ΡΠΌΠΈ Ρ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΡΡΠ΅ΠΌΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΡΠ°ΡΠΊΠΈΠΌΠΈ ΠΈ ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΌΠΈ.
Π ΡΡΠΎΠΌ ΠΊΠ»ΡΡΠ΅ Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΆΠ°ΡΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠΆΠ°ΡΠΈΠ΅ ΡΡΠΈΡ Π΄Π»ΠΈΠ½Π½ΡΡ ΡΠ΅ΠΏΠΎΡΠ΅ΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈ Π½Π° Π»ΠΈΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΠΌΠ΅Π½Ρ, Π²Ρ ΠΎΡΠΈΠ±Π°Π΅ΡΠ΅ΡΡ ΠΈ ΡΠ°ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΠΎΠ±ΠΎΡΠ½ΡΠΌ ΡΡΡΠ΅ΠΊΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΠΈΠ»ΠΈΠ΅ Π»ΠΈΡΠ½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π΄Π΅Π»Π°ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΠΏΡΡΠ°Π½ΠΈΡΡ Π² ΠΆΡΡΠ½Π°Π»Π΅ git. Π‘ΠΆΠ°ΡΠΈΠ΅ ΡΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΆΡΡΠ½Π°Π» Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ ΠΊΠ°ΠΊ Π΄Π»Ρ Π½Π°Ρ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ .
Π§ΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΡΠΎ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ 10 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π²Π΅ΡΠΊΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°Β».
* 44d2565 (HEAD -> home_page, master) Π‘ΠΎΠ·Π΄Π°ΡΡ Π³ΡΠ°Π½ΠΈΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ
* 1bd999c Π‘ΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ WIP. ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»Π΅
* a135e04 Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²Π²ΠΎΠ΄ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
* 76e5811 ΠΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ
* 97178bd ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ WIP
* c289adc Π‘ΠΎΠ·Π΄Π°ΡΡ div Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
* 14a64ff ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²Π΅Ρ ΡΠΎΠ½Π° Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΈ ΡΠ΅Π»Π°
* 83c9bbb ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ items to nav
* 60042c8 ΠΠΎΠ±Π°Π²ΠΈΡΡ nav ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
* c0fa78d ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ WIP (Work in Progress) Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠΌΠΈΡΡ ΠΊ ΡΠ°ΡΡΠΈ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π·Π°Ρ ΠΎΡΠΈΠΌ ΡΠΆΠ°ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π°Ρ ΠΆΡΡΠ½Π°Π» git Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΊΠΈΠΌ.
ΠΠ»Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ Π½ΠΈΠΆΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΠΈ Π²Π²Π΅ΡΡΠΈ Π½Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ:
git rebase -i HEAD ~
ΠΈΠ»ΠΈ
git rebase -i
Π€Π»Π°Π³ Β«-iΒ» Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²ΠΊΠ° Ρ Β«
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΠΈΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π²Π΅ΡΡΠΈ:
git rebase -i HEAD ~ 9
ΠΈΠ»ΠΈ
git rebase -i 60042c8
ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡΠΊΡΠΎΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½ΠΈΠΆΠ΅ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
p, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ commit
r, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π·ΠΈΡΠΎΠ²Π°ΡΡ = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
e, ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
s, ΡΠΊΠ²ΠΎΡ = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ
f, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ = ΠΊΠ°ΠΊ Β«ΡΠΊΠ²ΠΎΡΒ», Π½ΠΎ ΠΎΡΠ±ΡΠΎΡΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° ΡΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
x, exec = Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΎΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ
d, drop = ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
0 Π²ΡΠ±ΡΠ°ΡΡ 60042c8 ΠΠΎΠ±Π°Π²ΠΈΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
1 Π²ΡΠ±ΠΎΡ 83c9bbb ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° Π² Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ
2 Π²ΡΠ±ΡΠ°ΡΡ 14a64ff ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²Π΅Ρ ΡΠΎΠ½Π° Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΈ ΡΠ΅Π»Π°
3 Π²ΡΠ±ΡΠ°ΡΡ c289adc Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ div Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
4 Π²ΡΠ±ΡΠ°ΡΡ 97178bd ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ WIP
5 Π²ΡΠ±ΡΠ°ΡΡ 76e5811 ΠΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ
6 Π²ΡΠ±ΡΠ°ΡΡ a135e04 Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠΈΡΠΊ i nΠ²Π²ΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠΏΠ»Π΅Ρ
7 pick 1bd999c Π‘ΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ WIP.ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»Π΅
8 pick 44d2565 Π‘ΠΎΠ·Π΄Π°ΡΡ Π³ΡΠ°Π½ΠΈΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ
9
10 # ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡ c0fa78d..44d2565 Π½Π° c0fa78d (9 ΠΊΠΎΠΌΠ°Π½Π΄)
11 #
12 # ΠΠΎΠΌΠ°Π½Π΄Ρ:
13 # p, pick = use commit
14 # r, reword = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
15 # e, edit = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
16 # s, squash = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ
17 # f, fixup = like "squash" , Π½ΠΎ ΠΎΡΠ±ΡΠΎΡΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° ΡΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
18 # x, exec = run command (ΠΎΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ
19 # d, drop = remove commit
20 #
21 # ΠΡΠΈ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΡΡ; ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·.
22 #
23 # ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΠΈΡΠ΅ Π·Π΄Π΅ΡΡ ΡΡΡΠΎΡΠΊΡ, ΠΠΠΠΠ’ΠΠ’ ΠΠ£ΠΠΠ’ Π£Π’ΠΠ Π―Π.
24 #
25 # ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΠΈΡΠ΅ Π²ΡΠ΅, ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π°Π½ΠΎ.
26 #
27 # ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΡΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ.
ΠΡ Ρ
ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΡΠΆΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ squash
Π²ΠΌΠ΅ΡΡΠΎ fixup
. ΠΡΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ Π½Π°ΡΠΈ Π²ΡΠΎΡΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΆΠ°ΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΠΊΡΠ°ΡΡΠ΅: Π§ΡΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ Ρ
ΠΎΡΠ΅Π»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅? ΠΠΌΠ΅ΡΡΠΎ pick
ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ drop
, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡΠΎΠΊΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ ΡΠ²Π½ΠΎΡΡΡ drop
.
ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²Π΅ΡΠΊΠΈ Π½Π°Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΆΡΡΠ½Π°Π» git Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
* ca22552 (HEAD -> home_page) ΠΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π° Π²Π΅Π±-ΡΠ°ΠΉΡ
* c0fa78d ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ
Π‘ΠΊΠ²ΠΎΡ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΡΡ Π² ΠΎΠ΄Π½Ρ Ρ Git
— ΠΠ°ΠΏΠΈΡΠ°Π½ΠΎ Triangles 17 Π½ΠΎΡΠ±ΡΡ 2017 Π³.
β’ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ 21 Π΄Π΅ΠΊΠ°Π±ΡΡ 2020 Π³.
β’ ID 60 —
Π₯ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΈΠΌΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ.
Π Git Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ . ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΌ Ρ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ; ΠΠ±ΡΡΠ½ΠΎ Ρ ΡΠ±ΠΈΡΠ°Ρ ΡΠ²ΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°ΡΡ Π΅Π³ΠΎ Π²Π²Π΅ΡΡ ΠΏΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π¨Π°Π³ 1: Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ Π²ΡΠ·Π²Π°ΡΡ git Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅Π°Π½ΡΠ° ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
git rebase - ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΠΠΠΠΠΠ ~ N
ΠΠ»ΠΈ, ΠΊΠΎΡΠΎΡΠ΅:
git rebase -i HEAD ~ N
, Π³Π΄Π΅ N — ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ, , Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ .ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π²Π·ΡΡΡΡ
ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log
, Π° Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ ΠΎΠ±ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Z:
.
871adf Π₯ΠΎΡΠΎΡΠΎ, ΡΡΠ½ΠΊΡΠΈΡ Z ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° --- Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ
0c3317 ΠΠΉ, Π΅ΡΠ΅ Π½Π΅Ρ ...
87871a Π― Π³ΠΎΡΠΎΠ²!
643d0e ΠΡΠΈΡΡΠΊΠ° ΠΊΠΎΠ΄Π°
afb581 ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎ ΠΈ ΡΠΎ
4e9baa ΠΠ»Π°ΡΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
d94e78 ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ Π²Π΅ΡΡΡΠ°ΠΊ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Z
6394dc Feature Y --- Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ
Π Π²ΠΎΡ ΡΡΠΎ Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΡΠ΄Π΅Π»Π°ΡΡ:
871adf Π₯ΠΎΡΠΎΡΠΎ, ΡΡΠ½ΠΊΡΠΈΡ Z ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° --- Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ --β
0c3317 ΠΠΉ, Π΅ΡΠ΅ Π½Π΅Ρ... |
87871a Π― Π³ΠΎΡΠΎΠ²! |
643d0e ΠΡΠΈΡΡΠΊΠ° ΠΊΠΎΠ΄Π° | - ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΈΡ
Π² ΠΎΠ΄ΠΈΠ½
afb581 ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΡΠΎ ΠΈ ΡΡΠΎ |
4e9baa ΠΠ»Π°ΡΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ |
d94e78 ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ Π²Π΅ΡΡΡΠ°ΠΊ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Z ------------------- β
6394dc Feature Y --- Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅:
84d1f8 Feature Z --- Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ (ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ rebase)
6394dc Feature Y --- Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ Ρ Π½ΠΎΠ²ΡΠΌ Ρ
Π΅ΡΠ΅ΠΌ ( 84d1f8
Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅).ΠΡΠ°ΠΊ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ:
git rebase --interactive HEAD ~ [7]
, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Ρ
ΠΎΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½, Π° d94e78 ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ Π²Π΅ΡΡΡΠ°ΠΊ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Z
— ΡΠ΅Π΄ΡΠΌΠΎΠΉ.
Π£ ΠΌΠ΅Π½Ρ ΠΊΡΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ²ΠΎΡΠΈΡΡ, ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ?
ΠΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rebase --interactive HEAD ~ [N]
ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ³Π°Π΄ΡΠ²Π°ΡΡ ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΡΠΈΡΠ°Ρ ΠΈΡ
ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ.Π ΡΡΠ°ΡΡΡΡ, Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±:
git rebase --interactive [Ρ
Π΅Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ]
ΠΠ΄Π΅ [commit-hash]
— ΡΡΠΎ Ρ
ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ²ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ· . ΠΡΠ°ΠΊ, Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ:
git rebase - ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ 6394dc
ΠΠ΄Π΅ 6394dc
— Feature Y
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΠΎ ΠΊΠ°ΠΊ:
Π‘Π»ΠΈΡΡ Π²ΡΠ΅ ΠΌΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΠ²Π΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°
[commit-hash]
.
ΠΠ°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ?
Π¨Π°Π³ 2: ΡΠ±ΠΎΡ ΠΈ ΡΠ°Π·Π΄Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅
Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ±ΠΈΡΡ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ , ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ , Π³Π΄Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π²Π΅ΡΡ
Ρ. Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» --- Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΈ --- Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ
, ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, Π²Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΡΠΈΡ
Π·Π°ΠΌΠ΅ΡΠΎΠΊ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅.
pick d94e78 ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Z --- Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
Π²ΡΠ±ΡΠ°ΡΡ 4e9baa ΠΠ»Π°ΡΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ afb581 ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΡΡΠΎ ΠΈ ΡΡΠΎ
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ 643d0e ΠΡΠΈΡΡΠΊΠ° ΠΊΠΎΠ΄Π°
Π·Π°Π±ΡΠ°ΡΡ 87871a Π― Π³ΠΎΡΠΎΠ²!
pick 0c3317 ΠΠΉ, ΠΏΠΎΠΊΠ° Π½Π΅Ρ...
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ 871adf ΠΠ, ΡΡΠ½ΠΊΡΠΈΡ Z ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° --- Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ
[...]
ΠΠΎΠ΄ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π΅ΡΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ (ΠΎΠΏΡΡΠ΅Π½ Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠΏΠΈΡΠ°Π½Ρ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Ρ ΠΈΡΡΠΎΡΡΠ΅ΠΉ, Π½ΠΎ ΠΏΠΎΠΊΠ° Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Ρ . ΠΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° Π·Π΄Π΅ΡΡ — ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΊΠ°ΠΊ ΡΠΆΠΈΠΌΠ°Π΅ΠΌΡΠ΅ , , ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ / Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠΎΠ³ΠΎ : ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠΏΡΠ°Π²Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ.
ΠΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΡΡ ΡΠΆΠ°ΡΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΡΡΠ΄ΠΎΠΌ Ρ Π½Π΅ΠΉ ΡΠ»ΠΎΠ²ΠΎ pick
Π½Π° squash
(ΠΈΠ»ΠΈ s
Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
).Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ:
pick d94e78 ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Z --- Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
s 4e9baa ΠΠ»Π°ΡΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
s afb581 ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎ ΠΈ ΡΠΎ
s 643d0e ΠΡΠΈΡΡΠΊΠ° ΠΊΠΎΠ΄Π°
s 87871a Π― Π³ΠΎΡΠΎΠ²!
s 0c3317 ΠΠΉ, Π΅ΡΠ΅ Π½Π΅Ρ ...
s 871adf ΠΠ, ΡΡΠ½ΠΊΡΠΈΡ Z ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° --- Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ
[...]
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΈ Π·Π°ΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ.
Π¨Π°Π³ 3. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΠΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΊΠ°Π·Π°Π»ΠΈ Git ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΡΠ΅ ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΡΠΏΠΈΡΠΊΠ΅.ΠΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ Π΄Π°ΡΡ Π΅ΠΌΡ ΠΈΠΌΡ: Π²Π°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠ½ΠΎΠ²Π° Π²ΡΠΏΠ»ΡΠ²Π°Π΅Ρ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎΡΡΠΎΡΡΠΈΠΌ ΠΈΠ· ΠΈΠΌΠ΅Π½ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠ°Π·Π΄Π°Π²ΠΈΠ»ΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΊΠ°ΠΊ Π΅ΡΡΡ, ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠΏΠΈΡΠΊΡ Π²ΡΠ΅Ρ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Z
ΠΠ»Π°ΡΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎ ΠΈ ΡΠΎ
ΠΡΠΈΡΡΠΊΠ° ΠΊΠΎΠ΄Π°
Π― Π³ΠΎΡΠΎΠ²!
Π£ΠΏΡ, Π΅ΡΠ΅ Π½Π΅Ρ ...
Π₯ΠΎΡΠΎΡΠΎ, ΡΡΠ½ΠΊΡΠΈΡ Z ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°
ΠΠ±ΡΡΠ½ΠΎ Ρ Π½Π΅ Ρ
ΠΎΡΡ Ρ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΊΡΡ ββΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΡΠΈΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ-ΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ . Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Z
.
ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈ
Stackoverflow — Git rebase ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ n ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² (ΡΡΡΠ»ΠΊΠ°)
Stackoverflow — ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π²Π΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΠΎΠ΄Π½Ρ? (ΡΡΡΠ»ΠΊΠ°)
Gitready — Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (ΡΡΡΠ»ΠΊΠ°)
ΠΡΠ΅Π³Π΄Π° ΡΠΆΠΈΠΌΠ°ΠΉΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Git
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ git Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ Π² ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
. ΠΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΡΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ Π³ΠΎΠ»ΠΎΠ²Π½ΡΠ΅ Π±ΠΎΠ»ΠΈ. ΠΠΎΡΠ°Π±ΠΎΡΠ°Π² Ρ ΡΠ°ΠΌΡΠΌΠΈ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄, Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ squash and rebase
ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΅ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΡΠΌ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΠ²ΠΎΡΠ°?
ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ — ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π²Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ²ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠ²Ρ (ΡΠ°ΡΡΠΎ master
ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ
), Π²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π²Π΅ΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΆΠ°ΡΠ° Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½Π° ΠΈΠ· ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ°. ΠΠΎΡ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠ°.
ΠΠΎΡΡΠ½ΠΈΡΠ΅ Π²Π΅Π΄ΡΡΡΡ Π²Π΅ΡΠ²Ρ
git pull origin master
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ ΠΎΡΠΈΠ±ΠΊΠΈ / ΡΡΠ½ΠΊΡΠΈΠΈ
git checkout -b ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ
ΠΠ½ΠΎΡΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ±ΠΎΡΠΊΠ΅ ΠΈ Π²ΡΠ΅ ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΉΠ΄Π΅Π½Ρ.
ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ Π½Π°ΡΠ°Π»Π° Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ. ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΎ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ git log
ΠΈ ΠΏΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ»ΠΈ
git log --graph --decorate --pretty = oneline --abbrev-commit
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π³ΡΠ°ΡΠΈΠΊ Π²Π°ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΠΆΡΡΠ½Π°Π»Π° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π²Π°ΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ½ΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΈ ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ.Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·ΡΠΌΠΈΡΠ΅ SHA ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΡΠ° Π²Π΅ΡΠΊΠ°.
Π‘ΠΊΠ²ΠΎΡ Π΄ΠΎ 1 ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
git rebase -i HEAD ~ [ΠΠΠΠΠ§ΠΠ‘Π’ΠΠ ΠΠΠΠΠ’ΠΠ’ΠΠ]
ΠΠΠ
git rebase -i [SHA]
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π½Π΅Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ»ΠΈ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ.
git push origin ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ --force
ΠΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡΡ
ΠΌΠ°ΡΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ git
ΠΠΎΡΡΠ½ΠΈΡΠ΅ Π²Π΅Π΄ΡΡΡΡ Π²Π΅ΡΠ²Ρ
git pull origin master
ΠΡΠΈΠ±ΠΊΠ° ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π·Π°ΠΊΠ°Π·Π° / ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π²Π΅ΡΠΊΠ°
git checkout branchName
Π Π΅Π±Π°Π·Π° ΠΎΡ ΠΌΠ°ΡΡΠ΅ΡΠ°
git rebase master
ΠΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ Ρ Π»ΡΠ±ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌΠΈ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈ Π²ΡΠ΅ ΡΠ΅ΡΡΡ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ.ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ Π²Π΅ΡΠΊΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ.
git push origin ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ --force
ΠΡΠΎΡΠΌΠΈΡΡ Π·Π°ΠΊΠ°Π·, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π² ΠΌΠ°ΡΡΠ΅Ρ
ΠΌΠ°ΡΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ git
git merge branchName
git push origin master
ΠΠΎΡΠ΅ΠΌΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΠ½ΡΡΡ ΡΡΠΎΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ?
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΠ΅ΡΠ΅ ΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΎΠ½ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΠ‘Π Π±ΡΠ΄ΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅ ΠΈ ΠΏΡΠΎΠΉΠ΄ΡΡ ΡΠ΅ΡΡΡ. ΠΡΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°ΠΊΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git bisect ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π½Π°ΠΉΡΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ. Git bisect ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ, Π΅ΡΠ»ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ Π΅ΡΡΡ Π½Π΅ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ; Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ ΠΊ Π½Π΅ΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π²Π½Π΅ΡΠ»Π° Π»ΠΈ ΠΎΠ½Π° ΠΎΡΠΈΠ±ΠΊΡ.
ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΈΡΠ°Π΅Ρ Π²Π°Ρ ΠΆΡΡΠ½Π°Π» git. ΠΡ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ Π³ΡΠ°ΡΠΈΠΊ ΠΆΡΡΠ½Π°Π»Π° git, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ?
ΠΠ΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΡΠΎ Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΏΠΎΡ ΠΎΠΆΠ΅ΠΉ:
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π΅ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈΠ· Π²Π΅ΡΠΊΠΈ.
ΠΠΎΠΈΠΌ Π»ΡΠ±ΠΈΠΌΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΈΠ·-Π·Π° ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Ρ ΡΠΆΠ°Π»ΠΈΡΡ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΡΡΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΡΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΡΠΈΡΠΊ ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠΎΠ΄Π° ΠΏΡΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
Π’Π°ΠΊ Π² ΡΠ΅ΠΌ ΠΆΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ?
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΡΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΡΠ΅ΠΌ, ΠΌΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΡΡΠΎΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΠ΄ΠΈ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΠΈΡΡΠΎΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡΠ°ΠΆΠ°ΡΡ Π²Π°ΡΡ ΠΈΡΡΠΈΠ½Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ, Ρ ΠΎΡΠΎΡΠ΅Π΅, ΠΏΠ»ΠΎΡ ΠΎΠ΅ ΠΈ ΡΡΠΎΠ΄Π»ΠΈΠ²ΠΎΠ΅.Π― ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΡΠΈΡΡΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Π½Π½Π°, ΡΠ΅ΠΌ ΡΠ°, ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠ΄Π½ΠΎ ΠΏΠΎΠ½ΡΡΡ. ΠΠ΅ Π²ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΠΎΡΠ΅ΡΡΠ½Π°; ΡΡΠΎΠΉΠΊΠΈΠ΅ ΠΏΡΠΈΠ²Π΅ΡΠΆΠ΅Π½ΡΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΈΠ΄Π΅ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ Π² ΠΆΡΡΠ½Π°Π»Π΅ ΡΡΡΠ»ΠΎΠΊ. ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΡΠ΅ΡΡΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ΄Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ. ΠΡΠ»ΠΈ Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΏΠΎΠ΄Π°Π²ΠΈΡΠ΅ ΠΈΡ , ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΡΡΠΎΠΈΠ» ΠΈ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠ» ΡΠ΅ΡΡΡ. Π₯ΠΎΡΡ ΡΡΠΎΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΠ°ΡΠ΅Π½, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅, ΠΏΠΎΡΠ»Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΡΠΎΠΌ Π²ΠΎΠΏΡΠΎΡΠ΅ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½.
TLDR
ΠΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΡΠΆΠ°ΡΠΈΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΏΠ»ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠΈΠ²Π°ΡΡ ΠΌΠΈΠ½ΡΡΡ. ΠΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΎΡΠΈΡΠ°Π΅Ρ Π²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ, ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π±ΠΎΠ»Ρ ΠΎΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ Π² Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡΡΡΠ΅.
____________________________________________________________________________________________________________________
ΠΠ°Π½ΠΈΠΌΠ°Π΅ΠΌ! ΠΡΠ΅ΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ²-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌ ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ Π½Π°ΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Π² Π‘Π°Π½-Π€ΡΠ°Π½ΡΠΈΡΠΊΠΎ, ΠΠΎΡ-ΠΠ½Π΄ΠΆΠ΅Π»Π΅ΡΠ΅, ΠΡΡ-ΠΠΎΡΠΊΠ΅, Π¦ΠΠ₯.
Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ ΠΏΠΎΠ΄Π°ΠΉΡΠ΅ Π·Π°ΡΠ²ΠΊΡ Π½Π° ΡΠ°ΠΉΡΠ΅ www.carbonfive.com/careers
Π‘ΠΊΠ²ΠΎΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ | GitLab
ΠΡΡΠΎΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ
- ΠΠ΅ΡΠ΅ΡΠ΅Π» Π½Π° GitLab Free Π² Π²Π΅ΡΡΠΈΠΈ 11.0.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ²ΠΎΡΠ° ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ° Π² ΠΎΠ΄ΠΈΠ½
ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠΈΡΡΡΡ ΠΈΡΡΠΎΡΠΈΡ.
ΠΠ±Π·ΠΎΡ
Squashing ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΡΡΠΎΡΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π²Π΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ.
Π·Π°ΠΏΡΠΎΡ. ΠΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ΅ ΠΊΠ°ΠΊ ΠΎΠ΄Π½Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ,
Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠΆΠ°ΡΠΈΠ΅ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ° ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²:
Π ΠΎΠ΄Π½Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ:
note ΠΠ° ΡΠΆΠ°ΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ»ΠΈΡΠ½ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ Π²
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°> ΠΠ±ΡΠΈΠ΅> ΠΠ°ΠΏΡΠΎΡΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅> ΠΠ΅ΡΠΎΠ΄ ΡΠ»ΠΈΡΠ½ΠΈΡ> Π‘Π»ΠΈΡΠ½ΠΈΠ΅ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΎΠΉ Π²ΠΏΠ΅ΡΠ΅Π΄ .
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠΆΠ°ΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ:
- ΠΠ·ΡΡΠΎ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ.
- ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°, Π΅ΡΠ»ΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
note ΠΡΠΎ Π²ΡΡΡΠΏΠ°Π΅Ρ Π² ΡΠΈΠ»Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 2 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ°Π·Π΄Π°Π²ΠΈΡΡ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ 1 ΡΠΈΠΊΡΠ°ΡΠΈΡ.
ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅.
Π‘ΠΆΠ°ΡΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠ΅ΠΉ ΡΠ»ΠΈΡΠ½ΠΈΡ Ρ ΡΡΠΊΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΎΠΉ Π²ΠΏΠ΅ΡΠ΅Π΄, ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠΌ. Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΎΠΉ Π²ΠΏΠ΅ΡΠ΅Π΄.
Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ
ΠΏΡΠΎΠ³ΡΠ΅ΡΡ, Π½ΠΎ Π½Π΅ ΠΎΡΠΎΠ±ΠΎ Π·Π°Π±ΠΎΡΠΈΠΌΡΡ ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠ°.Π’Π΅, ΠΊΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²
ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ° Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²Π°ΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΡΠ΅
Π²Ρ Π±Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»ΠΈ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΡ
Π² ΡΠ²ΠΎΡ ΡΠ΅Π»Π΅Π²ΡΡ Π²Π΅ΡΠΊΡ.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΊΠ²ΠΎΡΠ° ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ»ΠΈΡΠ½ΠΈΡ,
Π²ΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΆΠ°ΡΠΈΠ΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ΅ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΡΡΠΎΡΠΈΡ Π²Π°ΡΠ΅ΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΡΠΈΡΡΠΎΠΉ Ρ
Π·Π½Π°ΡΠΈΠΌΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈ:
- ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅.
- ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½Π°Ρ Π²Π΅ΡΠΊΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ²ΠΎΡΠ° Π΄Π»Ρ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°
ΠΡΠ±ΠΎΠΉ, ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ»ΠΈ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΆΠ°ΡΠΈΠ΅
Π² ΡΠΎΡΠΌΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ½ΡΡΡ ΡΠ»Π°ΠΆΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ
ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡ:
ΠΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Squash ΠΈ Merge Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Ρ
ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°:
- ΠΡΠΎΠΊΡΡΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π²Π²Π΅ΡΡ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ .
- ΠΡΠΎΠΊΡΡΡΠΈΡΠ΅ ΡΠΎΡΠΌΡ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ»Π°ΠΆΠΎΠΊ
Squash ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ½ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ .
ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ½ΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅.
Π ΠΊΠΎΠ½ΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ° ΡΡΠ΄ΠΎΠΌ Ρ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Merge ΡΡΠΎΠΈΡ ΡΠ»Π°ΠΆΠΎΠΊ Squash commitits
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½ ΠΈΠ»ΠΈ Π½Π΅ Π²ΡΠ±ΡΠ°Π½:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Squash ΠΈ Merge ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Squash.
Π‘ΠΆΠ°ΡΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅:
- Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅: ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠΊΠ²ΠΎΡΠ° ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
- ΠΠ²ΡΠΎΡ: Π°Π²ΡΠΎΡ ΡΠ»ΠΈΡΠ½ΠΈΡ.
- ΠΠΎΠΌΠΌΠΈΡΡΠ΅Ρ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π²ΡΠΈΠΉ ΡΠΊΠ²ΠΎΡ.
Π‘ΠΊΠ²ΠΎΡ ΠΈ Π±ΡΡΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²ΠΏΠ΅ΡΠ΅Π΄
ΠΠΎΠ³Π΄Π° Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΎΠΉ Π²ΠΏΠ΅ΡΠ΅Π΄, ΡΠ»ΠΈΡΠ½ΠΈΠ΅
Π·Π°ΠΏΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±ΡΡΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠΈ Π±Π΅Π· ΡΠΆΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π°Π²ΠΈΡΡ
ΠΡΠΎ. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠΆΠ°ΡΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΏΡΠΈΠ½ΡΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅,
ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΆΠ°ΡΠΈΠ΅ΠΌ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ
Π‘ΠΆΠ°ΡΠΈΠ΅ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠΊΠ²ΠΎΡΠ°
ΠΡΡΠΎΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ
- ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π² GitLab 13.2.
- Π Π°Π·Π²Π΅ΡΠ½ΡΡΠΎ Π·Π° ΡΠ»Π°Π³ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ.
- ΠΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² GitLab 13.3.
- ΠΠΊΠ»ΡΡΠ΅Π½ΠΎ Π½Π° GitLab.com.
- ΠΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
- Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Squash Commits Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Squash ΠΈ Merge Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π§ΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΅Π³ΠΎ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° > ΠΠ±ΡΠΈΠ΅ ΠΈ ΡΠ°Π·Π²Π΅ΡΠ½ΠΈΡΠ΅ Merge requests .ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠΈΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π»ΠΈΡΡΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈ Π½ΠΎΠ²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅.
ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π² Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ:
- ΠΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ : ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Squash ΠΈ Merge Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄
ΡΠ»ΠΈΡΠ½ΠΈΠ΅. Π€Π»Π°ΠΆΠΎΠΊ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ½ΡΡ ΠΈ ΡΠΊΡΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. - Π Π°Π·ΡΠ΅ΡΠΈΡΡ : ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΆΠ°ΡΠΈΠ΅ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ»Π°ΠΆΠΎΠΊ ΡΠ½ΡΡ (ΠΎΡΠΊΠ»ΡΡΠ΅Π½), Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ. - Encourage : ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ Squash ΠΈ Merge Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ»Π°ΠΆΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ (Π²ΠΊΠ»ΡΡΠ΅Π½), ΡΡΠΎΠ±Ρ ΠΏΠΎΠΎΡΡΡΡΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅, Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ
ΠΎΡΠΊΠ»ΡΡΠΈ ΡΡΠΎ. - Π’ΡΠ΅Π±ΠΎΠ²Π°ΡΡ : Π‘ΠΊΠ²ΠΎΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΡΠ΅Π³Π΄Π°.
Π€Π»Π°ΠΆΠΎΠΊ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈ ΡΠΊΡΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
Π€Π»Π°ΠΆΠΎΠΊ Squash and Merge ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈ ΠΏΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΠ³Π΄Π° Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Squash Commit Options ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΈΠ»ΠΈ Π’ΡΠ΅Π±ΠΎΠ²Π°ΡΡ .
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ . ΠΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ Squash and Merge, Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π²ΡΠ΅ Π΅ΡΠ΅ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ
squash ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π° ΡΠ²ΠΎΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ.
Git Interactive Rebase, Squash, Amend ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΠΈΡΡΠΎΡΠΈΠΈ
Β«ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΏΠΎΠ²Π΅ΡΡ ΠΌΠ°ΡΡΠ΅ΡΠ°, ΠΈ ΠΌΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠΌ Π²Π°Ρ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠ΅ΡΠ΅Π½ΠΎΡΒ».
Β«ΠΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΡΠΎΠ±ΡΠ°ΡΡ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²ΠΌΠ΅ΡΡΠ΅, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠΈΡΡΡΠΉ, ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΠΉ git.
ΠΈΡΡΠΎΡΠΈΡ? Β».Β«ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΡΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ,
ΡΠ΅ΡΠ°Π΅Ρ, ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΅ΡΠ°Π΅Ρ? Β».
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π² Π·Π°ΠΏΡΠΎΡΠ°Ρ
Π½Π° Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ
ΡΡΡΠ΅ΡΡΠ²ΡΡΡ, ΠΊΠ°ΠΊ ΠΈΡ
Π²ΡΠΏΠΎΠ»Π½ΡΡΡ, ΠΈ ΠΈΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΏΡΠΎΡΡΡΡ
ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠΉ ΠΈΡΡΠΎΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git, — ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ
Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΡ Π²
description, ΠΈΠ»ΠΈ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ
ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅:
ΠΡΠΊΡΠΎΠ΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. ΠΠΎΡΠ»Π΅ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ Π½ΠΎΠ²Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ
Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Ρ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ΠΈ Π½ΠΎΠ²ΡΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π·Π°ΠΌΠ΅Π½ΡΡΡΠΈΠΌ ΡΠΈΠΊΡΠ°ΡΠΈΡ
Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π·Π°Π±ΡΠ»ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ, ΠΈΠ»ΠΈ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
Π° Π·Π°ΡΠ΅ΠΌ Π²Π½Π΅ΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΠ°Π²ΠΊΡ:
git Π΄ΠΎΠ±Π°Π²ΠΈΡΡ README.md config / routes.rb
git rm notes.txt
git commit --amend
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π½ΠΎΠ²Π°Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git add
ΠΈ git rm
. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π°Π²ΡΠΎΡΠ°. ΠΠ»Ρ
ΠΏΡΠΈΠΌΠ΅Ρ:
git commit --amend --author = "Π’ΡΡ ΠΠΎΡΡΠ° ΠΈ ΠΡΠ½ ΠΡΠΎΡΠΊ "
ΠΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ! Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
Π²Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Ρ ΠΈ / ΠΈΠ»ΠΈ ΡΠ»ΡΡΡΠΈΡΡ
Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.ΠΠΎ Π½Π΅ Π½Π°ΡΠΈΠ½Π°ΠΉΡΠ΅ Π²ΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅
ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π·Π΄Π΅Π» ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Π±Π»ΠΎΠ³Π΅ ΠΎΠ·Π°Π³Π»Π°Π²Π»Π΅Π½ Β«ΠΠΠΠ‘ΠΠΠ‘Π’Π¬Β».
Π₯ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ΅ΠΉΡΠ°Ρ, Π½ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠ΅
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ°Π½ΡΡΠ΅. ΠΠ΄ΠΈΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ! ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠ°Π½Π΅Ρ ΠΏΡΠΎΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠΎΡΠΈΡΠ°Π΅ΠΌ ΠΎβ¦
git rebase
ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ
ΠΎΠ΄ΠΈΠ½, ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ, ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ. ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²
ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ Π»ΠΈΡΡ Π²Π΅ΡΡ
ΡΡΠΊΠ° Π°ΠΉΡΠ±Π΅ΡΠ³Π°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½Π°Ρ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ
ΡΠ°Π·ΡΡΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ StackOverflow ΠΈΠ»ΠΈ GitHub ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° git.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ — - ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ
( -i
Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ), ΠΊΠΎΡΠΎΡΡΠΉ
ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. ΠΡΠΎΡ
list ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ
ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Ρ
ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π·ΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
4 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠ³Π°. Π― ΡΠΎΠ³Π΄Π° Π±Π΅Π³Ρ
git rebase -i HEAD ~ 4
, ΠΈ Π²ΠΎΡ ΡΡΠΎ Ρ Π²ΠΈΠΆΡ:
pick 07c5abd ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ OpenPGP ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ de9b1eb ΠΡΠΏΡΠ°Π²ΠΈΡΡ PostChecker :: Post # urls
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ 3e7ee36 ΠΠΉ, ΡΠ΅Π±ΡΡΠ°, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΡΡΠ΅ Π²ΡΠ΄Π΅Π»ΡΡΡ
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ fa20af3 git ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΊΠ²ΠΎΡ, ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ°
# Rebase 8db7e8b..fa20af3 Π½Π° 8db7e8b
#
# ΠΠΎΠΌΠ°Π½Π΄Ρ:
# p, pick = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
# r, reword = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
# e, edit = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ Π½Π΅ Π²Π½ΠΎΡΠΈΡΡ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ
# s, squash = ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π½ΠΎ ΡΠ»ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠ΅ΠΉ
# f, fixup = ΠΊΠ°ΠΊ "squash", Π½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° ΡΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
# x, exec = run ΠΊΠΎΠΌΠ°Π½Π΄Π° (ΠΎΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ
#
# ΠΡΠΈ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΡΡ; ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ²Π΅ΡΡ
Ρ Π²Π½ΠΈΠ·.
#
# ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΠΈΡΠ΅ Π·Π΄Π΅ΡΡ ΡΡΡΠΎΡΠΊΡ, Π§Π’Π COMMIT ΠΠ£ΠΠΠ’ Π£Π’ΠΠ Π―ΠΠ«.
#
# ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΠΈΡΠ΅ Π²ΡΠ΅, ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π°Π½ΠΎ.#
# ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΡΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ
ΠΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ΅ΡΡΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΎΡ ΡΡΠ°ΡΡΡ
ΠΊ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠΌ. Π‘ΠΌ. ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΏΠΎΠ΄
ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²? Π₯ΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ, ΠΌΠ΅ΡΠ·Π°Π²Π΅Ρ! pick
( p
Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ) ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ, Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΅Π³ΠΎ
ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ (ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅) ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π°
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΡΠ»ΠΈ Ρ ΡΠΊΠ°ΠΆΡ reword
( r
Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ) Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅, Ρ Ρ
ΠΎΡΡ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ:
pick 07c5abd ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ OpenPGP ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ de9b1eb ΠΡΠΏΡΠ°Π²ΠΈΡΡ PostChecker :: Post # urls
r 3e7ee36 ΠΠΉ, ΡΠ΅Π±ΡΡΠ°, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΡΡΠ΅ Π²ΡΠ΄Π΅Π»ΡΡΡ ΡΠ²Π΅Ρ
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ fa20af3 git ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΊΠ²ΠΎΡ, ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ°
ΠΠΎΠ³Π΄Π° Ρ ΡΠΎΡ
ΡΠ°Π½ΡΡ ΠΈ Π²ΡΡ
ΠΎΠΆΡ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, git Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΡΡΡΡ
Ρ ΡΠ½ΠΎΠ²Π° Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΠ» commit 3e7ee36
.Π― ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡ ΡΡΠΎ
Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, ΠΈ Π²ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
robots.oughttbot.com tc-git-rebase% git rebase -i HEAD ~ 4
[detached HEAD dd62a66] ΠΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅
ΠΠ²ΡΠΎΡ: ΠΠ°Π»Π΅Π± Π₯Π°ΡΡ
ΠΠ°ΡΠ°: 31 ΠΎΠΊΡ, ΠΏΡ, 10:52:26 2014 -0500
2 ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ, 39 Π²ΡΡΠ°Π²ΠΎΠΊ (+), 42 ΡΠ΄Π°Π»Π΅Π½ΠΈΡ (-)
Refs / Heads / tc-git-rebase ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΠ°Π»Π΅Π± Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡ: Β«ΠΡΠ΅ΠΊΡΠ°ΡΠΈΡΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅Β», Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ,
ΡΠ΅Π±Π΅Π½ΠΎΠΊ ΠΈΠ»ΠΈ Π½Π΅Ρ.
ΠΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ! Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ
ΡΠΎΠ²Π΅ΡΡΠΈΡΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΏΡΠΎΡΡΠΎ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ Β«ΠΠΠΠ‘ΠΠΠ‘Π’Π¬Β»
ΡΠ°Π·Π΄Π΅Π».
ΠΠ²Π΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΠΌ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ:
-
squash
(s
Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ (
ΠΎΠ΄ΠΈΠ½ Π² ΡΡΡΠΎΠΊΠ΅ ΠΏΠ΅ΡΠ΅Π΄) -
fixup
(f
Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ), ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ Β«ΡΠΊΠ²ΠΎΡΒ», Π½ΠΎ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΡΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ.
Π΄ΠΎ. Π£ Π½Π°Ρ Π±ΡΠ»ΠΎ ΡΠ΅ΡΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΌΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Π±Π»ΠΎΠ³Π΅, ΠΈ
ΡΡΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΎΡ ΠΠ°Π»Π΅Π±Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΠΏΠΎΡΡΠΎΠΌ Π½Π° PGP:
pick 07c5abd ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ OpenPGP ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ de9b1eb ΠΡΠΏΡΠ°Π²ΠΈΡΡ PostChecker :: Post # urls
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ 3e7ee36 ΠΠΉ, ΡΠ΅Π±ΡΡΠ°, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΡΡΠ΅ Π²ΡΠ΄Π΅Π»ΡΡΡ
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ fa20af3 git ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΊΠ²ΠΎΡ, ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ°
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Ρ
ΠΎΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΠ°Π»Π΅Π±Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ
ΡΠΎΡ ΠΆΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ Π²Π΅ΡΠ½ΡΡΡ git, Π΅ΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠΌ, ΡΡΠΎ
ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ Π½Π΅ Ρ
ΡΠ°Π½ΠΈΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.ΠΡ Ρ
ΠΎΡΠΈΠΌ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ
ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ΄Π²ΠΈΠ½ΡΡΡ Π΄Π²Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅
ΠΎΠ΄ΠΈΠ½. Π― ΠΌΠ΅Π½ΡΡ pick
Π½Π° squash
Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ:
pick 07c5abd ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ OpenPGP ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
s de9b1eb ΠΡΠΏΡΠ°Π²ΠΈΡΡ PostChecker :: Post # urls
s 3e7ee36 ΠΠΉ, ΡΠ΅Π±ΡΡΠ°, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΡΡΠ΅ Π²ΡΠ΄Π΅Π»ΡΡΡ
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ fa20af3 git ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΊΠ²ΠΎΡ, ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ°
Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅, ΠΈ Ρ ΠΏΠΎΠΏΠ°Π΄Π°Ρ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΠΎΠ³ΠΎ
ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° (ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ):
# ΠΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ 3 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².# Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ OpenPGP ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠΌΠΈΠΌΠΎ Π΄Π΅ΠΌΠΈΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΈ ΡΡΠΈΠΊΠ΅ΡΠ°,
ΡΡΠΎΡ ΠΏΠΎΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΊΠΈΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½Π½Π°Ρ Π²
ΡΡΠΎΡ ΡΠ²ΠΈΡ:
> ΠΡΠΏΡΠ°Π²ΠΈΠ» ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΊΠΎΠΌΡ-ΡΠΎ Ρ PGP. ΠΠ½ΠΈ ΠΎΡΠ²Π΅ΡΠΈΠ»ΠΈ ΠΌΠΎΠΈΠΌ
> ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΠΈΡΡΠΌΠΎ, Π²ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°. ΠΠ½ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΎΡΠΎΠ·Π½Π°Π²Π°Π»ΠΈ.
# ΠΡΠΎ Π²ΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
ΠΡΠΏΡΠ°Π²ΠΈΡΡ PostChecker :: Post # urls
# ΠΡΠΎ ΡΡΠ΅ΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
ΠΠΉ, Π΄Π΅ΡΠΊΠΈ, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΡΡΠ΅ Π²ΡΠ΄Π΅Π»ΡΡΡ
# ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π²Π°ΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.ΠΠΈΠ½ΠΈΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ
# Ρ '#' Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΎ, Π° ΠΏΡΡΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΠ²Π΅Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
#
# ΠΠ²ΡΠΎΡ: ΠΠ°Π»Π΅Π± Π₯Π°ΡΡ
# ΠΠ°ΡΠ°: ΠΡ, 2 ΡΠ΅Π½ΡΡΠ±ΡΡ, 09:39:07 2014 -0500
#
# Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅; Π½Π° 71d4789
# Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ Π²Π΅ΡΠΊΠΈ 'tc-git-rebase' Π½Π° '71d4789'.
Π― ΡΠ΅ΡΠ°Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠ΅ΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ Π²
Π²ΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΈ ΡΠ΅ΡΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π±ΡΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ
Π½Π° Π΄Π²Π°: ΠΎΠ΄Π½ΠΎ ΠΎΡ Π₯Π°Π»Π΅Π²Π° ΠΈ ΠΌΠΎΠ΅ ΠΏΠΎΡΠ»Π΅.Π₯ΠΎΡΠΎΡΠΎ!
ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ fixup
, Π΅ΡΠ»ΠΈ Π±Ρ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ°Π½Π΅Π΅, ΡΡΠΎ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ
ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π½ΠΎ Π½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΡΠ΅ΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅
ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΈ Π±Ρ ΡΠ°ΠΊ:
pick 07c5abd ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ OpenPGP ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
s de9b1eb ΠΡΠΏΡΠ°Π²ΠΈΡΡ PostChecker :: Post # urls
f 3e7ee36 ΠΠΉ, ΡΠ΅Π±ΡΡΠ°, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΡΡΠ΅ Π²ΡΠ΄Π΅Π»ΡΡΡ ΡΠ²Π΅Ρ
Π²ΡΠ±Π΅ΡΠΈΡΠ΅ fa20af3 git ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΊΠ²ΠΎΡ, ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ°
ΠΡΠΈ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠΆΠ΅ Π²ΠΊΠ»ΡΡΠΈΠ» Π±Ρ ΡΡΠ΅ΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ
ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π΄Π»Ρ Π½Π°Ρ:
# ΠΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ 3 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².# Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ OpenPGP ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠΌΠΈΠΌΠΎ Π΄Π΅ΠΌΠΈΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΈ ΡΡΠΈΠΊΠ΅ΡΠ°,
ΡΡΠΎΡ ΠΏΠΎΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΏΠΎΠΌΠΎΡΠΈ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΊΠΈΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½Π½Π°Ρ Π²
ΡΡΠΎΡ ΡΠ²ΠΈΡ:
> ΠΡΠΏΡΠ°Π²ΠΈΠ» ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΊΠΎΠΌΡ-ΡΠΎ Ρ PGP. ΠΠ½ΠΈ ΠΎΡΠ²Π΅ΡΠΈΠ»ΠΈ ΠΌΠΎΠΈΠΌ
> ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΠΈΡΡΠΌΠΎ, Π²ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°. ΠΠ½ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΎΡΠΎΠ·Π½Π°Π²Π°Π»ΠΈ.
- https://twitter.com/csoghoian/status/505366816685060096
* ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π²ΡΡ
ΠΎΠ΄Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ `gpg2`.
* ΠΡΠΊΠ»ΠΎΠ½ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΊΠΎΡΡΡ ΡΠ΅ΡΡΡ Π² URL s
ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΠΈΡ
Markdown ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΊΠΎΡΡΡ ΡΠ΅ΡΡΡ Π² URL Π΄Π»Ρ escape-ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²
URL , ΠΏΠΎΡΡΠΎΠΌΡ `http: // some \ _url.com`
ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ http: // some_url.com.
ΠΡΠΎ ΡΠΌΡΠ³ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΡΠ΅Π½ΠΊΠΈ, ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ
Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ Π½Π°ΡΠ°Π»ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ `_this text_`.
# ΠΡΠΎ Π²ΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
ΠΡΠΏΡΠ°Π²ΠΈΡΡ PostChecker :: Post # urls
# Π’ΡΠ΅ΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΏΡΡΠ΅Π½ΠΎ:
# ΠΠΉ, Π΄Π΅ΡΠΊΠΈ, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΡΡΠ΅ Π²ΡΠ΄Π΅Π»ΡΡΡ ΡΠ²Π΅Ρ
# ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π²Π°ΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠΈΠ½ΠΈΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ
# Ρ '#' Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΎ, Π° ΠΏΡΡΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΠ²Π΅Ρ ΡΠΈΠΊΡΠ°ΡΠΈΡ.
#
# ΠΠ²ΡΠΎΡ: ΠΠ°Π»Π΅Π± Π₯Π°ΡΡ
# ΠΠ°ΡΠ°: ΠΡ, 2 ΡΠ΅Π½ΡΡΠ±ΡΡ, 09:39:07 2014 -0500
#
# Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅; Π½Π° 71d4789
# ΠΡ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅ΡΠΊΠΈ 'tc-git-rebase' Π½Π°
Β«71d4789Β».
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ:
[ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΠΠΠΠΠ 809241b] ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ OpenPGP ΠΈ Π½Π°ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ²ΡΠΎΡ: ΠΠ°Π»Π΅Π± Π₯Π°ΡΡ
ΠΠ°ΡΠ°: 2 ΡΠ΅Π½, Π²ΡΠΎΡΠ½ΠΈΠΊ, 09:39:07 2014 Π³. -0500
2 ΡΠ°ΠΉΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ, 1429 Π²ΡΡΠ°Π²ΠΎΠΊ (+), 1 ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ (-)
ΡΠ΅ΠΆΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ 100644 source / posts / 2014 / 10-31-pgp-and-you.md
Refs / Heads / tc-git-rebase ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎΡ ΠΆΠ΅: 2 ΠΊΠΎΠΌΠΌΠΈΡΠ° Π²ΠΌΠ΅ΡΡΠΎ 4, ΠΊΠ°ΠΆΠ΄ΡΠΉ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ Π±Π»ΠΎΠ³ΠΎΠΌ.
ΠΠΎΡΡΠ°.
ΠΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ! Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²ΠΌΠ΅ΡΡΠ΅.ΠΠ°ΠΊ
Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠΠΠ‘ΠΠΠ‘Π’Π¬.
ΠΡ ΡΠ°Π·Π²Π΅ΡΠ²Π»ΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ ΠΈ ΠΎΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ
ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎ ΡΠ°Π·Π²Π΅Π΄ΠΊΠ΅ ΠΈ Π΄ΠΎΠ±ΡΡΠ΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄. ΠΠ°ΡΠ° ΠΈΡΡΠΎΡΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
A --- B --- C ΡΡΠ½ΠΊΡΠΈΡ
/
D --- E --- F --- G Π²ΠΎΡΡ
ΠΎΠ΄ΡΡΠΈΠΉ / Π³Π»Π°Π²Π½ΡΠΉ
Π‘ΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Β«ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅ΡΡ
ΠΌΠ°ΡΡΠ΅ΡΠ°Β», ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΈΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π»ΡΠ±ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅
ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±Π΅ΠΈΠΌΠΈ Π²Π΅ΡΠ²ΡΠΌΠΈ, ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π½Π°Ρ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²ΠΌΠ΅ΡΡΠ΅.
Π‘ΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΠΉ Ρ
ΠΎΡΠ΅Π» Π±Ρ Π²ΠΈΠ΄Π΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ Π²ΡΠΎΠ΄Π΅:
ΠΠ»Π΅ΠΌΠ΅Π½Ρ A '- B' - C '
/
D --- E --- F --- G Π²ΠΎΡΡ
ΠΎΠ΄ΡΡΠΈΠΉ / Π³Π»Π°Π²Π½ΡΠΉ
ΠΡ Ρ
ΠΎΡΠΈΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ, ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ, ΠΊ Π²Π΅Π΄ΡΡΠ΅ΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ Π²ΠΎΡΡ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°.ΠΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ rebase! ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄ΡΡ
ΠΏΠΎΡΠ°Π΄ΠΈΡΡ Π½Π°Ρ Π² ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ:
# ΠΠ°ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π½Π°Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ `upstream` Π½Π° ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ Π²ΠΈΠ»ΠΊΡ
git ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²Π²Π΅ΡΡ
ΠΏΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ https://github.com/gotitbot/factory_girl.git
# ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· `upstream` (ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠΎΡΠΊ)
git fetch Π²Π²Π΅ΡΡ
ΠΏΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ
# ΠΡΠΎΡΠΌΠΈΡΡ Π·Π°ΠΊΠ°Π· Π½Π° Π½Π°ΡΡ Π²Π΅ΡΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ git
# ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΊ ΠΌΠ°ΡΡΠ΅ΡΡ Π°ΠΏΡΡΡΠΈΠΌΠ°
git rebase upstream / master
# ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, Π·Π°ΡΠ΅ΠΌ `git rebase --continue`, ΠΏΠΎΠ²ΡΠΎΡΡΠΉΡΠ΅, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅
# ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Π½Π°ΡΡ Π²ΠΈΠ»ΠΊΡ
git push - ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠΈΡΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ
ΠΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΎ! ΠΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π²Π΅ΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ
Π²Π΅ΡΡΠΈΠ½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΌΠ°ΡΡΠ΅ΡΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²ΠΈΠ»ΠΊΠΈ.
ΠΡΠ°ΠΊ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌβ¦
ΠΠΈΠ΄ΠΈΡΠ΅ --force
Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git push
? ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ
ΠΈΡΡΠΎΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΡΠΎ Π²ΡΠ΅Π³Π΄Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ
, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ Π½Π΅ Π΄Π΅Π»ΠΈΠΌΡΡ
Π΄ΡΡΠ³ΠΈΡ
ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ»ΠΈ Π² Π½Π°ΡΠΈΡ
ΡΠΈΠ»ΠΈΠ°Π»Π°Ρ
(ΡΠΌ. ΠΌΠΎΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»Ρ Π²
ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Π±Π»ΠΎΠ³Π΅).
ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅ Π²ΡΠΏΡΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ (ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ
ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΌΠΎΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π²Π½Π΅Ρ Π² ΠΊΠΎΠΌΠΌΠΈΡΡ PGP
ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π±ΡΠ»ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ), ΡΠΎΠ³Π΄Π° Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΡΠ°ΡΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΡΡΡΡ.