Π‘ΠΎΠ²Π΅ΡΡ ΠΏΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ c Git / Π₯Π°Π±Ρ
ΠΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ git? ΠΠ°ΡΠ° Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΡΠΎΠ±Ρ Β«Π²ΡΠ΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΒ». Π Π°Π·ΠΎΡΠ°ΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ git ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ git Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΎΠΊΡΠΏΠΈΡΡΡ. Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²Ρ ΡΡΠ°ΡΠΈΡΠ΅ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ git? Π― Π±Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠ», ΡΡΠΎ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅ Π½Π΅ΠΌΠ°Π»ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Π΄Π²ΠΎΠ΅ ΡΠ΅ΠΆΠ΅ ΠΈ ΠΏΠΎΡΡΠ°ΡΠΈΠ»ΠΈ Π²Π΄Π²ΠΎΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ Ρ
ΠΎΡΠΈΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΎ git, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π½Π°ΡΠ°ΡΡ Ρ Π³Π»Π°Π²Ρ 10 ΠΊΠ½ΠΈΠ³ΠΈ Pro Git (ΡΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ!), Π·Π°ΡΠ΅ΠΌ Π³Π»Π°Π²Ρ 2, 3 ΠΈ 7. ΠΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² git.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠ»ΡΡΠ°Π»ΠΈ ΡΡΠΎ ΡΠ°Π½ΡΡΠ΅, Π½ΠΎ ΠΏΠΎΡΠ΅ΡΠΏΠΈΜΡΠ΅. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git commit -m "Π²Π°ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π΄Π΅ΡΡ"
. ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ git Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠ±ΠΈΠΌΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°: git config --global core.editor vim
, Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ git commit
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ 72 ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΡΠΈΡΠΈΠ½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ, Π° ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ°Β β Π²Π°ΠΆΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ git. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π² 50 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ΅ΠΌΠΎΠΉ Π²Π°ΡΠ΅ΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ, ΠΈ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π²ΡΠΎΠ΄Π΅
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°ΡΡΠΈΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, Π½ΠΎ ΡΡΡΠΈΡΠ΅, ΡΡΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΡΠ°ΡΡ Π»ΠΎΠ³ΠΈ Π½Π΅ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, ΡΡΠΎ ΠΈ Π²Ρ. Π― ΡΠ°ΡΡΠΎ ΡΠΈΡΠ°Ρ Π»ΠΎΠ³ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π½Π° Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅, ΠΈ ΠΎΠ½ Π½Π΅ Π²ΡΠΈΡΠ½Π΅Ρ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡΠ°, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°Ρ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ 4K 16:9.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅Β β ΠΈΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ (Π² ΡΡΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Ρ ΠΌΠΎΠ³ Π±Ρ ΠΏΠΎΡΠ°ΡΠ΅ ΠΏΡΠΈΡΠ»ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΎΠ²Π΅ΡΠ°ΠΌ). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ΄Π΅Ρ Π½Π΅ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π³ΠΈ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ Π΄Π΅ΡΠ΅Π²Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ , ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅
git add -i
ΠΈΠ»ΠΈ git add -p
. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ, ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ ΡΠ΅ΡΡΡ ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
Π±Π°Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π² Π±ΡΠ΄ΡΡΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ
.Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΡΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ ΠΈ ΠΏΠΎΠ·ΠΆΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π²Π΅ΡΠΊΡ ΡΠ΅Π»ΠΈΠ·Π°. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡΡ git-bisect1, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΊΠΎΠ΄ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΠΉΠ΄ΡΡ ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ
ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π΄Π΅ΡΠ΅Π²ΠΎ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠΈΡ Π»ΠΎΠΆΠ½ΡΡ
ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΉ. ΠΡΠΈ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ Ρ
ΠΎΡΠΎΡΠΈΠΌΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠΌΠΈ ΡΠΏΡΠΎΡΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΡΠ΅Π»ΠΈΠ·Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ git-shortlog, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΠΈΠ½ΡΡ Ρ ΡΠ΅Π»ΠΈΠ·Π°ΠΌΠΈ Linux.
ΠΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ Π²Π°ΠΆΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ git, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΡ ΡΠ²ΠΎΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠΎΠ²: ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΡΠΎΡΠΈΠΈ. ΠΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Β«ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈΒ», Π½ΠΎ ΡΠ°Π½ΡΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠ°ΡΠΈΠ½Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ git ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ: Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠ»ΠΎΠ΅. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²Π°Ρ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠΎΡΡΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ! ΠΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Ρ: ΠΈΠ·ΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ ΠΏΡΠΎΡΠ»ΠΎΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΅ΡΡ Π½Π΅ Π²ΠΎΡΠ»ΠΎ Π² ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΠΊΡ.
git commit -m fixup
), Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ git rebase -i
, ΡΡΠΎΠ±Ρ Π²Π»ΠΈΡΡ Π΅Π³ΠΎ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.- Π§ΠΈΡΠ°ΠΉΡΠ΅ ΠΌΠ°Π½Ρ! ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ git man ΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ Π΅Ρ ΡΠ΅ΠΉΡΠ°Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΈΡΠ°Π»ΠΈ ΡΡΡΠ°Π½ΠΈΡΡ git man Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ (ΠΏΡΠΎΡΡΠΎ
), ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ.
- Π Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ°Π½Π° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ git Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΡΠ»ΠΈ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ.
- Π£Π·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ rev selection.
- ΠΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ, Π½ΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΡΡΠΈΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π· Π½ΠΈΡ
, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ Ρ
ΠΎΡΠΎΡΠΈΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΠΏΠΎΡΡΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΎΠ΄Π΅
git pull --rebase
,git send-email -1 HEAD~2
ΠΈ
. git push origin HEAD~2:master
1. Π Π΄Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ , git bisectΒ β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ, ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·Π²Π°Π» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. β
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ Git β Hexlet Guides
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
- ΠΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΡΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ
- ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ
- ΠΠ°ΠΊΠΈΠ΅ Π±ΡΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ
- ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅
- ΠΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅
- Π’ΡΠ΅ΡΡΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅
- ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΏΠΎΠΉΠ΄ΡΡ ΡΠ΅ΡΡ ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π°Ρ Git. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΡΠ²ΠΎΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Git.
ΠΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΡΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΈΠ»ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΈΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, ΠΎΡΡΠ°ΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° Π΄ΠΈΡΠΊΠ΅. ΠΡΠΈ ΡΠ°ΠΉΠ»Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ, ΡΠ΄Π°Π»ΡΡΡΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΡΠ½ΠΈ ΡΡΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π°, Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΡΡΠΈ. Π€Π°ΠΉΠ»Ρ Π² ΡΡΡΡΡΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° β Π²ΠΏΠΎΠ»Π½Π΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΠΎΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΠ°ΡΡ-ΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², Π΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΏΠΈΡΠ΅Ρ ΠΊΠΎΠ΄, Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΅Π³ΠΎ ΠΈ ΡΠ°Π΄ΡΠ΅ΡΡΡ ΠΆΠΈΠ·Π½ΠΈ. ΠΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½, Π·Π°ΠΊΠ°Π·ΡΠΈΠΊ ΡΠΎΠΆΠ΅. Π‘ ΡΠΎΡΡΠΎΠΌ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
- ΠΠ°ΠΊ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ?
- ΠΠ°ΠΊ Π·Π°ΡΠΈΡΠΈΡΡΡΡ ΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΉ?
- ΠΠ°ΠΊ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ?
- ΠΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π½ΠΎΠ²ΠΎΠΉ?
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΎΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π΄Π΅ΡΡΡΠΊΠΎΠ² ΡΡΡΡΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°. ΠΡ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π·Π°Π΄Π°ΡΡ, Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ 15 ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ 300 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈ Π²Π΄ΡΡΠ³ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠ° Π·Π°Π΄Π°ΡΠ° Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°. ΠΠ° ΡΡΠΎΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π΄ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ ΡΡΠ°Π»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎΡΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ (ΡΠ°ΠΉΡ). ΠΠΎΠ²ΡΡ Π·Π°Π΄Π°ΡΡ Π² Π½Π΅ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π½Π° ΡΠ°ΠΉΡ Π½Π΅Π»ΡΠ·Ρ, Π° ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡΡ Π² ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ β ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ. ΠΠ΅ΡΠ΅Π½ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Π΄ΡΡΠ³ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΡΠ΅ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ (ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ). ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΏΠΎΠΊ ΡΡΠ°Π½Π΅Ρ Π΄Π²Π΅, Π²Ρ ΡΡΠ°Π·Ρ Π½Π°ΡΠ½ΡΡΠ΅ ΠΏΡΡΠ°ΡΡΡΡ Π² Π½ΠΈΡ . Π Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π²ΡΠΌ Π»ΡΠ΄ΡΠΌ.
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° β ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ Π³ΠΎΠ»ΠΎΠ²Π½Π°Ρ Π±ΠΎΠ»Ρ. ΠΡΠ»ΠΈ Π΄Π²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ, ΡΡΠ΅Π±ΡΡΡΠΈΠΌΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ ΡΠ°ΠΉΠ»Π°Ρ , ΡΠΎ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°?
Π ΡΡΠ°ΡΡΡΡ, ΡΡΡ Π·Π°Π΄Π°ΡΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π΅ΡΡ Π² 80-Ρ Π³ΠΎΠ΄Π°Ρ . Π‘ ΡΠ΅Ρ ΠΏΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ»ΡΡ ΠΈ ΡΡΠ°Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΠΊΠ½ΠΈΠ³. Π Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΌΠ΅ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ:
ΠΠΎΠ·Π²ΡΠ°Ρ ΠΊ Π»ΡΠ±ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ.- ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
- Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π±Π΅Π· Π±ΠΎΡΠ·Π½ΠΈ ΠΏΠΎΡΠ΅ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ Π·Π°ΡΠ΅ΡΠ΅ΡΡ ΡΡΠΆΡΡ ΡΠ°Π±ΠΎΡΡ.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΎΠ±ΡΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ
Π‘ΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ (Π‘ΠΠ ΠΈΠ»ΠΈ VCS β Version Control System) ΡΠ°ΡΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Ρ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ Π΄Π°ΠΆΠ΅ Π΄Π°Π»ΡΠΊΠΈΠΌ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠ΄ΡΠΌ. ΠΠΌΠ΅Π½Π½ΠΎ Ρ Π½ΠΈΡ ΠΌΡ ΠΈ Π½Π°ΡΠ½ΡΠΌ ΡΠ²ΠΎΡ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ, Π° Π·Π°ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ³ΡΡΠ·ΠΈΠΌΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ.
Π‘Π΅ΡΠ²ΠΈΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Dropbox, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ΠΌΠΈ. Π Π²ΡΠ΅ ΠΎΠ½ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠΎ ΡΠ°ΠΊ: ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ΅ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΡΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ, ΠΈ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ β ΠΏΠΎΠ·ΠΆΠ΅ ΡΠ°ΠΉΠ»Π°, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΡΠΎ ΡΠ°ΠΉΠ» Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°ΡΡΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ».
ΠΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π²ΡΡΠ΅ ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π° ΠΊΠ°ΠΊ current. ΠΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ β ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Dropbox ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΡΠ±ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΡ ΡΡΠ°Π·Ρ:
Dropbox keeps a snapshot every time you save a file. (ΠΡΠΎΠΏΠ±ΠΎΠΊΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»)
Π‘Π½ΠΈΠΌΠΎΠΊ (snapshot; ΡΠ°Π·Π³. ΡΠ½Π΅ΠΏΡΠΎΡ) β ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π½Π°ΠΌ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΠ³ΠΎ Π΅ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ½ΠΈΠΌΠΊΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠΌ ΡΠ½ΠΈΠΌΠΊΠΎΠΌ (Π±ΡΠΊΠ²Π°Π»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄), Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎ Β«ΡΠ½ΠΈΠΌΠΎΠΊΒ».
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠ½ΠΈΠΌΠΎΠΊ β ΡΡΠΎ ΡΠ°ΠΌ ΡΠ°ΠΉΠ» ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π ΡΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ β Π΄Π΅Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (diff). ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° Dropbox Π±Ρ Π²ΡΡΠΈΡΠ»ΡΠ» ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΎΠ²ΡΠΌ ΠΈ ΡΡΠ°ΡΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ (Π° ΡΡΠΎ Π½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²) ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ» ΡΠΎΠ»ΡΠΊΠΎ Π΅Ρ. ΠΠ°ΡΠ΅ΠΌ ΡΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ, ΡΠΏΡΠΎΡΠΈΡΠ΅ Π²Ρ? Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΌΠ΅ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅, Ρ ΠΎΡΡ ΠΈ Π²Π½ΠΎΡΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ: Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π΅Π»ΡΡΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π΄ΡΡΠ³ΠΈΠ΅ β ΡΠΎ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ. ΠΡΡΠ°ΡΠΈ, ΡΠ΅ΡΠΌΠΈΠ½ Β«ΡΠ½ΠΈΠΌΠΎΠΊΒ» ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊ Π΄ΠΈΡΠΊΠ°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ Π΄ΠΈΡΠΊΠ° ΠΈ ΠΏΠΎΡΠΎΠΌ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Ρ ΡΡΠΎΠΉ ΡΠΎΡΠΊΠΈ (ΠΏΡΡΠΌΠΎ ΠΊΠ°ΠΊ Π² ΠΈΠ³ΡΠ°Ρ ).
ΠΡΡΠ³ΠΈΠΌ Ρ ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΠ½Π»Π°ΠΉΠ½ΠΎΠ²ΡΠ΅.
Π‘Π΅ΡΠ²ΠΈΡ Google Docs Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅Π»Π°Π΅Ρ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Π²ΡΠΎΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ (ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°Π· Π² 5 ΡΠ΅ΠΊΡΠ½Π΄). ΠΡΠ»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π·Π° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ, ΡΠΎ, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΊΠΈΡ Π²Π΅ΡΡΠΈΠΉ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π²ΡΡΠ΅ ΠΈΡΡΠΎΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ βRevision historyβ. Π Π΅Π²ΠΈΠ·ΠΈΡ β Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. ΠΡΠ±ΠΎΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π²ΠΈΠ·ΠΈΠ΅ΠΉ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠ΅Π²ΠΈΠ·ΠΈΡ ΠΈ ΡΠ½ΠΈΠΌΠΎΠΊ β ΡΡΠΎ Π½Π΅ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅. Π€ΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π²ΠΈΠ·ΠΈΡ, Π½ΠΎ ΡΠ°ΠΌΠ° ΡΠ΅Π²ΠΈΠ·ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅Π±Ρ Π»ΠΈΠ±ΠΎ Π΄Π΅
ΠΠ°ΠΊ Π½Π°ΡΡΠΈΡΡ Π»ΡΠ΄Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Git / Π₯Π°Π±Ρ
ΠΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , ΠΏΠΎΡΡΠΎΠΌΡ Ρ Ρ ΠΎΡΠΎΡΠΎ Π·Π½Π°Ρ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅ ΠΌΠΎΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ. ΠΠΎΠΌΠ½Ρ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Π½Π°ΡΠ°Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Git Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π·Π° ΠΏΠ°ΡΡ Π½Π΅Π΄Π΅Π»Ρ Π΄ΠΎ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄Π°. ΠΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊΡΡΠ³ΠΎΠΌ Π²ΠΈΡΠ΅Π»ΠΈ Π½Π°ΠΊΠ»Π΅ΠΉΠΊΠΈ Ρ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ΠΌ: ΡΠ½Π°ΡΠ°Π»Π° add, ΠΏΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ, Π·Π°ΡΠ΅ΠΌ ΠΏΡΡ.ΠΠ½ΠΈ Π½Π΅ Π·Π½Π°Π»ΠΈ, Π·Π°ΡΠ΅ΠΌ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΈΠ½Π°ΡΠ΅ Π±Π΅Π΄Π°. ΠΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ ΡΠ°ΠΊ ΡΠ°ΡΡΠΎ, ΡΡΠΎ Ρ ΡΠ΅ΡΠΈΠ»Π° ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΏΠΎ Git.
ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΡΡΡ Π² Π³ΠΎΠ»ΠΎΠ²Π΅. Π― Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ Β«ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ°ΡΡΡΒ», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠΈΠΏ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ. Π Π΅ΡΡ ΠΎ Π½Π΅ΠΊΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°Ρ , ΡΡΡΡΠΊΡΡΡΠ°Ρ ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π² ΡΠΌΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π΄Π΅ΡΡΡΠ²Π΅ Ρ ΡΡΠΈΠ»Π° Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ ΠΈΠ³ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΡΠ±ΠΈΠΊΠΈ.
ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ»Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΠ½ΠΊΠΎΠ². ΠΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡ ΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΡΠ΅ΠΊΡΡ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π½Π°ΡΡΠΈΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° ΡΠ΅ΡΠΌΠΈΠ½Π°ΠΌ. ΠΠ½Π°ΡΠ΅ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠΉΠΌΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Git. Π ΠΈΡΡΠ½ΠΊΠΈ β Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ±.
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ ΡΠ΅ΡΡΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
- Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ:
- Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
- ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ (staging) ΠΈΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ
- ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- Π‘Π΅ΡΠ²Π΅Ρ:
- Π£Π΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ.
ΠΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π΄Π²Π΅ ΠΎΠ±Π»Π°ΡΡΠΈ:
- Π Π°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
- ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
Π ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠ°ΠΉΠ»ΠΎΠ²:
- ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅: ΡΠ°ΠΉΠ»Ρ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π·Π½Π°Π΅Ρ Git.
- ΠΠ΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅: ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡ Π½Π΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Git Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎ Π½ΠΈΡ .
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ (staging area).
ΠΠΎΠ³Π΄Π° ΡΠ°ΠΌ Π½Π°ΠΊΠΎΠΏΠΈΠ»ΡΡ ΡΡΠ΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ ΠΎΠ±ΡΠ΅ΠΉ ΡΠ΅Π»ΡΡ, ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°ΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ± ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ.
ΠΡΠ»ΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π³ΠΎΡΠΎΠ²ΡΡ ΠΊ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΌΠΈΡΠΎΠΌ, ΠΎΠ½ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΡ ΡΠ°ΠΉΠ»Π° Π² ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ: ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΠΎΠΌ, ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΌ (staged) ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ (commited).
ΠΠ°Π»Π΅Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ:
- ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅:
git diff
- ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ:
git diff --staged
- ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ
- ΠΈ Ρ.Β Π΄.
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ (fetching)
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ git fetch
Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ (pulling)
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ git pull
Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π΄Π²Π΅ ΠΎΠ±Π»Π°ΡΡΠΈ:
- Π Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
fetch
- Π ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³:
merge
ΠΡΠ»ΠΈ Π²Π°ΠΆΠ½Π° ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
git pull --rebase
. Π’ΠΎΠ³Π΄Π° Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ fetch + merge
Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ fetch + rebase
. ΠΠ°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π±ΡΠ΄ΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠΎΡΠΌΡ Π±ΡΠΈΠ»Π»ΠΈΠ°Π½ΡΠ°.ΠΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΅ΡΡ ΠΎΠ΄Π½Ρ ΠΎΠ±Π»Π°ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠ΅ ΠΏΡΡΡΠ°ΡΡ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ: Π³ΡΡΠ·Π½ΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
ΠΠΎΠ³Π΄Π° Π»ΡΠ΄ΠΈ ΡΡΠ²ΠΎΡΡ ΡΡΠΈ ΠΏΠΎΠ½ΡΡΠΈΡ, Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΡΠ΅ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅: Π²Π΅ΡΠ²ΠΈ, ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²ΠΊΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΎΡΠ½ΡΠΉ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½Ρ ΡΠΆΠ΅ Π·Π°Π»ΠΎΠΆΠ΅Π½.
Π― ΡΠ°Π±ΠΎΡΠ°Π»Π° Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ (Visual SourceSafe, TFS ΠΈ Subversion): ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡ ΡΠΊΡΠΎΠΌΠ½ΠΎΠΌΡ ΠΎΠΏΡΡΡ, Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π·Π½Π°Π½ΠΈΠΉ Π²ΡΠ΅Π΄ΠΈΡ ΠΈ ΡΠΎ ΡΡΠ°ΡΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ, ΠΈ Ρ Π½ΠΎΠ²ΡΠΌ. Π‘ΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΡΡΠ΅ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π²ΡΠ±ΠΎΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, Π½ΠΎ ΠΈ Π½Π° Π΅Π³ΠΎ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠΈ.
ΠΠΎΠΉ Π΄ΡΡΠ³ ΠΠ°ΡΠΊ ΠΠΈΠ»Π»Π°Π³ΡΠ°ΡΠ° Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠ», ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ΅ΡΠΈΡΡ Π·Π°Π΄Π°ΡΠΊΠΈ Git ΠΈ Π΄Π΅Π»ΠΈΡΡΡΡ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ.
Π Π΅ΡΡΡΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π½Π° Hacker News:
ΠΡΠΎΡΠΈΡΠ°Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° Reddit, Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π»Π°, ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ Π±ΡΠ»ΠΎ Π±Ρ Β«ΠΠ΄Π΅Ρ, ΠΊΠ°ΠΊ Π½Π°ΡΡΠΈΡΡ Π»ΡΠ΄Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ GitΒ», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ΄Π΅Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π² ΠΌΠΎΠ΅ΠΉ Π³ΠΎΠ»ΠΎΠ²Π΅, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ°ΠΌΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π½Π°Π·Π°Π΄ ΠΈΠ·ΡΡΠ°Π»Π° Git ΠΏΠΎ ΠΊΠ½ΠΈΠ³Π΅ Pro Git. Π‘ΡΠ°ΡΡΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ, Π»ΠΈΡΡ ΠΎΡΠΏΡΠ°Π²Π½Π°Ρ ΡΠΎΡΠΊΠ°. Π£Π²Π΅ΡΠ΅Π½Π°, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΈ ΡΠ΅ΡΡΡΡΡ Π±ΡΠ΄ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
Π ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π‘ΡΡΠ°ΡΡΡ ΠΠ°ΠΊΡΠ²Π΅Π»Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° Hacker News, ΠΈ u/cryptoz, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΠΎΡΡΠΈΠ» Π΅Ρ Π½Π° Reddit!
ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ Git β ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ
Git, Π·Π°ΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅Π±Ρ
ΠΠ½Π΄ΡΠ΅ Π€Π°ΡΠ°Ρ
ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ 01.09.2015
Git β ΡΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π» ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»ΡΠ΄Ρ, ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Linux, Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡΠ΄ΡΠ° Linux. ΠΠ° Π½Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ ΡΠ΅Π»ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ GitHub. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π°ΠΆΠ΅ Π² IBM DevOps Services β Π½Π°ΡΡΠ΄Ρ Ρ IBM Rational Team Concertβ’. Π’Π°ΠΊ ΡΡΠΎ ΡΠ΅ΠΌ, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΌΠΈΡΠ΅ Linux ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ IBM DevOps Services Ρ Git, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Git.
ΠΠΎΠ³Π΄Π° Ρ Π½Π°ΡΠ°Π» ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Git, Ρ ΠΈΠΌΠ΅Π» Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Concurrent Versions System (CVS) ΠΈ Apache Subversion (SVN), ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΡΡΠ°Π»ΡΡ ΠΎΡΠ²ΠΎΠΈΡΡ Π΅Π³ΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π°Π» ΠΌΠ½Π΅ Π»ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Git. Π‘ ΡΠ΅Ρ ΠΏΠΎΡ Ρ ΠΎΡΠ²ΠΎΠΈΠ» Git Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠ° ΡΡΠ°ΡΡΡ β ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° Β«ΠΠ°ΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅Π±ΡΒ», ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΠ΅Π±Π΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Git, ΠΈ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΡΡΠΎ Π²ΡΠ΅ΠΌ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ. Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π²Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ, Π±ΠΎΠ»Π΅Π΅ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ CVS ΠΈΠ»ΠΈ SVN.
ΠΡΠ½ΠΎΠ²Ρ
Π’Π°ΠΊ ΡΡΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 1. Π ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠ°ΠΏΠΊΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ (content) (CVS ΠΈ Git Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ Ρ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ, Π° ΠΏΡΠΎΡΡΠΎ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ). ΠΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ β ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΊΠΎΠ΄ Π²ΡΠ³ΡΡΠΆΠ°ΡΡ (checkout) Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΠΈΠΊΡΠΈΡΡΡΡ (commit) Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 1. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ΄Π° Π²Π΅ΡΡΠΈΠΉ, ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ (snapshots), ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΠΌΠΈ Β«ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ-ΠΏΠΎΡΠΎΠΌΠΊΠΈΒ» Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Π°Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΈ Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΉ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΡΡΠ΅ΠΌ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π’Π°ΠΊΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²Π΅ΡΡΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π²Π΅ΡΠ²ΡΡ. Π SVN ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ²ΠΎΠ»ΠΎΠΌ; Π² CVS ΠΎΠ½ ΠΎΠ±ΡΡΠ½ΠΎ Π½ΠΎΡΠΈΡ ΠΈΠΌΡ HEAD; Π² Git Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ master. ΠΠ΅ΡΠ²ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
ΠΠΎΠΊΠ° Git ΠΌΠ°Π»ΠΎ ΡΠ΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ? Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π° ΡΡΠΎΠΌ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ΄Π½Π° ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ CVS ΠΈ SVN Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Ρ Π½ΠΈΡ Π΅ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. Git β Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΠΈ ΠΎΠ½ΠΈ ΡΠ°ΠΊ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Git?
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ Git Π½Π° ΡΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡ β Π΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΠ²ΠΎΠΈΡΡ.
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Git ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ Π² ΡΠΎΡΠΌΠ΅ ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΈΠ»ΠΈ Β«ΠΊΠΎΠΌΠΌΠΈΡΒ», ΠΈ Β«Π·Π½Π°Π΅ΡΒ», ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ. ΠΡΠΎ Π²Π°ΠΆΠ½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ. ΠΠΎ-ΠΌΠΎΠ΅ΠΌΡ, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΎΡΠΊΠ°ΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Git.
ΠΡΠΎ ΠΏΠΎΠΈΡΡΠΈΠ½Π΅ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ β Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ. Π’Π°ΠΊ ΡΡΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ³Π»ΡΠ±ΠΈΠΌΡΡ Π² Git.
Π Π°Π±ΠΎΡΠ° Ρ Git
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Git, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git init
. ΠΠ½Π° ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Git ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ Π² Π½Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ .git
(ΡΠΊΡΡΡΡΠΉ) Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git. ΠΠΎΠΌΠ°Π½Π΄Ρ checkout
ΠΈ commit
ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½ΠΎ Π°ΠΊΡΠ΅Π½Ρ Π΄Π΅Π»Π°Π΅ΡΡΡ Π½Π° Π½Π°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π² Git Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° add
(ΠΊΠ°ΠΊ Π² SVN). Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π²Π½Π΅ΡΠ΅Π½Π½ΠΎΠ΅ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. ΠΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ. Π ΠΈΡΡΠ½ΠΎΠΊ 3 ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ½ΠΈΠΌΠΊΠ° Π²Π΅ΡΡΠΈΠΈ A Π² ΡΠ½ΠΈΠΌΠΎΠΊ Π²Π΅ΡΡΠΈΠΈ B.
ΠΠΎΠΌΠ°Π½Π΄Π° git status
ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π² ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ Π²Π΅ΡΠ²ΠΈ Π²Ρ Π½ΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΠ»ΠΈΡΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Git
ΠΠΎΠΌΠ°Π½Π΄Π° git log
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Ρ.Π΅. ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²) Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° git log <path>
β ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ.
ΠΠΎΠΌΠ°Π½Π΄Π° git status
ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅, Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git diff
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git diff
(Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²), ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡ. Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅, β ΡΠΎ Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ ΡΠ²ΠΎΠ΅ΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git diff --cached
. ΠΠΎΠΌΠ°Π½Π΄Π° git diff <name>
ΠΈΠ»ΠΈ git diff <name> -- <path>
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈΠ»ΠΈ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Name ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²Π΅ΡΠ²ΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ
.
ΠΠΌΠ΅Π½Π°
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅.
ΠΠ·-Π·Π° Π΄Π»ΠΈΠ½Π½ΡΡ
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΡΠ²ΠΎΠΈΡ
ΡΠΈΡΡΠ½ΠΊΠ°Ρ
ΡΠΎΠ»ΡΠΊΠΎ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Β«(A)Β», Β«(B)Β» ΠΈ Ρ.ΠΏ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² Git. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Git β ΡΡΠΎ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Ρ Π΅ΡΠ΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«c69e0cc32f3c1c8f2730cade36a8f75dc8e3d480Β». ΠΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ· ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π°ΡΠΈ, ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± Π°Π²ΡΠΎΡΠ΅, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΈ Ρ.Π΄. Π‘Π½ΠΈΠΌΠΎΠΊ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΊΡ, ΠΊΠ°ΠΊ Π² CVS, ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (ΠΈ ΠΏΡΡΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ /branches), ΠΊΠ°ΠΊ Π² SVN. ΠΠΎΡΡΠΎΠΌΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Git Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, ΠΊΠ°ΠΊ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ . ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Git ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΊΡΠ°ΡΠ°ΡΡ ΡΡΠΈ Π΄Π»ΠΈΠ½Π½ΡΠ΅ Ρ ΡΡΠΈ Π΄ΠΎ ΠΊΡΠ°ΡΠΊΠΈΡ ΠΈΠΌΠ΅Π½ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΎΡ Π½Π°ΡΠ°Π»Π° ID, ΡΠ°ΠΊ ΡΡΠΎΠ±Ρ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΈΠΌΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΡΡΠ°Π²Π°Π»ΠΎΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π±ΡΠ΄Π΅Ρ Β«c69e0ccΒ».
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½ commit ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈ ΠΊΠ°ΠΊ Π³Π»Π°Π³ΠΎΠ», ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ½ΠΈΠΌΠΊΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠ΅Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ.
ΠΠ±ΡΡΠ½ΠΎ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ; ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π΅ΡΠ²ΡΠΌΠΈ. Π Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ Π²Π΅ΡΠ²ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π Git ΠΏΠΎΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β ΡΡΠΎ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ, ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ, ΠΏΡΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ. ΠΠ΅ΡΠ²Ρ Π² Git β ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ. ΠΠ½ ΠΎΡΠΌΠ΅ΡΠ°Π΅Ρ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ. ΠΠΎΠ³Π΄Π° ΠΊ Π²Π΅ΡΠ²ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΌΠ΅ΡΠΊΠ° Π²Π΅ΡΠ²ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ.
ΠΠ°ΠΊ Git Β«ΡΠ·Π½Π°Π΅ΡΒ», ΠΊΡΠ΄Π° ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ? ΠΠ° ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ HEAD. HEAD ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ, ΠΎΡΠΊΡΠ΄Π° Π²Π·ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ, ΡΡΠΎ Π΅ΡΠ΅ Π²Π°ΠΆΠ½Π΅Π΅, ΠΊΡΠ΄Π° ΡΠΈΠΊΡΠΈΡΡΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ HEAD ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π²Π΅ΡΠ²Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²ΡΠ³ΡΡΠ·ΠΊΠΈ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π° HEAD Π² CVS ΠΊΠ°ΠΊ Π²Π΅ΡΡΠΈΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π΅ΡΠ²ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠΎΠΌΠ°Π½Π΄Π° tag
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π΄ΡΠ΅ΡΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ΅Π³ (tag) β ΡΡΠΎ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ, Π·Π°ΠΌΠ΅Π½ΡΡΡΠΈΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ ΠΈ ΡΡΠ»ΡΠΊΠ°ΠΌΠΈ. HEAD β ΡΡΠΎ Π²Π΅ΡΡΠΈΠ½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. HEAD^1 β ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° HEAD, HEAD^2 β Π²ΡΠΎΡΠΎΠΉ ΠΈ Ρ.Π΄.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠΌ. Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° gitrevisions. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ΅Π³ΠΈ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° Π²Π΅ΡΠ²Π΅ΠΉ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΎΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ (refnames). ΠΠΎΠΌΠ°Π½Π΄Π° reflog ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Π·Π° Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠΌΠ΅Π½ΠΈ, Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ (ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π²Π΅ΡΠ²ΡΡ) Π΄ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
ΠΠ΅ΡΠ²Π»Π΅Π½ΠΈΠ΅
ΠΠ΄Π΅Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΌΠΊΠ°. ΠΡΠΈΠΌΠ΅Π½ΡΡ Π²ΡΠΎΡΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈ ΡΠΎΠΌΡ ΠΆΠ΅ ΡΠ½ΠΈΠΌΠΊΡ, Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π½ΠΎΠ²ΡΠΉ, ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π Π΅ΡΠ»ΠΈ Π΅ΠΌΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ ΠΈΠΌΡ, ΡΠΎ ΠΎΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΠ²ΡΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 4. ΠΡΠΈΠΌΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ Π² Git
Π ΠΈΡΡΠ½ΠΎΠΊ 4 ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π²Π΅ΡΠ²Π΅ΠΉ Π² Git. ΠΠ΅ΡΠ²Ρ master, Π³Π΄Π΅ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ½ΠΈΠΌΠΎΠΊ F. ΠΡΡΠ³Π°Ρ Π²Π΅ΡΠ²Ρ, old, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠΎΠΌΡ ΡΠ½ΠΈΠΌΠΊΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΎΡΠΊΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ΅ΡΠ²Ρ feature ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ β Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π² Π΄ΡΡΠ³ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«[B->D]Β». Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΡΠ½ΠΈΠΌΠΊΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ B Π΅ΡΡΡ Π΄Π²Π° ΠΏΠΎΡΠΎΠΌΠΊΠ°, Π΄Π²Π° Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ, β Π²Π΅ΡΠ²Ρ feature ΠΈ Π΄ΡΡΠ³Π°Ρ Π²Π΅ΡΠ²Ρ. ΠΠΎΠΌΠΌΠΈΡ Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π½ΠΎΠΌΠ΅Ρ 123.
ΠΠ΅ΡΠ²ΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch <branch name>
ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ HEAD ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch <branch name> <commit id>
ΠΊ Π»ΡΠ±ΠΎΠΉ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ½ΠΈΠΌΠΊΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠ²ΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ, ΠΏΡΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΎΠ±Π»Π°ΡΡΡ ΠΎΡΡΠ°Π΅ΡΡΡ Π² ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΠ²ΠΈ. Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ Π²ΡΠ³ΡΡΠ·ΠΈΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠ²Ρ. ΠΠΎΠΌΠ°Π½Π΄Π° git checkout -b <branch name>
ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠ²Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ Π² ΡΡΡ Π²Π΅ΡΠ²Ρ ΡΠ°Π±ΠΎΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ.
ΠΡΡΡ Π΅ΡΠ΅ Π΄Π²Π΅ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git diff <branch> -- <path>
, ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ (ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ;git checkout <branch> -- <path>
ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.
Π‘Π»ΠΈΡΠ½ΠΈΠ΅
ΠΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΅Π΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π²Π΅ΡΠ²Ρ feature. ΠΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Π³ΠΎΡΠΎΠ²Π°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²Π΅ΡΠ½ΡΡΡ Π΅Π΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠ²Ρ (master). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ³ΡΡΠ·ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠ²Ρ ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git merge <branch name>
. Π’ΠΎΠ³Π΄Π° git ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Ρ Π²ΡΠ³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Git ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅ Π½Π°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π²Π΅ΡΠ²ΠΈ feature ΠΊ Π²Π΅ΡΡΠΈΠ½Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π° Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡΠΈΡ Π΄Π²ΡΡ Π²Π΅ΡΠ²ΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
- ΠΡΡΡΡΠΎΠ΅ ΠΏΡΡΠΌΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅: Π² ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΊΠ°ΠΊ Π΄Π²Π΅ Π²Π΅ΡΠ²ΠΈ ΡΠ°Π·ΠΎΡΠ»ΠΈΡΡ. ΠΠ½Π° ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Git ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ Π²ΠΏΠ΅ΡΠ΅Π΄, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 5. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΡΠΎΠΌΠ΅ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠ²ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, Π² Git ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«Π±ΡΡΡΡΡΠΌ ΠΏΡΡΠΌΡΠΌ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌΒ».
Π ΠΈΡΡΠ½ΠΎΠΊ 5. ΠΡΡΡΡΠΎΠ΅ ΠΏΡΡΠΌΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅
- ΠΠ΅ΡΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅: ΠΈΠΌΠ΅ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ±Π΅ΠΈΡ Π²Π΅ΡΠ²ΡΡ , Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ±Π΅ΠΈΡ Π²Π΅ΡΠ²ΡΡ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. Git Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΠΊ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΡΠΈΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ°Ρ Π²Π΅ΡΠ²Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ ΠΊ ΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 6.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ β merge commit β ΠΈΠΌΠ΅Π΅Ρ Π΄Π²ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ Ρ Π½Π΅ ΠΎΡΠΌΠ΅ΡΠΈΠ» Π·Π΄Π΅ΡΡ Π½Π°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, Π½Π°Π±ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (E) ΠΈ (H) Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ Π²ΡΠ΅Ρ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π²Π΅ΡΠ²ΠΈ feature Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°ΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π²ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ, Π½ΠΎ ΡΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π·Π°Π²ΠΎΠ΄ΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄Π°Π»Π΅ΠΊΠΎ.
Π ΠΈΡΡΠ½ΠΎΠΊ 6. ΠΠ΅ΡΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅
- ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅: ΠΈΠΌΠ΅ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ±Π΅ΠΈΡ
Π²Π΅ΡΠ²ΡΡ
, ΠΈ ΠΎΠ½ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
git merge βabort
.
ΠΠ΄ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²ΡΡΠ²Π»ΡΡΡΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΊ ΠΎΠ±Π΅ΠΈΠΌ Π²Π΅ΡΠ²ΡΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. ΠΠ±ΡΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΎΠ±Π΅ΠΈΡ Π²Π΅ΡΠ²ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, Π½ΠΎ Ρ Git Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ°, ΡΡΠΎΠ±Ρ Π²ΡΡΠ²ΠΈΡΡ ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΈ ΡΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±ΡΡΡΡΠΎΠ΅ ΠΏΡΡΠΌΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅.
ΠΠΎΠ½ΡΡΠΈΠ΅ ΠΎΡΠΊΠ°ΡΠ° ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²Π΅Π΄Π΅Ρ Π΅ΡΠ΅ Π΄Π°Π»ΡΡΠ΅, ΠΊ ΡΠ°ΠΊΠΈΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ, ΠΊΠ°ΠΊ ΡΠ΄Π²ΠΈΠ³ (rebasing) ΠΈ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (cherry picking).
ΠΠ½ΠΎΠ³Π΄Π°, ΠΏΠΎΠΊΠ° Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄, Π½ΠΎ Π²Ρ ΠΏΠΎΠΊΠ° Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Ρ Π½Π΅ΠΉ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΎΠ±Π΅ Π²Π΅ΡΠ²ΠΈ Π±ΡΡΡΡΠΎ ΡΠ°ΡΡ ΠΎΠ΄ΡΡΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ ΠΊ Π΄ΡΡΠ³ΠΎΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Git ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΄Π²ΠΈΠ³Π° ΠΈ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π‘Π΄Π²ΠΈΠ³
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅, ΡΡΠΎ Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠ΄ΡΠΈ Π² Π½ΠΎΠ³Ρ Ρ Π³Π΅Π½Π΅ΡΠ°Π»ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΄Π²ΠΈΠ³ΠΎΠΌ Π²Π΅ΡΠ²ΠΈ Π²Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ; ΡΠΎΡΠΊΠ° ΡΠ°ΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π²Π΅ΡΠ²ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²Π²Π΅ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅ΡΠ²Π΅ΠΉ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Git Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠΈ Π΄ΡΡΠ³ΠΎΠΉ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 7, ΠΎΠ½ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π²Π΅ΡΠ²ΠΈ feature ΠΊ Π²Π΅ΡΡΠΈΠ½Π΅ Π²Π΅ΡΠ²ΠΈ master.
Π ΠΈΡΡΠ½ΠΎΠΊ 7. Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ
ΠΡΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ΅ ΠΈ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠ°ΡΠ΅ΠΌ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΡΠ²Π°ΡΡ.
Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ --onto
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΡΠ°ΡΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ Π½ΠΎΠ²ΠΎΠΌΡ ΡΠ½ΠΈΠΌΠΊΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.
ΠΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅, ΡΡΠΎ, ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, Π²Ρ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²Π²Π΅ΡΡΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π²Ρ ΠΏΠΎΠΊΠ° Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΈΠ»ΠΈ ΡΠΌΠ΅ΡΠ°ΡΡ Π²Π΅ΡΠ²ΠΈ. Git ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² Π΄ΡΡΠ³ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ cherry pick.
Π ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 8, Git ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π΅Π΄ΡΡΠΈΠΉ ΠΊ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΡΠ½ΠΈΠΌΠΊΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ HEAD, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠ°.
Π ΠΈΡΡΠ½ΠΎΠΊ 8. ΠΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΠΎΠ·Π²ΡΠ°Ρ
ΠΠΎΠΌΠ°Π½Π΄Π° revert
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ. revert
β ΡΡΠΎ ΠΏΠΎΡΡΠΈ cherry pick Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. Π‘ΠΌ. ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 9.
Π ΠΈΡΡΠ½ΠΎΠΊ 9. ΠΠΎΠ·Π²ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΠΎΠΌΠ°Π½Π΄Π° revert
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅ ΡΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±ΡΠΎΡΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠ²ΠΈ Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½ΠΎ ΡΡΠΎ Π²ΡΡ
ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ.
ΠΠΎΡΠ΅ΠΌΡ Ρ ΠΎΠΏΠΈΡΡΠ²Π°Ρ Π²ΡΠ΅ ΡΡΠΎ ΡΠ°ΠΊ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, ΠΊΠΎΠ³Π΄Π° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²Π°. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΡΡΠ²ΠΎΠΈΠ» ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·Π΄Π΅Π», Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΠΎΡΡΠΈ ΡΡΠ°Π·Ρ ΡΡΠ°Π½Π΅Ρ Π²ΡΠ΅ ΡΡΠ½ΠΎ. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅.
Π‘ΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ
Π ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²ΡΠ΅Π³Π΄Π° Π΅ΡΡΡ ΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ Π·Π° Π²Π΅ΡΠ²Ρ; ΠΎΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π Git Π½Π΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ½ΡΡΠΈΡ, ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠ²Ρ. ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, Π½ΠΎ ΡΠ°Π·Π²Π΅ Π²ΡΡΠ΅ Ρ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠ²Ρ? ΠΠ°, Π³ΠΎΠ²ΠΎΡΠΈΠ». ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠ²Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. ΠΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ Π² Π΄ΡΡΠ³ΠΎΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 10. ΠΠ²Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΡΠ»ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠΆΠ΅ Π΅ΡΡΡ, ΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git remote add
ΠΊ Π½Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠ°ΡΠ΅ΠΌ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ fetch
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π΅ΡΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠ²Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΠ²Ρ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΡΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠ΅ Π²Π΅ΡΠ²ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ Π²Π΅ΡΠ²Ρ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ (Π½ΠΎ Π½Π΅ ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΠ²Ρ), Git Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠ²Ρ ΠΈΠ· Π²Π΅ΡΠ²ΠΈ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ Π²ΡΠ³ΡΡΠΆΠ°Π΅Ρ Π΅Π΅.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ ΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ. ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 11 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠ³ΡΡΠ·ΠΊΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠ²Ρ master, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΠΈΡΡ Ρ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ merge.
Π ΠΈΡΡΠ½ΠΎΠΊ 11. ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠ° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± β ΠΊΠΎΠΌΠ°Π½Π΄Π° git clone
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ· ΡΠ»ΡΠΆΠ±Ρ Ρ
ΠΎΡΡΠΈΠ½Π³Π°. ΠΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΠ²ΠΈ (Π½ΠΎ Π΅ΡΠ΅ Π½Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ) ΠΈ Π²ΡΠ³ΡΡΠΆΠ°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠ²Ρ.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²Π΅ΡΠ²Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ β ΡΡΠΎ Β«ΠΏΡΠΎΡΡΠΎ Π²Π΅ΡΠ²ΡΒ», Π²ΡΠ΅, ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ Π²ΡΡΠ΅ ΠΎ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡΡ , ΡΠ»ΠΈΡΠ½ΠΈΡΡ ΠΈ Ρ.Π΄., ΠΏΠΎΡΡΠΈ Π±Π΅ΡΠΏΡΠ΅ΠΏΡΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΈ Π·Π΄Π΅ΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 12. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 12 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git fetch
; ΠΎΠ½Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π²Π΅ΡΠ²Ρ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠ²ΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ β git checkout master; git merge repo1/master
. ΠΠΎΡΠ»Π΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΡ FETCH_HEAD
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ»ΠΈΡΠ½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ»ΡΠΊΠ° ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, git merge FETCH_HEAD
. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ Π²ΡΡΠ΅, ΡΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π±ΡΡΡΡΠΎΠΌΡ ΠΏΡΡΠΌΠΎΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π±Π΅ΡΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΎΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈΠ»ΠΈ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π²ΡΡΡΠ½ΡΡ.
ΠΠΎΠΌΠ°Π½Π΄Π° git pull
ΡΠ΄ΠΎΠ±Π½Π° ΡΠ΅ΠΌ, ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ±Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ fetch
ΠΈ merge
.
ΠΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, ΠΈΡ
Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠ²Ρ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ push
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠ²Ρ. ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ fetch
, Π° Π½Π΅ pull
. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, ΡΠ°ΠΊ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½Π°Ρ Π²Π΅ΡΠ²Ρ Π² Π΄ΡΡΠ³ΠΎΠΌ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 13. ΠΠΎΠΌΠ°Π½Π΄Π° push
ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΠ²ΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 13. ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅. ΠΡΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ push ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π±ΡΡΡΡΠΎΠΌΡ ΠΏΡΡΠΌΠΎΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ ΡΠΆΠ΅ Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (ΠΊΠΎΠΌΠΌΠΈΡΡ) ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΈΠ»ΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΡΠ΅ΡΠΎΠ². Π’ΠΎΠ³Π΄Π° Git ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ push ΠΈ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΊΠ°ΠΊ Π΅ΡΡΡ. ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΡ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΏΠΎΠΏΡΡΠΊΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅, Π° ΠΌΠΎΠΆΠ½ΠΎ β ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² Π½ΠΎΠ²ΡΡ, ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.
ΠΠΎΠΌΠΈΠΌΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ fetch ΠΈ push, Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ; ΡΡΠ°ΡΠ°Ρ Π΄ΠΎΠ±ΡΠ°Ρ ΠΏΠΎΡΡΠ°. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git format-patch <start-name>
, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π²Π΅Π΄ΡΡΠΈΠΉ ΠΎΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²Π΅ΡΠ²ΠΈ. ΠΠΎΠΌΠ°Π½Π΄Π° git am <mail files>
ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ.
ΠΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΡ
ΠΠ΄Π½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅: Π½Π΅ ΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ push Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π³Π΄Π΅ ΠΊΡΠΎ-ΡΠΎ ΡΠΆΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΠ²Ρ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π½Π΅ΠΉ. ΠΡΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΡΡΠ°Π½ΠΈΡΠ΅ Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²Π΅ΡΠ²ΡΠΌΠΈ β Git ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡ Π²Π°Ρ ΠΎΠ± ΡΡΠΎΠΌ ΠΈ ΠΏΠΎΠΏΡΠΎΡΠΈΡ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pull
.
Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΌΠ΅ΡΠ°ΡΡ Π²Π΅ΡΠ²Ρ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ. ΠΠ½Π° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ, ΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ push
Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ. ΠΡ Π½Π°ΡΡΡΠΈΠ»ΠΈ ΡΡΡΡΠΊΡΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ Git
Π ΠΈΡΡΠ½ΠΎΠΊ 14. ΠΡΠΈΠΌΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ
ΠΠ±ΡΡΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Git ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΡΡΡΠΊΡΡΡΠ° Π² ΡΠΎΡΠΌΠ΅ Π·Π²Π΅Π·Π΄Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»ΡΠΆΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ, ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎ ΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΡΠΈΠ½Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 14.
ΠΡΡΠ΅ Ρ ΠΎΠΏΠΈΡΠ°Π» ΡΠ΄Π²ΠΈΠ³ ΠΊΠ°ΠΊ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠ²Π΅ΡΡ
Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ (ΠΈΠ»ΠΈ ΡΠ°ΡΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ) ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Git Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π Π°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ git rebase -i
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ (squash). ΠΡΠΎΠ³ΠΎ Π½Π΅Π»ΡΠ·Ρ Π΄Π΅Π»Π°ΡΡ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ β ΠΈΠ½Π°ΡΠ΅ ΡΠ΅, ΠΊΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π½ΠΈΠΌΠΈ, ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
Π― ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π», ΠΊΠ°ΠΊ Π²ΡΠ³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π²Π΅ΡΠ²Ρ, Π½ΠΎ Π²ΡΠ³ΡΡΠ·ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ). Π’ΠΎΠ³Π΄Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ, Π° Π½Π΅ Π½Π° Π²Π΅ΡΠ²Ρ. ΠΡΠΎΡ ΡΠ΅ΠΆΠΈΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ detached HEAD. ΠΡΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π²Ρ ΡΠΎΠ²Π΅ΡΡΠ°Π΅ΡΠ΅ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅, Π½ΠΎ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΈΠΌΡ ΡΡΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ. ΠΠ΅ΡΡΠΈΠ½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°; Ρ Π½Π΅Π΅ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ refname. ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠ²Ρ ΠΎΡ ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch <branchname>
.
Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΡΠ΅ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅? ΠΡΠ»ΠΈ Π½Π΅ Π΄Π΅Π»Π°ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ, ΡΠΎ ΠΎΠ½ΠΈ ΠΎΡΡΠ°Π½ΡΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ β ΠΈ ΡΠ»ΡΠΆΠ±Ρ Ρ
ΠΎΡΡΠΈΠ½Π³Π° ΡΠ°ΠΊ ΠΈ Π΄Π΅Π»Π°ΡΡ β Π·Π°ΠΏΡΡΡΠΈΡΡ git gc
, ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° Git Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π½Π΅Π½ΡΠΆΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎΠΌΠΌΠΈΡΡ, Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π½ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ, Π½Π΅ Π½ΡΠΆΠ½Ρ ΠΈ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΡΡΡΡΠΎ ΠΈ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΠ²ΠΈ Π² Git.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Git ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ , Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΡΠ΅Π»ΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: Git ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈ ΠΎΡΠΌΠ΅Π½ΡΡΡ ΡΡΠΈ Π½Π°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π²Π΅ΡΠ²ΡΠΌΠΈ. ΠΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ Π²Π΅ΡΠ²ΡΠΌΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π΅ΡΠΊΠ°Π»ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.
ΠΠ° ΡΡΠΎΠΌ Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΡΠ²ΠΎΠΉ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΡΠ°Π±ΠΎΡΡ Ρ Git. ΠΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΡ
Π²Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅, ΡΡΠΎ Ρ Π΄Π΅Π»Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Git. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ
ΡΡΡΠ°Π½ΠΈΡΠ°Ρ
, Π° Π·Π½Π°Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π΄Π΅ΡΡ, ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ
. Π ΡΠΎΠΌΡ ΠΆΠ΅ ΡΠ΅Π½Π½ΡΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π΄Π°Π»ΡΡΠ΅, ΡΠ°ΡΡΠΎ Π΄Π°ΡΡ ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ git status
.
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠΈΠΉ ΠΏΠΎΠ½ΡΡΡ Git, β ΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ gitk, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ gitk --all
, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ Π²Π΅ΡΠ²ΠΈ, ΡΠ΅Π³ΠΈ ΠΈ Ρ.ΠΏ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² Git.
ΠΠ±ΡΡΠ½ΠΎ Π½Π° Linux-ΡΠΈΡΡΠ΅ΠΌΠ΅ Git ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠ»Ρ Windows Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Git.
Π― Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π²Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Git, ΠΈ Π½Π΅ Π±ΠΎΠΈΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π³ΠΈΠ±ΠΊΠΎΡΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π΄ΠΈΡΠΊΡΡΡΠΈΠΈ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ ΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π·ΠΈΡ Π½Π° ΡΡΡ ΡΡΠ°ΡΡΡ ΠΌΠΎΠ΅ΠΌΡ ΠΊΠΎΠ»Π»Π΅Π³Π΅ ΠΠΈΡΠΎΠ»ΡΠ΄Ρ Π©Π΅ΠΏΠΎΠ½ΠΈΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π½Π°Π΅Ρ Git Π΅ΡΠ΅ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Ρ.
Π Π΅ΡΡΡΡΡ Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΠ΅ΠΌΡ
Π Π°Π±ΠΎΡΠ° ΡΒ Git ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ β ΠΠ»ΠΎΠ³ HTML Academy
ΠΡΠ°ΠΊ, Π²ΡΒ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅: ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΡΠΊ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π²Β GitHub, ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ ΠΈΒ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠ» Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅.Π§ΡΠΎ Π·Π°Β GitHub, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π·Π°ΡΠ΅ΠΌ, Π°Β Π³Π»Π°Π²Π½ΠΎΠ΅, ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ? ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ.
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Git
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ.
Π’Π°ΠΊ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΒ ΡΠΎΠ³ΠΎΒ ΠΆΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π½Π½ΠΈΠΌΠΈ ΠΈΒ ΠΏΠΎΠ·Π΄Π½ΠΈΠΌΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ, Π²Π½ΠΎΡΠΈΡΡ ΠΈΒ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π‘ΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΒ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΒ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ, Π³Π΄Π΅ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊΒ ΠΌΠ΅ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅Β ΡΠ°ΠΊ.
ΠΠ΄Π½Π° ΠΈΠ·Β ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Git. ΠΡΒ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡΒ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΒ β ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ°Π±ΠΎΡΠ° ΡΒ Git Π²Π΅Π΄ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΒ ΡΠ°Π·Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΒ Git.
ΠΒ Windows ΠΈΡ Β Π΄Π²Π΅: PowerShell ΠΈΒ cmd.exe. ΠΒ Ubuntu ΡΡΠΎ Terminal. Π‘Π°ΠΌΠ°Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°Β macOS ΡΠΎΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Terminal. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅Β ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π²Β ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ, Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π°Β JavaScript ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Hyper, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Β Π»ΡΠ±ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ°Β Windows ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Cmder ΠΈΒ Git Bash, Π°Β Π½Π°Β macOSΒ β iTerm.
ΠΒ ΠΌΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°Π·ΡΠ²Π°ΡΡ Β«ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Β» ΠΈΠ»ΠΈ Β«ΠΊΠΎΠ½ΡΠΎΠ»ΡΒ». ΠΒ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠΎ ΡΠ°ΠΊ: ΠΌΡΒ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΒ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅Π°ΠΊΡΠΈΡ ΠΌΠ°ΡΠΈΠ½Ρ: ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Β ΠΎΡΠΈΠ±ΠΊΠ΅, Π·Π°ΠΏΡΠΎΡ Π½Π°Β ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Git
ΠΡΠ»ΠΈ ΡΠ°Π½ΡΡΠ΅ Π²ΡΒ Π½Π΅Β ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΒ Git, ΡΠΏΠ΅ΡΠ²Π° Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ. Π‘ΠΏΠΎΡΠΎΠ±Ρ Π·Π°Π²ΠΈΡΡΡ ΠΎΡΒ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²Β Linux
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π²Π°ΡΠ΅Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈΒ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
- ΠΡΠ»ΠΈ ΡΒ Π²Π°Ρ 21Β ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ Fedora, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
yum install git
. - ΠΠ»Ρ 22Β ΠΈΒ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π²Π΅ΡΡΠΈΠΉ Fedora Π²Π²ΠΎΠ΄ΠΈΡΠ΅
dnf install git
. - ΠΠ»Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ², ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ
Π½Π°Β Debian, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ubuntu, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
apt-get: sudo apt-get install git
.
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π΄Π΅ΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π°Β macOS
- Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ Git ΡΠΎΒ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
- ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ».
- Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΎΠΊΠ½ΠΎ ΡΒ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ, ΡΡΠΎ ΡΠ°ΠΉΠ» ΡΠΊΠ°ΡΠ°Π½ ΡΒ Π½Π΅Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° ΠΈΒ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡ Π½Π΅Β ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½. ΠΒ ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π²Β Β«Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π½Π°ΡΡΡойки» β Β«ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΒ» (Security and Privacy), Π²Β ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Β ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈΒ ΠΊΠ½ΠΎΠΏΠΊΠ° Open anyway (ΠΡΡ ΡΠ°Π²Π½ΠΎ ΠΎΡΠΊΡΡΡΡ). ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ.
- Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΎΠΊΠ½ΠΎ, ΡΡΠΎΡΠ½ΡΡΡΠ΅Π΅ Ρ ΠΎΡΠΈΡΠ΅Β Π»ΠΈ Π²ΡΒ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ. ΠΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
- Π£ΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ ΠΏΡΠΎΠ²Π΅Π΄ΡΡ ΡΠ΅ΡΠ΅Π· Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°Π³ΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²Β Windows
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ exe-ΡΠ°ΠΉΠ» ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡΠ° ΡΒ ΡΠ°ΠΉΡΠ° Git ΠΈΒ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π΅Π³ΠΎ. ΠΡΠΎ Git Π΄Π»Ρ Windows, ΠΎΠ½Β Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ msysGit. Π£ΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ ΡΠΏΡΠΎΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΒ Π»ΠΈ Π²Β ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ Git Bash (ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ) ΠΈΒ GUI (Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ). ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π΄Π°Π»Π΅Π΅ Π²Π΅ΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π²Β Git Bash. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠ½ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΒ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠΎΠ²Π΅ΡΠΈΠΌ, ΡΡΠΎ Git ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΒ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½Ρ, ΡΠ±Π΅Π΄ΠΈΠΌΡΡ, ΡΡΠΎ Git ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π²Β ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈΒ Π²Π²Π΅Π΄ΠΈΡΠ΅ git --version
, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°Β Π²Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. ΠΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Git
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Git ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π½ΡΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅, Π°Β ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠΌΡ ΠΈΒ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ. ΠΠ°ΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Β Git Π±ΡΠ΄ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈΒ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²ΠΎΡ ΠΈΠΌΡ:
git config --global user.name "Π²Π°ΡΠ΅ ΠΈΠΌΡ"
ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° Π²Π²ΠΎΠ΄ΠΈΡΠ΅:
git config --global user.email Π°Π΄ΡΠ΅Ρ
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Β ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
, ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
Π²ΡΡΠ΅, Π΅ΡΡΡ ΠΎΠΏΡΠΈΡ --global
. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π²Π°ΡΠΈΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π²Β Git ΠΈΒ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΈΡ
Β Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Β Π½Π°Π΄ΠΎ. ΠΡΠ»ΠΈ Π²ΡΒ Ρ
ΠΎΡΠΈΡΠ΅ ΠΌΠ΅Π½ΡΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠΎΒ Π²Β Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Π²ΠΎΠ΄ΠΈΡΠ΅ ΡΡΠΈΒ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΎΠ»ΡΠΊΠΎ Π±Π΅Π· ΠΎΠΏΡΠΈΠΈ --global
.
GitΒ β Π²ΡΠ΅ΠΌΡ Π³ΠΎΠ»ΠΎΠ²Π°
ΠΒ Π²ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅Β β Π½Π°Β ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΡΡΡΠ°Ρ ΠΏΠΎΒ HTML, CSS ΠΈΒ JavaScript.Β 11Β Π³Π»Π°Π² ΡΠ΅ΠΉΡΠ°Ρ ΠΈΒ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ.
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΠΠ°ΠΆΠ°ΡΠΈΠ΅ Π½Π°Β ΠΊΠ½ΠΎΠΏΠΊΡΒ β ΡΠΎΠ³Π»Π°ΡΠΈΠ΅ Π½Π°Β ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π°Β GitHub
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ GitHub?
GitHubΒ β Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π°Β ΡΠΈΡΡΠ΅ΠΌΠ΅ Git. ΠΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΠΎΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ΅ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²Π΅ΡΡΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ IT-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΈΒ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΆΠΈΠ΅ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π°Β Π½ΠΎΠ²ΠΎΡΡΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΌΠ΅Π½Π½ΠΎ Π²Β GitHub ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌΒ ΠΌΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΠΊΠ°Π΄Π΅ΠΌΠΈΠΈ, ΠΈΒ ΡΡΡΠ΄Π΅Π½ΡΡ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²ΠΎΠ².
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΒ GitHub, Π½ΡΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π°Β ΡΠ°ΠΉΡΠ΅, Π΅ΡΠ»ΠΈ Π²ΡΒ Π΅ΡΡ ΡΡΠΎΠ³ΠΎ Π½Π΅Β ΡΠ΄Π΅Π»Π°Π»ΠΈ. ΠΠ°Β Π΄Π΅Π»ΠΎ.
- ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π°Β ΡΠ°ΠΉΡ GitHub. CΡΠ°ΡΡΠΎΠ²Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° GitHub.
- ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ:
- ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ SignΒ up (Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ), ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π°Β ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, Π³Π΄Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ ΠΈΒ ΠΏΠ°ΡΠΎΠ»Ρ. ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠΌ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ. ΠΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ Π½Π°Β ΡΡΠ°ΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ GitHub.
- ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΒ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π°Β ΠΊΠ½ΠΎΠΏΠΊΡ Select aΒ plan. ΠΡΠΎΡΠΎΠΉ ΡΠ°Π³ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ Π½Π°Β ΡΡΠ°ΡΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ GitHub.
- Π’ΡΠ΅ΡΠΈΠΉ ΡΠ°Π³Β β Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠΏΡΠΎΡ ΠΎΡΒ GitHub, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΉΡΠΈ, Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ² Π²ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈΒ Π½Π°ΠΆΠ°ΡΡ Submit ΠΈΠ»ΠΈ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ, Π½Π°ΠΆΠ°Π² skip this step. ΠΠΏΡΠΎΡ Π½Π°Β ΡΡΠ΅ΡΡΠ΅ΠΌ ΡΠ°Π³Π΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ.
- ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΡΠ°ΠΏΠΎΠ² Π½Π°Β ΡΠ°ΠΉΡΠ΅, Π½Π°Β ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΡΠΈΠΊ Π²Π°ΠΌ ΠΏΡΠΈΠ΄ΡΡ ΠΏΠΈΡΡΠΌΠΎ ΠΎΡΒ GitHub. ΠΡΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ ΠΈΒ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ, Π½Π°ΠΆΠ°Π² Verify email address (ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ) ΠΈΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ ΠΈΠ·Β ΠΏΠΈΡΡΠΌΠ° ΠΈΒ Π²ΡΡΠ°Π²ΡΡΠ΅ Π΅ΡΒ Π²Β Π°Π΄ΡΠ΅ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ°.
- ΠΠΎΡΠ»Π΅ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ GitHub ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ»ΠΈ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΒ GitHub. ΠΡΠΎΡ ΠΏΡΠ½ΠΊΡ ΠΏΠΎΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΈΒ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π²Β ΠΏΡΠΎΡΠΈΠ»Ρ. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π²Β Π²Π°Ρ ΠΏΡΠΎΡΠΈΠ»Ρ.Π’Π°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²Π°Ρ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΒ Π²Π°Ρ Π΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ Π½Π°Β GitHub.
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ SSH-ΠΊΠ»ΡΡΠΈ
Git ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΏΡΠΎΡΠΈΠ»Ρ Π½Π°Β GitHub ΡΠΎΠ·Π΄Π°Π½. ΠΡΡΠ°Π»ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ SSH-ΠΊΠ»ΡΡ ΠΈΒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊΒ ΡΠ°Π±ΠΎΡΠ΅ ΡΒ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ SSH-ΠΊΠ»ΡΡ ΠΈΒ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½Β Π½ΡΠΆΠ΅Π½?
Π§ΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΒ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΡΒ GitHub, ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊΒ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌ, Ρ ΡΠ°Π½ΡΡΠΈΠΌΡΡ Π½Π°Β ΡΠ΅ΡΠ²ΠΈΡΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Β ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π±Π΅Π· ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΡΠΎΠ»Ρ, Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΡΒ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΒ ΡΡΠΎΠΌ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ SSH-ΠΊΠ»ΡΡΠΈ.
ΠΠ°ΠΆΠ΄ΡΠΉ SSH-ΠΊΠ»ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΡ: ΠΎΡΠΊΡΡΡΡΠΉ (ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ) ΠΈΒ Π·Π°ΠΊΡΡΡΡΠΉ (ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ) ΠΊΠ»ΡΡ. ΠΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π°Β ΡΠ΅ΡΠ²Π΅Ρ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅Β ΠΏΡΡΡΠ°ΡΡ ΠΎΡΒ Π²ΡΠ΅Ρ ΠΈΒ Π½Π΅Β ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΡΡ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ Π΅Π³ΠΎ ΡΠ²ΠΈΠ΄ΠΈΡ ΠΈΒ ΡΠΊΡΠ°Π΄ΡΡ. ΠΠ½Β Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π΅Π½ Π±Π΅Π· ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ°ΡΡΒ β Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°. ΠΒ Π²ΠΎΡ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡΒ β ΡΠ΅ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ°ΡΡΡ. ΠΠΎΡΡΡΠΏ ΠΊΒ Π½Π΅ΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΒ Π²Π°Ρ.
ΠΡΒ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π°Β ΡΠ΅ΡΠ²Π΅Ρ, Π³Π΄Π΅ Ρ ΡΠ°Π½ΠΈΡΡΡ Π²Π°Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΡΡΠΎ Π²ΡΒ ΡΡΠΎΒ Π²Ρ, ΡΠΎΒ Π΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°Ρ, ΠΈΒ Π΄Π°ΡΡ Π²Π°ΠΌ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΎΡΠ²Π΅Ρ. ΠΒ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΈΡΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΎΡΠ²Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΒ Π²Π°Ρ Π΅ΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ. ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΠ²ΡΠ·ΠΊΠΈ Π»ΠΎΠ³ΠΈΠ½-ΠΏΠ°ΡΠΎΠ»Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅ΠΉ. ΠΠ°Ρ ΠΏΠ°ΡΠΎΠ»Ρ ΠΊΡΠΎ-ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ·Π½Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ, Π°Β ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²Π°Ρ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ SSH-ΠΊΠ»ΡΡ, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ ΠΏΡΠΈΠ΄ΡΡΡΡ Π²Π·Π»ΠΎΠΌΠ°ΡΡ Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠΉΡΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΒ SSH-ΠΊΠ»ΡΡΡ, Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π½Π°ΠΉΡΠΈ ΡΠΆΠ΅ ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠ»ΡΡ Π½Π°Β ΡΠ²ΠΎΡΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
Π‘Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, Π΅ΡΡΡΒ Π»ΠΈ ΡΠΆΠ΅ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΊΠ»ΡΡ. ΠΠΎΒ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ SSH-ΠΊΠ»ΡΡΠΈ Ρ
ΡΠ°Π½ΡΡΡΡ Π²Β ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ~/.ssh
, ΠΏΠΎΡΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
- ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
- ΠΠ²ΠΎΠ΄ΠΈΠΌ
cd ~/.ssh
, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π²Β Π½ΡΠΆΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π²Β Π½ΡΠΆΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ
ls
, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π²Β ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π²Β Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΡΠ΅ΠΌ ΠΏΠ°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΒ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ Π²ΠΈΠ΄Π°ΠΈΠΌΡ
ΠΈΠΈΠΌΡ.pub
. ΠΠ±ΡΡΠ½ΠΎ ΠΈΠΌΡΒ βid_rsa
,id_dsa
,id_ecdsa
ΠΈΠ»ΠΈid_ed25519
. Π€Π°ΠΉΠ» ΡΒ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ.pub
β Π²Π°Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, Π°Β Π²ΡΠΎΡΠΎΠΉΒ β Π²Π°Ρ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ, ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.ssh
ΡΒ Π²Π°Ρ Π½Π΅Ρ, Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡ Β ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅. - ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊΠ»ΡΡ Π²
ssh-agent
(ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ»ΠΈ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ). ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΊΠ»ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉeval "$(ssh-agent -s)"
ΠΈΒ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΒ ΠΏΠΎΠΌΠΎΡΡΡssh-add ~/.ssh/your_key_name
, Π³Π΄Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π²Π΅ΡΠ½ΡΠΉ ΠΏΡΡΡ Π΄ΠΎΒ ΡΠ°ΠΉΠ»Π° ΡΒ ΠΊΠ»ΡΡΠΎΠΌ ΠΈΒ Π΅Π³ΠΎ ΠΈΠΌΡ. ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊΠ»ΡΡ Π²Β shh-agent. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠΉ:- ΠΡΠ»ΠΈ Π²ΡΒ Π·Π°Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ, ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡ
Β ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π²
~/.ssh/config
ΡΠ²ΡΠ·Ρ ΠΊΠ»ΡΡΠ° ΡΒ Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ. - ΠΡΠ»ΠΈ ΡΒ Π²Π°Ρ Windows ΠΈΒ Π²ΡΒ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Cmder, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
eval "$(ssh-agent -s)"
. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Β ΠΎΡΠΈΠ±ΠΊΠ΅: Β«eval Π½Π΅Β ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌΒ».ΠΒ Π‘mder Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°
ssh-agent
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρstart-ssh-agent
.ΠΡΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΡΠ°Π»Π°ΡΡ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²Β Git Bash.
- ΠΡΠ»ΠΈ ΡΒ Π²Π°Ρ macOS Sierra Π²Π΅ΡΡΠΈΠΈ 10.12.2 ΠΈΒ Π²ΡΡΠ΅, Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²Π°Ρ
~/.ssh/config
ΡΠ°ΠΉΠ», ΡΡΠΎΠ±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠ»ΡΡΠΈ Π²ssh-agent
ΠΈΒ Ρ ΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΡΠΎΠ»ΠΈ.Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa
ΠΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π²
ssh-agent
ΠΈΒ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΡΠΎΠ»Ρ ΠΊΒ Π½Π΅ΠΌΡ ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρssh-add -K ~/.ssh/id_rsa
. ΠΡΠ»ΠΈ ΡΒ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ»ΡΡΠ° Π΄ΡΡΠ³ΠΎΠ΅ ΠΈΠΌΡ, Π½Π΅Β Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡid_rsa
Π²Β ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½Π°Β ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. - ΠΡΠ»ΠΈ ΡΒ Π²Π°Ρ Linux, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅Π½Π°Π·Π½Π°ΡΠΈΡΡ Π΄Π»Ρ ~/.ssh ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
chmod 700 ~/.ssh/
- ΠΡΠ»ΠΈ Π²ΡΒ Π·Π°Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ, ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡ
Β ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π²
- ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π½ ΠΊΠ»ΡΡ, Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π°Β GitHub. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ·Β ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄:
- ΠΡΠ»ΠΈ Π²ΡΒ Π½Π°Β Windows
clip .
- ΠΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ macOS
pbcopy .
- ΠΠ°Β Linux ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
sudo apt-get install xclip
, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρxclip
, Π°Β Π·Π°ΡΠ΅ΠΌ Π²Π²Π΅Π΄ΠΈΡΠ΅xclip -sel clip . ΠΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
cat ~/.ssh/id_rsa.pub
, ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΏΡΡΠΌΠΎ Π²Β ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈΒ Π²ΡΒ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ ΠΎΡΡΡΠ΄Π°.
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΡΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΡΡΠΌ, ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»
id_rsa.pub
ΠΏΡΡΠΌΠΎ Π²Β ΠΏΠ°ΠΏΠΊΠ΅ ΠΈΒ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡΡΡΠ΄Π°. - ΠΡΠ»ΠΈ Π²ΡΒ Π½Π°Β Windows
- ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π½Π°Β ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΒ ΠΊΠ»ΡΡΠ°ΠΌΠΈ Π²Β Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»Π΅ Π½Π°Β GitHub.
Π‘ΡΡΠ°Π½ΠΈΡΠ° ΡΒ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ Π²Β Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»Π΅.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ New SSH key (Π½ΠΎΠ²ΡΠΉ SSH-ΠΊΠ»ΡΡ). ΠΠ²ΠΎΠ΄ΠΈΠΌ ΠΈΠΌΡ ΠΊΠ»ΡΡΠ° (ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π»ΡΠ±ΠΎΠ΅) Π²Β ΠΏΠΎΠ»Π΅ Title (Π½Π°Π·Π²Π°Π½ΠΈΠ΅), Π°Β Π²Β Key (ΠΊΠ»ΡΡ) Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ°ΠΌ ΠΊΠ»ΡΡ ΠΈΠ·Β Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°. Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Add SSH key (Π΄ΠΎΠ±Π°Π²ΠΈΡΡ SSH-ΠΊΠ»ΡΡ).
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π²Β ΡΠ²ΠΎΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ SSH-ΠΊΠ»ΡΡ.ΠΡΠ»ΠΈ Π²ΡΡ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π²Π΅ΡΠ½ΠΎ, Π²Β ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»ΡΡ.
Π£ΡΠΏΠ΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ, Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ, ΠΌΡΒ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΒ ΡΠ°ΠΌΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ.
Π Π°Π±ΠΎΡΠ° ΡΒ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΒ Π²Π°ΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ. ΠΠΎΒ ΡΡΡΠΈ, ΡΡΠΎ ΡΠ°Β ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ° ΡΒ HTML, CSS, JavaScript ΠΈΒ ΠΏΡΠΎΡΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΡΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΒ Π²Π°Ρ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π½ΠΎΒ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°Β ΡΠ΅ΡΠ²Π΅ΡΠ΅ GitHub. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΒ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ Π½Π°Β Π»ΡΠ±ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, Π½Π΅Β ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°Ρ, ΡΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΈΠ·Β Π²Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎΡΠ΅ΡΡΡΡΡΡΒ β Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ Π²Β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ Π²ΡΒ ΠΈΡ Β ΡΡΠ΄Π° ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅. ΠΠΎΒ ΠΎΠ±Β ΡΡΠΎΠΌ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΡΠ»ΠΈ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΡΡΠ΄ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π²Β ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°Π±ΠΎΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π½Π°Π·ΠΎΠ²ΡΠΌ Π΅Π³ΠΎ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ). ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅Ρ ΡΠ΅Π±Π΅ Π²Β ΠΏΡΠΎΡΠΈΠ»Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΒ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΒ ΠΊΠΎΠΏΠΈΠ΅ΠΉ. Π’Π°ΠΊΠ°Ρ ΠΊΠΎΠΏΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΡΠΊΠΎΠΌ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΡΠΊΒ β Π²Π°ΡΠ° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π²Β Π½ΡΠΌ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ΄ ΠΈΒ Π½Π΅Β Π±ΠΎΡΡΡΡΡ ΡΡΠΎ-ΡΠΎ ΡΠ»ΠΎΠΌΠ°ΡΡ Π²Β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΡΠΊ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ?
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π²Β Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π°Β Β«Π²ΠΈΠ»ΠΊΡΒ» ΡΒ Π½Π°Π΄ΠΏΠΈΡΡΡ fork. Π€ΠΎΡΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ ΠΈΒ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Β Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»Π΅ Π½Π°Β GitHub.
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΊ ΡΠ΅Π±Π΅ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²Π΅ΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΡΒ ΠΊΠΎΠ΄ΠΎΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. Π’ΡΡ Π½Π°ΠΌ ΠΈΒ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ SSH.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»Ρ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π²Β Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π³Π΄Π΅ Ρ ΠΎΡΠΈΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΏΠΊΡ ΡΒ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΠΈΒ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git clone [email protected]:your-nickname/your-project.git
ΠΡΠ»ΠΈ Π²ΡΒ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ SSH-ΠΊΠ»ΡΡΠΈ, Git Π½Π°ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π°Β Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΡΠ»ΠΈ Π²ΡΒ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ, Π²Β ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Error: Permission denied (publickey)
, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π²ΡΒ ΠΎΡΠΈΠ±Π»ΠΈΡΡ Π³Π΄Π΅-ΡΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎΒ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ SSH-ΠΊΠ»ΡΡΠ°. ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ Π½Π°Β Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°Π±Π·Π°ΡΠ΅Π² ΡΠ°Π½Π΅Π΅ ΠΈΒ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
ΠΡΠ»ΠΈ Π²ΡΒ Π½Π΅Β Ρ
ΠΎΡΠΈΡΠ΅ Π²ΡΡΡΠ½ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ Π°Π΄ΡΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΉΡΠΈ Π½Π°Β ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°ΠΆΠ°ΡΡ Π·Π΅Π»ΡΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Clone orΒ download (ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ), Π²ΡΠ±ΡΠ°ΡΡ Clone with SSH (ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΒ SSH) ΠΈΒ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π°Π΄ΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π²Β ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅. ΠΡΠΎΡ Π°Π΄ΡΠ΅Ρ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΠ°Π²ΠΈΡΡ Π²Β ΠΊΠΎΠΌΠ°Π½Π΄Ρ git clone
.
ΠΡΡΠ°ΡΠΈ, Π΅ΡΠ»ΠΈ Π²ΡΒ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΡΒ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΒ Π²Π°Ρ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π»ΠΎΡΡ ΠΎΡΒ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π²Β ΠΊΠΎΠ½ΡΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅:
git clone [email protected]:_your-nickname_/_your-project_.git folder_name
Π’Π΅ΠΏΠ΅ΡΡ, Π½Π°Β Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π²Β ΠΏΠ°ΠΏΠΊΠ΅ your_project
ΠΈΠ»ΠΈ Π²Β ΡΠΎΠΉ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΒ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ»Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ cΒ GitHub.
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΒ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, Π½Π°Π΄ΠΎ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π²Β Π΅Π³ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cd
, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°Β Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅: cd your-project
Π Π°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΏΡΠΈΠ½ΡΡΠΎ Π²Π΅ΡΡΠΈ Π²Β Π²Π΅ΡΠΊΠ°Ρ
. ΠΒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄Π½Π° Π²Π΅ΡΠΊΠ°. ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΌ Git, ΠΎΠ½Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ master
. ΠΠ±ΡΡΠ½ΠΎ Π²Β Π½Π΅ΠΉ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠ»ΠΈ Π²ΡΒ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π±Π°Π³, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π²Β ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, Π½ΠΎΒ Π½Π΅Β Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ»ΠΎΠΌΠ°ΡΡ ΠΊΠΎΠ΄ Π²Β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π²ΡΒ ΠΎΡΠ²Π΅ΡΠ²Π»ΡΠ΅ΡΠ΅ΡΡ ΠΈΠ· master
ΠΈΒ ΡΡΡΠ΄ΠΈΡΠ΅ΡΡ Π²Β ΡΠ²ΠΎΠ΅ΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠ΅. ΠΠ΄Π΅ΡΡ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ΄Π΅ΠΈ, Π½Π΅Β ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°Ρ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ»ΠΎΠΌΠ°Π΅ΡΡΡ. ΠΠ°ΠΆΠ΄Π°Ρ Π²Π΅ΡΠΊΠ°Β β ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ Π²ΡΠΎΡΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΡΠΎΠ³ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΡΠ΅ΠΌ ΡΠ½ΠΎΠ²Π° ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ ΡΒ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch
. ΠΠ½Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²Π΅ΡΠΎΠΊ, ΡΒ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡΒ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π²Β ΠΏΡΠΎΠ΅ΠΊΡΠ΅, ΠΈΒ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡ. ΠΡΠ»ΠΈ ΠΌΡΒ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌΡΡ Π² master
ΡΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ:
git checkout -b ΠΈΠΌΡ-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅ΡΠΊΠΈ
.
ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° Π½Π΅ master
, ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠΌΡΡ Π²Β ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ: git checkout master
. ΠΡΒ Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ, ΡΡΠΎΠ±Ρ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»Π° ΡΠ²Π΅ΠΆΡΡ, Π½Π°Β ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π²Β ΠΏΡΠΎΠ΅ΠΊΡΠ΅, ΠΏΠΎΡΠ»Π΅ git checkout
Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ.
ΠΡΠ»ΠΈ Π²ΡΒ ΠΎΡΠΈΠ±Π»ΠΈΡΡ Π²Β Π½Π°Π·Π²Π°Π½ΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΏΡΡΡΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΡ, Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: git branch -m ΡΡΠ°ΡΠΎΠ΅-ΠΈΠΌΡ-Π²Π΅ΡΠΊΠΈ Π½ΠΎΠ²ΠΎΠ΅-ΠΈΠΌΡ-Π²Π΅ΡΠΊΠΈ
.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²ΡΒ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π²Π΅ΡΠΊΡ, ΠΏΠΎΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π²Β Π½Π΅ΠΉ ΡΒ ΡΠ΅Π±Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΒ β Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ½Β Π½Π΅Β ΠΏΡΠΎΠΏΠ°Π» ΠΈΒ Π²Β ΠΈΡΠΎΠ³Π΅ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π²Β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΡΠ»ΠΈ Π²ΡΒ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅Β Π²ΠΎΒ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»Π°Ρ
, Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git status
. ΠΠ½Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Β Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅, Π°Β ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΏΠΈΡΠΎΠΊ ΡΒ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ, ΠΈΒ ΡΠΊΠ°ΠΆΠ΅Ρ Π½Π°Β ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈΒ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ (ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Ρ ΠΊΡΠ°ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ).
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π²Β Π½Π°Π±ΠΎΡ ΡΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git add ΠΈΠΌΡ-ΡΠ°ΠΉΠ»Π°
. ΠΡΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅, Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ Π΅Π³ΠΎ ΠΏΠΈΡΠ°ΡΡ, Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠ°ΡΡ Tab ΠΈΒ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΡΠ°ΠΌΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π²Π°ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠΈ ΠΊΒ ΡΠ°ΠΉΠ»Ρ.
ΠΡΠ»ΠΈ Π²ΡΒ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΎΠΌ, Π²Π²ΠΎΠ΄ΠΈΡΠ΅ git add -A
.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡΒ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΠΎΒ Π΅ΡΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΒ Π΄Π°ΡΡ ΠΈΠΌΒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git commit -m "Π²Π°ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅"
. Π’Π΅ΠΊΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΌ ΠΈΒ Π²Β ΡΠΎΒ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΎΒ ΡΠΎΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ (Π²Π½Π΅ΡΡΠ½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Β«Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠΌΡ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠ° Π²Β ReadmeΒ», Β«Π²Π²ΠΎΠ΄ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉΒ», Β«ΠΏΡΠ°Π²ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ Π²Β ΠΏΠΎΠΈΡΠΊΠ΅ Π³ΠΎΡΠΎΠ΄ΠΎΠ² Π½Π°Β ΠΊΠ°ΡΡΠ΅Β».
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ, Π²ΡΡ? ΠΠ½ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π²Β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈΒ Π²ΠΈΠ΄Π½Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ? ΠΠΎΠΊΠ° Π½Π΅Ρ. Π’Π΅Β ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡΒ Π²Π½Π΅ΡΠ»ΠΈ ΠΈΒ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈ, ΠΏΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½Ρ. ΠΡ Β Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π°ΡΡ Π½Π°Β GitHub.
Π§ΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (ΠΊΠΎΠΌΠΌΠΈΡΡ) Π²Β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π°Β GitHub, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push origin Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΡΠ΅ΠΊΡΡΠ΅ΠΉ-Π²Π΅ΡΠΊΠΈ
, Π³Π΄Π΅ origin
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΡΠΎΒ Π΅ΡΡΡ Π²Π°Ρ ΡΠΎΡΠΊ.
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π°Β ΡΡΡΠ°Π½ΠΈΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΎΡΠΊΠ° ΠΈΒ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ»ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ ΡΒ Π΄Π°Π½Π½ΡΠΌΠΈ Π²Β ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ? ΠΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π²Β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΡΠ±ΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ½ΡΡΡ ΠΈΠ»ΠΈ ΠΎΡΠ²Π΅ΡΠ³Π½ΡΡΡ. Π’Π°ΠΊΒ ΠΆΠ΅ ΠΈΒ ΡΒ ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡΠΎΠΌ. ΠΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΠΎΠ½Β Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π²ΡΡ ΠΈΒ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ»Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ°Β β ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ GitHub, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°Π²Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π²Β ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠΌΒ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π°Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΡΠ΅Ρ
Π»ΠΈΠ΄, Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊ. ΠΡΠ»ΠΈ ΠΊΒ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ Π½Π΅Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΈΒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·Β Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² master
Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΡΠ»ΠΈ Π²Β ΠΊΠΎΠ΄ Π½ΡΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ΅ΡΡΡ, ΠΈΒ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ½ΠΎΠ²Π° ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎΒ ΡΠ΅ΠΏΠΎΡΠΊΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ β ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅Β β ΠΊΠΎΠΌΠΌΠΈΡΒ β ΠΏΡΡ, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ Π·Π°Π½ΠΎΠ²ΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅Β Π½ΡΠΆΠ½ΠΎ. ΠΡΠ»ΠΈ Π²ΡΒ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΠ΅ Π²Π΅ΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π²Β ΡΠΎΠΉΒ ΠΆΠ΅ Π²Π΅ΡΠΊΠ΅ ΠΈΒ ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ Π΅ΡΡ Π½Π΅Β ΠΏΡΠΈΠ½ΡΡ, Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΡΡ Π²Β ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΈΠ·Β ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push origin Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΡΠ΅ΠΊΡΡΠ΅ΠΉ-Π²Π΅ΡΠΊΠΈ
.
ΠΡΒ ΠΈΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΠΊΠΎΠ΄, Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊ ΠΈΠ»ΠΈ ΡΠ΅Ρ Π»ΠΈΠ΄ ΠΎΠ΄ΠΎΠ±ΡΠΈΠ» Π²Π°ΡΠΈ ΠΏΡΠ°Π²ΠΊΠΈ ΠΈΒ ΠΏΡΠΈΠ½ΡΠ» ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ΄ Π²Β ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΡΡ, Π°Β Π²Β Π²Π°ΡΠ΅ΠΌ ΡΠΎΡΠΊΠ΅ Π½Π΅Ρ, Π²ΡΒ Π²Π΅Π΄Ρ Π½Π΅Β ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»ΠΈ ΡΠ²ΠΎΡ Π²Π΅ΡΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΒ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΊΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π»ΠΈ Π΅ΡΒ ΡΠ΅Π±Π΅ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΡΠΈΠ²Π΅Π΄ΡΠΌ ΡΠΎΡΠΊ Π²Β Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
- ΠΒ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git checkout master
, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π²master
. -
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°Π±ΠΈΡΠ°Π΅ΠΌ (ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π΅ΠΌ) ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·Β Π²Π΅ΡΠΊΠΈ
master
ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡgit pull academy master
.Academy
Π·Π΄Π΅ΡΡΒ β ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΡΠ°ΠΊΠΎΠ΅ ΠΈΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Β ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΠΠΊΠ°Π΄Π΅ΠΌΠΈΠΈ, Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ΠΠ°Π±ΠΈΡΠ°Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·Β ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΈΒ Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Π½Π΅Β Π·Π½Π°Π΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΡΒ ΡΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠ»ΠΊΡ Π½Π°Β ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:git remote add academy [email protected]:your-repo.git
ΠΠΌΠ΅ΡΡΠΎacademy
ΡΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΒ ΠΎΠ½ΠΎ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡΡ Π·Π°Β ΡΡΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ. - Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΆΠ΅ ΠΈΠ·Β ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ
master
Π²Β Π²Π°Ρ ΡΠΎΡΠΊ Π½Π°Β GitHub ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρgit push origin master
. ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Β ΡΠΎΡΠΊ.
ΠΠΎΡΠΎΠ²ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΡΠΊ ΠΈΒ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²Β Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ / Π₯Π°Π±Ρ
Rebase β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Ρ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ. ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ git ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΡΡΡΠ²Π°ΡΡ Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅ΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Π²ΠΈΠ΄ΡΡ ΡΠΌΡΡΠ»Π° ΠΎΡΠ²Π°ΠΈΠ²Π°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΆΠ΅ ΠΈ ΡΠ°ΠΊ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ Π²Π»Π°Π΄Π΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ merge. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Π±Ρ Ρ ΠΎΡΠ΅Π» ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΡΠ΅ΠΎΡΠΈΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ rebase.Π’Π΅ΠΎΡΠΈΡ
ΠΡΠ°ΠΊ, ΠΎΡΠ²Π΅ΠΆΠΈΠΌ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ rebase. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π²ΠΊΡΠ°ΡΡΠ΅ β Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄Π²Π΅ Π²Π΅ΡΠΊΠΈ β master ΠΈ feature, ΠΎΠ±Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅, feature Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° ΠΎΡ master Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ A ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΊΠΎΠΌΠΌΠΈΡΡ C, D ΠΈ E. Π Π²Π΅ΡΠΊΡ master ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡ Π½Π΅Π΅ Π²Π΅ΡΠΊΠΈ feature Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ 1 ΠΊΠΎΠΌΠΌΠΈΡ B.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ rebase master Π² Π²Π΅ΡΠΊΠ΅ feature, Π΄Π΅ΡΠ΅Π²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ C’, D’ ΠΈ E’ β Π½Π΅ ΡΠ°Π²Π½Ρ C, D ΠΈ E, ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Ρ Π΅ΡΠΈ, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (Π΄Π΅Π»ΡΡΡ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ Π² ΡΠ΅Π±Π΅ Π½Π΅ΡΡΡ, Π² ΠΈΠ΄Π΅Π°Π»Π΅ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅. ΠΡΠ»ΠΈΡΠΈΠ΅ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΡΡ Π±Π°Π·Ρ (Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β A, Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ β B), ΠΎΡΠ»ΠΈΡΠΈΡ Π² Π΄Π΅Π»ΡΡΠ°Ρ , Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ, ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ, Π²ΠΎΠ·Π½ΠΈΠΊΡΠΈΡ ΠΏΡΠΈ rebase. ΠΠ± ΡΡΠΎΠΌ ΡΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π΄Π°Π»Π΅Π΅.
Π’Π°ΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ²ΡΠΌ, ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Π²Π΅ΡΠΊΠΈ feature Π² master Π²Π΅ΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π° ΠΏΠΎ fast-forward, ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠ΄ Π² Π²Π΅ΡΠΊΠ΅ feature Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡΡΠ°Π»Π΅Π½, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² Π²Π΅ΡΠΊΠ΅ master Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅ B.
ΠΡΠΎΡΠ΅ΡΡ rebase-Π° Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΠΎΠΉ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅ΡΠ΅Π²ΠΎ 1 ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΎΡΡ Π² Π΄Π΅ΡΠ΅Π²ΠΎ 2?
ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΠΏΠ΅ΡΠ΅Π΄ rebase Π²Ρ Π½Π°Ρ ΠΎΠ΄ΡΠ΅ΡΡ Π² Π²Π΅ΡΠΊΠ΅ feature, ΡΠΎ Π΅ΡΡΡ Π²Π°Ρ HEAD ΡΠΌΠΎΡΡΠΈΡ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ feature, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΌΠΎΡΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ E. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²Π΅ΡΠΊΠΈ master Π²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ:
git rebase master
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° git Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ β ΠΎΠ±ΡΠΈΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΡΠΈΡ Π΄Π²ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ A. ΠΠ°Π»Π΅Π΅ Π΄Π²ΠΈΠ³Π°ΡΡΡ Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ HEAD git Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΠ°Π·Π½ΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π³Π΅ ΠΌΠ΅ΠΆΠ΄Ρ A ΠΈ Π‘, Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π΅ ΞAC. ΠΡΠ° Π΄Π΅Π»ΡΡΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²Π΅ΡΠΊΠΈ master. ΠΡΠ»ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡ C’, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ C’ = B + ΞAC. ΠΠ΅ΡΠΊΠΈ master ΠΈ feature ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΡΠΌΠ΅ΡΠ°ΡΡΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ, HEAD ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (C’), ΠΏΡΠΈΠ²ΠΎΠ΄Ρ Π²Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Β«ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΡΒ» (detached HEAD).
Π£ΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π² ΠΊΠΎΠΌΠΌΠΈΡ C’, git ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β ΞCD. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π½ΠΈΠΉ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ C’ Π²ΠΎΠ·Π½ΠΈΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ. ΠΡΠΎΡΠ΅ΡΡ rebase ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ (ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, Π½Π°Π±ΡΠ°Π² git status Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΡΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ detached HEAD). ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΞCD Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΈ (ΠΊΡΠΎΠΌΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΡ
) ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ (ΠΏΡΠ½ΠΊΡΠΈΡΠΎΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π° stage-Π·ΠΎΠ½Π°):
ΠΠ°Π»Π΅Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
1. ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ rebase Π½Π°Π±ΡΠ°Π² Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
git rebase --abort
ΠΡΠΈ ΡΡΠΎΠΌ ΠΌΠ°ΡΠΊΠ΅Ρ HEAD, Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° Π²Π΅ΡΠΊΡ feature, Π° ΡΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΠ²ΠΈΡΠ½ΡΡ Π² Π²ΠΎΠ·Π΄ΡΡ Π΅ (Π½Π° Π½ΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ) ΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠΊΠΎΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Ρ.
2. Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π² Π²Π°ΡΠ΅ΠΌ Π»ΡΠ±ΠΈΠΌΠΎΠΌ merge-tool’Π΅, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π½Π°Π±ΡΠ°Π² git add %filename%
. ΠΡΠΎΠ΄Π΅Π»Π°Π² ΡΡΠΎ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ rebase-Π° Π½Π°Π±ΡΠ°Π² Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
git rebase --continue
ΠΡΠΈ ΡΡΠΎΠΌ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ, Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠΌΠΌΠΈΡ D’ ΠΈ rebase ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅Ρ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΡΠ°Π³Ρ.
3. ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° B ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° D ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠΈΠΌΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ Β«ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅Β» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π΅Π»Π°Π½Ρ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅ B, ΡΠΎ Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π½Π°Π±ΡΠ°Π² git rebase --continue
, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ΅ΡΠΈΠ² ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ Π½Π΅Ρ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° D’, Π½Π°Π±ΡΠ°Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git rebase --skip
ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΞDE Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ E’, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠΊΠΈ feature Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ E’, Π° HEAD ΡΡΠ°Π½Π΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π²Π΅ΡΠΊΡ feature β ΡΠ΅ΠΏΠ΅ΡΡ, Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π½Π° Π²ΡΠΎΡΠΎΠΌ ΡΠΈΡΡΠ½ΠΊΠ΅, rebase ΠΎΠΊΠΎΠ½ΡΠ΅Π½. Π‘ΡΠ°ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ C, D ΠΈ E Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ.
ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ rebase-Π°, Π±ΡΠ΄ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ ΠΎΠ± ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΌ Π°Π²ΡΠΎΡΠ΅ ΠΈ Π΄Π°ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Author), ΡΠ°ΠΊ ΠΈ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅, ΡΠ΄Π΅Π»Π°Π²ΡΠ΅ΠΌ rebase (Commiter):
commit 0244215614ce6886c9e7d75755601f94b8e19729 Author: sloot69 <***@****.com> AuthorDate: Mon Nov 26 13:19:08 2012 +0400 Commit: Alex <***@****.com> CommitDate: Mon Nov 26 13:33:27 2012 +0400
Π‘ Π½Π΅Π±Π΅Ρ Π½Π° Π·Π΅ΠΌΠ»Ρ β rebase Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ±ΡΡΠ½ΠΎ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π΅ Ρ Π΄Π²ΡΠΌΡ Π²Π΅ΡΠΊΠ°ΠΌΠΈ, Π° Ρ ΡΠ΅ΡΡΡΡΠΌΡ Π² ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅: master, origin/master, feature ΠΈ origin/feature. ΠΡΠΈ ΡΡΠΎΠΌ rebase Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΊΠ°ΠΊ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠΊΠΎΠΉ ΠΈ Π΅Π΅ origin-ΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ feature ΠΈ origin/feature, ΡΠ°ΠΊ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ feature ΠΈ master.
Rebase Π²Π΅ΡΠΊΠΈ Ρ origin-ΠΎΠΌ
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ rebase, ΡΠΎ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ Ρ ΡΠ΅Π±Π΅ΠΉΠ·Π° ΡΠ²ΠΎΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²Π΅ΡΠΊΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΅Π΅ ΠΊΠΎΠΏΠΈΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΈ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ merge. ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠΌΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ β 3 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π΅ΡΠΊΠΎΠΉ master Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΈ. ΠΠ΅Π»Π°Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΌΠΈΡΡ Π½Π° ΡΠ²ΠΎΠΈΡ
ΠΌΠ°ΡΠΈΠ½Π°Ρ
ΠΎΠ½ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎ 1 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π΅ΡΠΊΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΡ
Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΡΠΎΡΠΎΠΉ ΠΈ ΡΡΠ΅ΡΠΈΠΉ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΡΡ Ρ ΡΠ΅ΠΌ ΡΡΠΎ Π²Π΅ΡΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ git push origin master
, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π΅ΠΉ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠ±Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° (2 ΠΈ 3) Π΄Π΅Π»Π°ΡΡ git pull origin master
, ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ merge-ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ ΡΠ΅Π±Ρ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΈ. ΠΡΠΎΡΠΎΠΉ Π΄Π΅Π»Π°Π΅Ρ git push ΠΏΠ΅ΡΠ²ΡΠΌ. Π’ΡΠ΅ΡΠΈΠΉ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ½ΠΎΠ²Π° ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ ΡΠ½ΠΎΠ²Π° Π΄Π΅Π»Π°Π΅Ρ git pull, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ merge-ΠΊΠΎΠΌΠΌΠΈΡ. Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΡΡΠ΅ΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΡΠΉ git push origin master
. ΠΡΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° github, ΡΠΎ network, ΡΠΎ Π΅ΡΡΡ Π³ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
Π’ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΈΡΡ Π² 6 (Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π΅ ΡΡΠΈΡΠ°Π΅ΠΌ), ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΎ Π·Π°ΠΏΡΡΠ°Π½Π°, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΎΠΊ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π»ΠΈΡΠ½ΡΡ. ΠΡΠ»ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²Π΅ΡΠΎΠΊ ΠΈ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π³ΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ:
ΠΠ½Π°Π»ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΊΠΎΠΌ Π³ΡΠ°ΡΠ΅ Π½Π΅ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π½ΠΎ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎΠ΅ Π·Π°Π½ΡΡΠΈΠ΅. ΠΠ°ΠΊ ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ rebase?
ΠΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠΎ git pull origin master
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ git pull --rebase origin master
, ΡΠΎ Π²Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ C, D ΠΈ E ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Ρ Π½Π°Π²Π΅ΡΡ
ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²Π΅ΡΠΊΠΈ origin/master, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π±Π΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ
Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git push origin master
. Π’ΠΎ Π΅ΡΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠΆΠ΅ ΡΠ°ΠΊ:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, Β«Π»ΠΈΡΠ½ΠΈΡ
Β» merge-ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ, Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅ C Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° C’. Π‘Π°ΠΌ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ C ΠΎΡΡΠ°Π»ΡΡ Ρ Π²Π°Ρ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΈ, Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ Π±ΡΠ» ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΡΠΎΠ»ΡΠΊΠΎ C’. ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π²ΠΎΠ·ΡΠΌΡΡ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ git pull --rebase
, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· Π²Π΅ΡΠΎΠΊ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ.
ΠΠ°ΠΊ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π²Π΅ΡΠΊΠΎΠΉ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ rebase, Ρ ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡ rebase-Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΎΡΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π΅ΡΠΊΠΈ master Π±ΡΠ» ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΡΠ°ΡΡΠΈ. ΠΠ³ΠΎΠ²ΠΎΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ rebase ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π³ΠΎΠ² ΡΠ°Π²Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π²Π°ΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅. ΠΠ΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ merge, ΡΠ°ΡΡΠ΅Ρ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΡΠΎΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ (master). ΠΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ rebase Π΄Π»Ρ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠΈΡ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²Π΅ΡΠΎΠΊ. ΠΠΎ Π΅ΡΠ»ΠΈ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π²Π΅ΡΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π» Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ? ΠΡΠ»ΠΈ Π΄Π΅Π»Π°ΡΡ push ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΠ½ΡΡΡ ΠΏΠΎ fast-forward, Π° Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠ°ΠΊ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ:
Π’ΡΡ Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ, Π½Π°Π±Π΅ΡΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git push origin feature --force
Force-ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π²Π΅ΡΠΊΠΈ feature Π½Π° origin ΠΈ Π½Π°ΡΠΈΠ»ΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠΊΠΈ Π½Π° ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ, ΡΡΠΎ ΠΈ Π²Π°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ.
ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ! ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π²Π΅ΡΠΊΠΈ, ΡΠΎ force-push Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Π΄Π»Ρ Π²ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΎΠΊ, ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π». ΠΡΠΈ ΡΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π² Π½Π΅Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ. Π’ΠΎ Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π½Π΅ ΡΡΠΏΠ΅Π»ΠΈ Π·Π°ΡΡΠ½ΡΡΡ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ Π² origin-Π΅. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ β ΡΠ±ΡΠΎΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π²Π΅ΡΠΊΠΈ. ΠΡΠ° ΡΠΈΡΡΠ°ΡΠΈΡ ΠΏΠΎΠΏΡΠ°Π²ΠΈΠΌΠ° β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π½Π°ΠΉΡΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΡΡΠΈΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π½Π΅Π΅ ΠΈΠ»ΠΈ ΡΠΆΠ΅ ΡΡΠΏΠ΅Π» ΠΈΡ Π·Π°Π±ΡΠ°ΡΡ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ push, Π²Π½ΠΎΠ²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π² ΠΈΡ Π½Π° origin. ΠΠΎ Π²ΡΡ ΡΡΠ° ΠΌΠΎΡΠΎΠΊΠ° Π²Π°ΠΌ Π½ΠΈ ΠΊ ΡΠ΅ΠΌΡ, ΡΠ°ΠΊ ΡΡΠΎ Π»ΡΡΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ.
ΠΠ°Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°, Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ pull, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΠ»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Π»ΠΈ push. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ feature ΠΈ origin/feature ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΡΠ»ΠΈ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΡΠΉ git pull origin feature
, ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΎΠΉ ΠΈ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ merge. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ°ΡΠ°Ρ ΠΈ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΠΌΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΌ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°:
git pull --rebase origin feature
ΠΠ½Π° Π·Π°Π±Π΅ΡΠ΅Ρ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ feature ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Π½Π° Π΅Π΅ Π²Π΅ΡΡΠΈΠ½Ρ.
ΠΠΎΠΎΠ±ΡΠ΅
git pull --rebase origin feature
β ΡΡΠΎ Π±Π΅Π·ΠΏΡΠΎΠΈΠ³ΡΡΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ rebase Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ fast-forward.Π Π΅ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² master
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π² ΡΡΠΈΠ»Π΅ rebase. ΠΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π² Π²Π΅ΡΠΊΡ master ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ git merge feature. ΠΠ΅ΡΠΊΠ°, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½Π°Ρ rebase-ΠΎΠΌ Π²ΠΎΠ»ΡΠ΅ΡΡΡ Π² master ΠΏΠΎ fast-forward, ΡΠΎ Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ Π²ΠΏΠ΅ΡΠ΅Π΄.
ΠΠ΄Π½Π°ΠΊΠΎ, Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β ΠΏΠΎΡΠ»Π΅ merge ΠΏΠΎ fast-forward Π±ΡΠ΄Π΅Ρ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ Π² Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅, Π° ΠΊΠ°ΠΊΠΈΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π²Π»ΠΈΡΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΡΠ΅ΠΉ ΠΈΠ»ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΌΠ°ΡΡΠ΅ΡΠ΅. Π₯ΠΎΡΠΎΡΠΈΠΌ ΡΠΎΠ½ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠ½ΡΡΠΈΠ΅ Π² Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΡΠ°Π²ΠΈΠ»Π° β ΠΏΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ merge Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ —no-ff. ΠΡΠΈ ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ merge-ΠΊΠΎΠΌΠΌΠΈΡ, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π²Π΅ΡΠΊΠΈ master, Π΄ΡΡΠ³ΠΈΠΌ β ΠΏΠΎΠ·ΠΈΡΠΈΡ Π²Π΅ΡΠΊΠΈ feature. Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ Π³ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ ΠΏΠΎ fast-forward (ΡΠ»Π΅Π²Π°) ΠΈ c merge-ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΈ —no-ff (ΡΠΏΡΠ°Π²Π°):
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, merge-ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΈ Π½Π΅ΡΡΡ Π² ΡΠ΅Π±Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π²Π΅ΡΠΎΠΊ. ΠΡΠΎΡ Π³ΡΠ°Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π±Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎ ΡΠ°ΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅Π°Π»ΡΠ½Π° ΠΏΡΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ» Π²ΡΠ΅ΠΌΠΈ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ Π³ΡΠ°ΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΡΡΡΠ΅Π½Π° Π½Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΡΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ», Ρ ΠΎΡΡ ΠΎΠ½ΠΈ ΠΈ ΡΡΠ΅Π±ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°ΡΡΠ°Ρ.
Π ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΏΠΎ git ΠΊΡΠ°ΠΉΠ½Π΅ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ rebase ΠΊ Π²Π΅ΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° Π·Π°ΠΏΡΡΠ΅Π½Π° Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ merge-Π΅ΠΌ ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ rebase (Ρ ΡΠ°Π½ΡΡΠ΅ΠΉΡΡ Ρ ΠΊΠΎΠ³ΠΎ-ΡΠΎ, ΠΊΡΠΎ ΡΡΠΏΠ΅Π» Π΅Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΡ) ΠΈ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌ ΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ Π΄Π°ΡΠ°ΠΌΠΈ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² Π»ΠΎΠ³Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π·Π΄Π΅ΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git pull —rebase.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΎΠ΄Π½ΠΎ Π΄ΠΎΠΏΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠ΅ ΡΡΠΎ Π²Π΅ΡΠ½ΠΎ ΠΏΡΠΈ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ β Π΅ΡΡΡ ΠΎΠ΄Π½Π° Π³Π»Π°Π²Π½Π°Ρ Π²Π΅ΡΠΊΠ° master ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΡ Π½Π΅Π΅. ΠΠΎΠ³Π΄Π° ΠΎΡ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π²Π΅ΡΠΊΠ°, Π΅ΡΡΡ ΡΠ²ΠΎΠΈ Π½ΡΠ°Π½ΡΡ ΠΏΡΠΈ rebase-Π΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΠΈ Π²ΡΠΎΡΠΈΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ. Π Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΡΠΎΠΌ ΡΠ°ΠΌΠΎΠΌ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅.
ΠΠ½ΠΎΠ³Π΄Π° ΡΠΏΠΎΡΡ, ΡΡΠΎ ΠΆΠ΅ Π»ΡΡΡΠ΅ merge ΠΈΠ»ΠΈ rebase Π΄ΠΎΡ ΠΎΠ΄ΡΡ Π΄ΠΎ Ρ ΠΎΠ»ΠΈΠ²Π°ΡΠ°. ΠΡ ΡΠ΅Π±Ρ ΠΌΠΎΠ³Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ΅ Π²ΡΠ±ΠΎΡ Π·Π° Π²Π°ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΡ Π²ΡΠ±ΠΎΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ΄ΠΈΠΊΡΠΎΠ²Π°Π½ ΡΡΠΎΠ²Π½Π΅ΠΌ Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΡΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ. ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π΄Π»Ρ Π²Π°Ρ Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ ΡΡΡΠ΄Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π² ΡΠΎΠΌ ΠΈ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΡΠΈΠ»Π΅. Π― Π½Π΅ Π°Π³ΠΈΡΠΈΡΡΡ Π·Π° ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ rebase-Π°, Π° ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡ ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠ½ΡΡΡ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΡΠ°Π±ΠΎΡΡ rebase ΠΈ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅.
PS. Π₯ΠΎΡΡ ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΡΡ ΡΠ²ΠΎΠΈΡ ΠΊΠΎΠ»Π»Π΅Π³, ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΡΠ΅ Π±Π΅ΡΠ΅Π΄Ρ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ ΠΌΠ½Π΅ Π»ΡΡΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ Π² ΠΎΡΠ½ΠΎΠ²Ρ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ.
ΠΠΎΡ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git
ΠΠ΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π°Π΄ Ρ ΠΎΡΠΊΡΡΠ» Π΄Π»Ρ ΡΠ΅Π±Ρ Git. Π Π·Π½Π°Π΅ΡΠ΅, Ρ ΠΏΡΠΎΠ½ΠΈΠΊΡΡ. Π’ΠΎ Π΅ΡΡΡ, ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΏΡΠΎΠ½ΠΈΠΊΡΡ. Π’Π΅ΠΏΠ΅ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Git Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ (Π³Π΄Π΅ Ρ Ρ Π½ΠΈΠΌ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΡΡ), Π½ΠΎ ΠΈ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΡΠ°Π» Ρ ΡΠ°Π½ΠΈΡΡ Π½Π° BitBucket. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π½Π°ΡΠ°Π» ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Git ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ GitHub, BitBucket ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΊΡΡΡΡΠ΅, ΡΠ°ΠΊ ΠΈ Π·Π°ΠΊΡΡΡΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π ΡΠ΅ΠΌ ΡΠΎΡΡΠΎΠΈΡ ΠΎΡΠ»ΠΈΡΠΈΠ΅ Git ΠΎΡ Subversion?
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ Git ΠΎΡ Subversion Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Git β ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. ΠΠ²ΡΡΠΈΡ ΡΠΆΠ°ΡΠ°ΡΡΠ΅, Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΡ Π²Π΅ΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄Π΅ΡΠΆΠΈΡ Ρ ΡΠ΅Π±Ρ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ β Π½Π΅ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π½Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ°Π½ΡΠΈ, Π° ΡΡΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠΎΠΊΠ° ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π²ΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ Π² Subversion. ΠΡ ΠΊΠΎΠΌΠΌΠΈΡΠΈΠΌ ΠΈ ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π΅ΠΌ, ΠΌΠ΅ΡΠΆΠΈΠΌ ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π±ΡΠ°Π½ΡΠΈ, ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΠΌ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΈ ΡΠ΄. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Β«git pushΒ» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΆ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π° Β«git pullΒ» β Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΌΠ΅ΡΠΆ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ. ΠΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎ ΡΠ΅ΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° SSH.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΠΌΠ΅Π΅ΠΌ:
- Git ΠΏΡΠΈΡΡΡΠΈ Π²ΡΠ΅ ΡΠ΅ ΠΆΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ VCS, ΡΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π² Subversion.
- Git Π΄Π°Π΅Ρ Π½Π°ΠΌ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Β«ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈΒ», Π±Π΅Π·ΠΎ Π²ΡΡΠΊΠΈΡ ΡΠ°Π½ΡΠ΅Π² Ρ Π±ΡΠ±Π½Π°ΠΌΠΈ, ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Subversion.
- ΠΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Ρ Β«Π³Π»Π°Π²Π½ΡΠΌΒ» ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, ΠΊΡΠ΄Π° ΠΏΡΡΠ°Ρ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ (Ρ ΠΎΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π² Git Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Β«Π³Π»Π°Π²Π½ΠΎΠ³ΠΎΒ» ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ), Π²Π΄ΡΡΠ³ ΠΏΡΠΈΠ»Π΅Π³ β Π½ΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ. ΠΠ΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΠΆΠ΄Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΠ²Π΅Ρ Π²Π΅ΡΠ½Π΅ΡΡΡ.
- ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΡΠΎΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΡΠ΅ΠΌ.
- Π‘Π΅ΡΠ²Π΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Git ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. Π Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Git Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ Π²Π΅ΡΡΠΈΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² (ΠΊΠ°ΠΊΠΈΡ -Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ) ΠΈΠ»ΠΈ Π²Π΅ΡΠ½ΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅.
- Git Π½Π΅ ΡΠ°ΡΠΊΠΈΠ΄ΡΠ²Π°Π΅Ρ ΠΏΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ (ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ Β«.svnΒ»?), Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ½Π° Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΡΠ½Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
- Git Π½ΡΠ½ΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΌΠΎΠ΄Π΅Π½ (Ρ ΠΎΡΡ ΡΡΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΡΡ Mercurial ΠΈ Darcs), Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ ΡΠ°ΡΡΠ΅Ρ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Π΅Π³ΠΎ. ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Git, Π»Π΅Π³ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠΌΠΎΡΡ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΎΡΡΠΌΠ΅ ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π·Π½Π°ΠΊΠΎΠΌΡΡ Ρ ΡΡΠΎΠΉ VCS.
- Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠΈΠ»ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Git β Qgit, gitk, gitweb ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. Β«ΠΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈΒ» Π΅ΡΡΡ ΠΈΠΌΠΏΠΎΡΡ ΠΈ ΡΠΊΡΠΏΠΎΡΡ Π²/ΠΈΠ· Subversion/CVS.
- Git ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ ΠΎΡΡΠΈΠ½Π³ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² (GitHub, BitBucket, SourceForge, Google Code, β¦) β Π΅ΡΡΡ ΠΈΠ· ΡΠ΅Π³ΠΎ Π²ΡΠ±ΡΠ°ΡΡ.
- ΠΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ GitHub. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Git, Π²Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΠ΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ Π·Π°Ρ ΠΎΡΠ΅Ρ Π±Π΅Π·Π²ΠΎΠ·ΠΌΠ΅Π·Π΄Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠ°ΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ open source ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Git
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Git ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· Π·Π°ΠΌΠ΅ΡΠΊΠΈ ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΠΎΡΡΠΈ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ² Π½Π° Haskell, ΡΠΈΠ΄Ρ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠ΅ΠΉ Π»ΡΠ±ΠΈΠΌΠΎΠΉ FreeBSD. ΠΠΎΡ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅Π»Π° ΠΌΠΎΡ ΡΠ°Π±ΠΎΡΠ° Ρ Git.
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Git:
ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ°ΡΡ ssh ΠΊΠ»ΡΡΠ΅ΠΉ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ Π΅Π΅ ΡΠ°Π½Π΅Π΅:
ssh-keygen
cat ~/.ssh/id_rsa.pub
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° ΠΠΈΡΠΠ°ΠΊΠ΅Ρ, ΡΠΎΠ·Π΄Π°Π΅ΠΌ git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΠΎΠ΄ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π° Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ²ΠΎΠΉ ΠΎΡΠΊΡΡΡΡΠΉ ssh-ΠΊΠ»ΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
cd ~/projects/haskell
git clone [email protected]:afiskon/hs-textgen.git
cd hs-textgen
ΠΠ΅Π»Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ:
git add TODO.TXT
git commit -a
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π» ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ VIM, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Ρ ΠΈ Π²Π²ΠΎΠΆΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅. ΠΠ°ΡΠ΅ΠΌ Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΌΠ½ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΠΠΈΡΠΠ°ΠΊΠ΅Ρ:
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΠ΅ΠΏΠ΅ΡΡ Ρ Ρ ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π½ΠΎ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, Π²ΡΠΉΠ΄Π΅Ρ Π»ΠΈ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΡΠΎ-ΡΠΎ Ρ ΠΎΡΠΎΡΠ΅Π΅. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΠΊΠ°:
git branch new_feature
git checkout new_feature
Π Π°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ. ΠΡΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΡΠ»ΠΎ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ (ΠΎΠ½Π° ΠΆΠ΅ Β«trunkΒ» ΠΈΠ»ΠΈ Β«ΡΡΠ²ΠΎΠ»Β»):
ΠΡΠ»ΠΈ Π²ΡΡΠ»ΠΎ ΡΡΠΎ-ΡΠΎ Ρ ΠΎΡΠΎΡΠ΅Π΅, ΠΌΠ΅ΡΠΆΠΈΠΌ Π²Π΅ΡΠΊΡ Π² master (ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ΅):
git commit -a # Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ Π²ΡΠ΅Ρ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² new_feature
git checkout master # ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π½Π° master
git merge new_feature # ΠΌΠ΅ΡΠΆΠΈΠΌ Π²Π΅ΡΠΊΡ new_feature
ΠΠ΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π°Ρ ΠΊΠΎΠ΄ Π½Π° BitBucket:
ΠΡΠ»ΠΈ ΠΌΡ ΠΏΡΠ°Π²ΠΈΠΌ ΠΊΠΎΠ΄ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², ΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΠ°Π±ΠΎΡΡ Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ Β«Π½Π°ΠΊΠ°ΡΠΈΡΡΒ» Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ΄Π°:
Π Π°Π±ΠΎΡΠ° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΌΠ°Π»ΠΎ ΡΠ΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅. Π’ΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΌΠ΅ΡΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ. ΠΠ΄Π½Π° ΠΈΠ· ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ Π½Π°ΡΠ°Π»Π΅ ΡΠ°Π±ΠΎΡΡ Ρ Git Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² pushβΠ΅ Π²ΡΠ΅Ρ Π²Π΅ΡΠΎΠΊ, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΉ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ. ΠΠΎΠΎΠ±ΡΠ΅ Ρ Π±Ρ ΡΠΎΠ²Π΅ΡΠΎΠ²Π°Π» ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ push Π΄Π΅Π»Π°ΡΡ ΠΏΠ°ΡΠ·Ρ Ρ ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ ΠΈ ΠΊΡΠ΄Π° ΡΠ΅ΠΉΡΠ°Ρ ΡΠΉΠ΄Π΅Ρ. ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ²Π΅ΡΡΡ ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ssh-ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΡΠΎΠ»Ρ. Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΏΠ°ΡΠΎΠ»Ρ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Git Π±ΡΠ΄Π΅Ρ Π΄Π»Ρ Π²Π°Ρ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ Β«ΠΠΉ, ΡΡ Π΄Π΅Π»Π°Π΅ΡΡ ΡΡΠΎ-ΡΠΎ, ΡΡΠΎ Π·Π°ΡΡΠΎΠ½Π΅Ρ Π΄ΡΡΠ³ΠΈΡ Β».
Fun fact! ΠΡΠ°Π²ΠΈΡΡΡ ΡΡΠ°ΡΡΡ? ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈ Π°Π²ΡΠΎΡΠ°, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΌΠΎΠ³ ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ°ΡΠ΅ΠΉ!
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Git ΠΏΠΎΠ΄ Windows ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ TortoiseGit. ΠΡΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ Π½Π΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡ, Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π΅ΠΌΡ Π½ΡΠΆΠ΅Π½ Git for Windows. ΠΠ»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ PuTTyGen. Π’ΠΎΠ»ΡΠΊΠΎ Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅, Β«Conversions β Export OpenSSH keyΒ».
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΌΠ½Π΅ Π»ΠΈΡΠ½ΠΎ TortoiseGit ΠΏΠΎΠΊΠ°Π·Π°Π»ΡΡ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ΄ΠΎΠ±Π½ΡΠΌ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π΄Π΅Π»ΠΎ ΠΏΡΠΈΠ²ΡΡΠΊΠΈ, Π½ΠΎ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Git ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ Π² ΠΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅.
Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ
Π ΡΡΠΎΠΌ ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΡΡ Π°Ρ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Git. Π― Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΡΠΏΠ΅Ρ Π² ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΠ»ΠΈ Π΅ΡΠ΅ Π² ΡΠ΅ΠΌ-ΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ. ΠΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΡΠΈΠ±ΠΊΡ, ΠΎΡΠΏΠΈΡΠΈΡΠ΅ΡΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ .
Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎ ssh Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°ΠΆΠΈΡΠ΅:
git config —bool core.bare true
β¦ ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΈ git push Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΡΠ°Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠΎΠ΄Π΅:
Refusing to update checked out branch: refs/heads/master
By default, updating the current branch in a non-bare repository
is denied, because it will make the index and work tree inconsistent
with what you pushed, and will require ‘git reset —hard’ to match
the work tree to HEAD.
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ:
git clone [email protected]:afiskon/hs-textgen.git
ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΠΌ ΠΏΡΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ΄ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²:
git remote add remotename [email protected]:repo.git
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
Π£Π΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ»:
Π’Π΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΈ ΡΠΏ):
Π‘Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ:
git commit -a -m «Commit description»
Π‘Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, Π²Π²Π΅Π΄Ρ Π΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ $EDITOR:
ΠΠ°ΠΌΠ΅ΡΠΆΠΈΡΡ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ origin ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈ remotename, ΡΠΌ Π²ΡΡΠ΅):
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ, Π½ΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠΊΠΈ master:
ΠΠ°ΠΏΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ, Π½Π΅ Π²Π²ΠΎΠ΄Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅:
ΠΠ°ΠΌΠ΅ΡΠΆΠΈΡΡ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ, Π½ΠΎ Π½Π°ΠΊΠ°ΡΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠΊΠ° master:
ΠΠ°ΠΊΠ°ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ, Π½Π΅ Π²Π²ΠΎΠ΄Ρ Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ:
Π‘ΠΊΠ°ΡΠ°ΡΡ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ Ρ origin, Π½ΠΎ Π½Π΅ ΠΌΠ΅ΡΠΆΠΈΡΡ ΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ:
ΠΠ°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π΅ΡΠΊΠΎΠΉ some_branch (ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ):
git checkout -b some_branch origin/some_branch
Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Π±ΡΠ°Π½Ρ (ΠΎΡΠ²Π΅ΡΠ²ΠΈΡΡΡ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ):
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΠΊΡ (ΠΈΠ· ΡΠ΅Ρ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ):
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π²Π΅ΡΠΎΠΊ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ:
git branch # Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΎΠΉ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π° ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠ²Ρ
ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π²Π΅ΡΠ²ΠΈ:
git branch -a # | grep something
ΠΠ°ΠΌΠ΅ΡΠΆΠΈΡΡ some_branch Π² ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ:
Π£Π΄Π°Π»ΠΈΡΡ Π±ΡΠ°Π½Ρ (ΠΏΠΎΡΠ»Π΅ ΠΌΠ΅ΡΠΆΠ°):
git branch -d some_branch
ΠΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π±ΡΠ°Π½Ρ (ΡΡΠΏΠΈΠΊΠΎΠ²Π°Ρ Π²Π΅ΡΠ²Ρ):
git branch -D some_branch
ΠΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
ΠΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅:
ΠΡΡΠΎΡΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ, Π½ΠΎ Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
ΠΡΡΠΎΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ°Π½ΡΠ΅ΠΉ:
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅:
git show d8578edf8458ce06fbc5bb76a58c5ca4a58c5ca4
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ΅ΠΌ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π· ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΡ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠ°ΠΉΠ»Π°:
Π£Π΄Π°Π»ΠΈΡΡ Π±ΡΠ°Π½Ρ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅:
git push origin :branch-name
ΠΡΠΊΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ (Ρ ΡΡ ΡΠΌΠΎΡΡΠΈΠΌ Π² Β«git logΒ»):
git reset —hard d8578edf8458ce06fbc5bb76a58c5ca4a58c5ca4
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ, Π½ΠΎ ΡΠ°ΠΉΠ»Ρ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΎΡΡΠ°ΡΡΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
git reset —soft d8578edf8458ce06fbc5bb76a58c5ca4a58c5ca4
ΠΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π·Π°Π΄Π°Π½Π½ΡΠΉ commit:
git revert d8578edf8458ce06fbc5bb76a58c5ca4a58c5ca4
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΡΡΠΌΠΌΠ°ΡΠ½ΡΡ , Π° Π½Π΅ Π²ΡΠ΅Ρ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, ΠΊΠ°ΠΊ Π² Β«git logΒ»):
git diff # ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ Π² «git diff —help»
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ vimdiff Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² (mergetool) ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
git config —global merge.tool vimdiff
ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ Β«ΠΊΠ°ΠΊΠΎΠΉ mergetool Π²Ρ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΒ»:
git config —global mergetool.prompt false
ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΡΠ°Π±Ρ ΠΊΠ°ΠΊ 4 ΠΏΡΠΎΠ±Π΅Π»Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Β«git diffΒ»:
git config —global core.pager ‘less -x4’
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° .gitignore:
git config —global core.excludesfile ~/.gitignore_global
Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² (ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠ΅ΡΠΆΠ°):
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ³Π°:
git tag some_tag # Π·Π° ΡΡΠ³ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Ρ ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ untracked files:
Β«Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°Β» ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌ:
ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π΅Π³ΠΎ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Π½Π° Π΄ΡΡΠ³ΡΡ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
mkdir -p /tmp/git-copy
cd /tmp/git-copy
git clone —bare [email protected]:afiskon/cpp-opengl-tutorial1.git
cd cpp-opengl-tutorial1.git
git push —mirror [email protected]:afiskon/cpp-opengl-tutorial2.git
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Git ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΡΠΎΡΠΊΡΡ Π·Π°ΠΏΠΈΡΡ Ρ ΡΡΠ΅ΠΉ. ΠΠΌΠ΅ΡΡΠΎ Β«d8578edf8458ce06fbc5bb76a58c5ca4a58c5ca4Β» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Β«d8578edfΒ» ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Β«d857Β».
ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: Π’Π°ΠΊΠΆΠ΅ Π² 6-ΠΌ ΠΏΡΠ½ΠΊΡΠ΅ ΠΠΈΠ½ΠΈ-Π·Π°ΠΌΠ΅ΡΠΎΠΊ Π½ΠΎΠΌΠ΅Ρ 9 ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ git rebase
, Π° Π² 10-ΠΌ ΠΏΡΠ½ΠΊΡΠ΅ ΠΠΈΠ½ΠΈ-Π·Π°ΠΌΠ΅ΡΠΎΠΊ Π½ΠΎΠΌΠ΅Ρ 11 Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄Π²ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Π² ΠΎΠ΄ΠΈΠ½ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΈΡΡΠΎΡΠΈΠΈ.
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°Π±ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π±ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ Π² Π·Π°ΠΌΠ΅ΡΠΊΠ΅ ΠΡΠΎΡΡΠΎΠΉ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ OpenGL-ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° C++. ΠΠ΄Π΅ΡΡ ΡΠΏΠΎΠΌΡΠ½Π΅ΠΌ ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅.
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°Π±ΠΌΠΎΠ΄ΡΠ»Ρ:
git submodule add https://github.com/glfw/glfw glfw
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π±ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ:
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ git pull
ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠΎΡΡΠΈΡ ΡΠ°Π±ΠΌΠΎΠ΄ΡΠ»Ρ:
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΊ:
- Π‘ΠΊΠ°ΠΆΠΈΡΠ΅
git rm --cached ΠΈΠΌΡ_ΡΠ°Π±ΠΌΠΎΠ΄ΡΠ»Ρ
; - Π£Π΄Π°Π»ΠΈΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΡΠΎΡΠΊΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° .gitmodules;
- Π’Π°ΠΊΠΆΠ΅ Π³ΡΠΎΡ Π½ΠΈΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΠ΅ΠΊΡΠΈΡ Π² .git/config;
- Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ;
- Π£Π΄Π°Π»ΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ°Π±ΠΌΠΎΠ΄ΡΠ»Ρ;
- Π£Π΄Π°Π»ΠΈΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ .git/modules/ΠΈΠΌΡ_ΡΠ°Π±ΠΌΠΎΠ΄ΡΠ»Ρ;
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Ρ Π±Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
ΠΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, Π»ΡΠ±ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ. Π ΠΊΡΡΠ°ΡΠΈ, Ρ Π½Π°ΡΡΡΠΏΠ°ΡΡΠΈΠΌ Π²Π°Ρ!
ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: ΠΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ
ΠΠ΅ΡΠΊΠΈ: Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°.
Git — ΡΡΠΎ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ½ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ Linux ΠΠΈΠ½ΡΡΠΎΠΌ Π’ΠΎΡΠ²Π°Π»ΡΠ΄ΡΠΎΠΌ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡΠ΄ΡΠ° Linux. Π¦Π΅Π»ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ GitHub, ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° Π½Π΅ΠΌ. ΠΠ½ Π΄Π°ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² IBM DevOps Services Π²ΠΌΠ΅ΡΡΠ΅ Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° IBM Rational Team Concert β’. ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΌΠΈΡΠ΅ Linux ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ DevOps Services ΠΎΡ IBM Ρ Git, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ Git.
ΠΠΎΠ³Π΄Π° Ρ Π½Π°ΡΠ°Π» ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Git, Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ» Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Concurrent Versions System (CVS) ΠΈ Apache Subversion (SVN), ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π’Π°ΠΊΠΎΠ΅ ΠΌΡΡΠ»Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π»ΠΎ ΠΌΠ½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Git. Π‘ ΡΠ΅Ρ ΠΏΠΎΡ Ρ ΡΡΠ°Π» Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Git, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ° ΡΡΠ°ΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° Β«ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΌ ΠΊ ΡΠ΅Π±Π΅Β», ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΌΠ½Π΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Git, ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ Π΅Π³ΠΎ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ. Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π²Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ CVS ΠΈΠ»ΠΈ SVN.
ΠΡΠ½ΠΎΠ²Ρ
ΠΡΠ°ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 1. Π ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠ°ΠΏΠΊΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ (CVS ΠΈ Git ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΠ°ΠΏΠΊΠΈ ΠΡΠΎΡΡΠΎ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΡΡΠΈ ΠΏΡΡΠΈ). Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΡΠ°Π½ΡΡΡΡ Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ — ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄. ΠΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΠ΅ ΠΊΠΎΠ΄ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π² ΡΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 1. ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ , ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2. ΠΠΎΠ½ΡΠ΅Π½Ρ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅ΡΠΈΠΈ Π²Π΅ΡΡΠΈΠΉ, ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ , ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎ-Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΈ Π΄ΠΎΡΠ΅ΡΠ½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΏΡΠΈ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ .
ΠΡΠ° ΡΠ΅ΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ stream ΠΈΠ»ΠΈ branch . Π SVN ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ°Π½ΠΊΠΎΠΌ ; Π² CVS ΠΎΠ½ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ HEAD ; Π² Git Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ , ΠΌΠ°ΡΡΠ΅Ρ . ΠΠ΅ΡΠ²ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
ΠΠΎΠΊΠ° ΡΡΠΎ Git ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π΅ ΡΠ°ΠΊ Π»ΠΈ? Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π° ΡΡΠΎΠΌ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ.ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ CVS ΠΈ SVN ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. Git Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Git
ΠΠ»Π°Π²Π½ΡΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ Git, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡ.
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Git ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² ΡΠ½ΠΈΠΌΠΊΠ°Ρ , ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈ Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°ΡΠΈΡΡ Π½Π°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ.ΠΡΠΎ Π²Π°ΠΆΠ½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ. ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠΊΠ°ΡΠ° Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Git.
ΠΡΠΎ Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· ΡΡΠΎΠ³ΠΎ. ΠΡΠ°ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ³Π»ΡΠ±ΠΈΠΌΡΡ Π² Git.
Π Π°Π±ΠΎΡΠ° Ρ Git
git init — ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
git checkout — ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ Π²Π΅ΡΠΊΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
git add — Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π² Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
git commit — ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Git, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git init
. ΠΠ½ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Git ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ .git
(ΡΠΊΡΡΡΠΎΠΌ), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ ΡΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π΅Ρ. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Git. ΠΠΎΠΌΠ°Π½Π΄Ρ checkout
ΠΈ commit
Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Π½Π°Π±ΠΎΡΠ°ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² Git Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° add
(Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ SVN).Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡΠ° ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ . ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 3 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π²Π΅ΡΡΠΈΠΈ ΡΠ½ΠΈΠΌΠΊΠ° A Π² Π²Π΅ΡΡΠΈΡ ΡΠ½ΠΈΠΌΠΊΠ° B.
git status
ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΈΠ»ΠΈ Π½Π΅Ρ, Π² ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠ΅ Π²Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Git
git log
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Ρ.Π΅.Π΅. ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ) Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈΠ»ΠΈ Ρ git log <ΠΏΡΡΡ>
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ git status
ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git diff
. ΠΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ git diff
(Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²) ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ git diff --cached
, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅: ΠΏΠΎΡΡΠ°ΠΏΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. git diff <ΠΈΠΌΡ>
ΠΈΠ»ΠΈ git diff <ΠΈΠΌΡ> - <ΠΏΡΡΡ>
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²Π΅ΡΠ²ΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠΡΠΎ Ρ
ΠΎΡΠΎΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΠΠ·-Π·Π° Π΄Π»ΠΈΠ½Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°Ρ
ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ Β«(A)Β», Β«(B)Β» ΠΈ Ρ. Π.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΡ Π²Π΅ΡΠ΅ΠΉ Π² Git. Π‘Π½ΠΈΠΌΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π² Git. ΠΠ½ΠΈ Π½Π°Π·Π²Π°Π½Ρ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ , ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Ρ Π΅Ρ-ΠΊΠΎΠ΄, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«c69e0cc32f3c1c8f2730cade36a8f75dc8e3d480Β». ΠΠ½ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΠΈΠ· ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°Π²ΡΠΎΡΠ΅, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ ΠΈ Ρ. Π. Π‘Π½ΠΈΠΌΠΎΠΊ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²Π΅ΡΡΠΈΠΈ Ρ ΡΠΎΡΠ΅ΡΠ½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ , ΠΊΠ°ΠΊ Π² CVS, ΠΈΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½ΠΎΠΌΠ΅Ρ (ΠΈ ΠΏΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ / branch top) ΠΊΠ°ΠΊ Π² SVN.ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Git, ΠΊΠ°ΠΊ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ . Git ΠΌΠΎΠΆΠ΅Ρ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠΎΠΊΡΠ°ΡΠ°ΡΡ ΡΡΠΈ Π΄Π»ΠΈΠ½Π½ΡΠ΅ Ρ ΡΡΠΈ Π΄ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΈΡ ΠΈΠΌΠ΅Π½, Π±Π΅ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΎΡ Π½Π°ΡΠ°Π»Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, ΡΠ°ΠΊ ΡΡΠΎ ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ ΠΈΠΌΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ ΠΈΠΌΡ Β«c69e0ccΒ».
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½ commit ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π³Π»Π°Π³ΠΎΠ»Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ½ΠΈΠΌΠΊΠ°, ΡΠ°ΠΊ ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ°.
ΠΠ±ΡΡΠ½ΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²; Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΡΠΈΠ»ΠΈΠ°Π»Π°ΠΌΠΈ. ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄ΡΡΠ³ΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΠ²ΡΡ. Π Git ΠΏΠΎΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ° ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ. ΠΠ΅ΡΠ²Ρ Π² Git — ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ. ΠΡΠΎ ΠΎΡΠΌΠ΅ΡΠ°Π΅Ρ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ° Π²Π΅ΡΠ²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ. ΠΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ Π²Π΅ΡΠ²ΠΈ, ΠΌΠ΅ΡΠΊΠ° Π²Π΅ΡΠ²ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠ°ΠΊ Git ΡΠ·Π½Π°Π΅Ρ, Π³Π΄Π΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ? ΠΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ HEAD. ΠΠ»Π°Π²ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Π²Ρ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π· ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΠΈ ΡΠ²ΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ, ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΡΠ΄Π° Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π²Π΅ΡΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π· ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΠΈ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ CVS ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅Ρ ΡΠ΅ΡΠΌΠΈΠ½ HEAD ΠΊΠ°ΠΊ ΡΠΎΠ²Π΅Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π²Π΅ΡΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠΎΠΌΠ°Π½Π΄Π° tag
Π½Π°Π·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π΄ΡΠ΅ΡΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.2 Π²ΡΠΎΡΠΎΠΉ ΠΈ ΡΠ΄.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π³Π»Π°Π²Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ gitrevisions . ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠΌΠ΅Π½Π°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ΅Π³ΠΈ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° Π²Π΅ΡΠ²Π΅ΠΉ, ΡΠ²Π»ΡΡΡΡΡ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΎΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΎΠ² . reflog ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Π·Π° Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ, Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ (ΠΎΠ±ΡΡΠ½ΠΎ Π²Π΅ΡΠ²ΡΡ) Π΄ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
ΠΠ΅ΡΠ²Π»Π΅Π½ΠΈΠ΅
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΡΠ½ΠΈΠΌΠΊΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ, ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.Π Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π°Π·Π²Π°Π½, ΠΎΠ½ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΠ²ΡΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 4. ΠΡΠΈΠΌΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π²Π΅ΡΠ²ΠΈ Π² Git
Π ΠΈΡΡΠ½ΠΎΠΊ 4 ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π²Π΅ΡΠ²Π΅ΠΉ Π² Git. ΠΠ΅ΡΠ²Ρ master , Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ½ΠΈΠΌΠΎΠΊ F . ΠΡΡΠ³Π°Ρ Π²Π΅ΡΠ²Ρ , ΡΡΠ°ΡΠ°Ρ , ΠΎΡΠΌΠ΅ΡΠ°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠΎΡΠΊΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π€ΡΠ½ΠΊΡΠΈΡ Π Π²Π΅ΡΠ²ΠΈ Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊ Π΄ΡΡΠ³ΠΎΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Β«[B-> D]Β».Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ½ΠΈΠΌΠΎΠΊ B ΠΈΠΌΠ΅Π΅Ρ Π΄Π²ΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΡΡΡΠ΄Π° ΠΈΠ΄ΡΡ Π΄Π²Π° ΠΏΠΎΡΠΎΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΎΠ΄ΠΈΠ½ Π΄Π»Ρ Π²Π΅ΡΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΎΠ΄ΠΈΠ½ Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ . ΠΠΎΠΌΠΌΠΈΡ Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΎΡΠΈΠ±ΠΊΡ β 123.
git branch — ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ HEAD (ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³).
git checkout -b — ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ HEAD ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ.
git diff — — ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ.
git checkout — — ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
git merge — ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ Π²Π΅ΡΠΊΡ Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ.
git merge -abort — ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ ΡΠ»ΠΈΡΠ½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌ.
ΠΠ΅ΡΠ²ΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch <ΠΈΠΌΡ-Π²Π΅ΡΠ²ΠΈ>
Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ HEAD ΠΈΠ»ΠΈ Π²Π΅ΡΠΊΠΈ git <ΠΈΠΌΡ-Π²Π΅ΡΠ²ΠΈ> <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ_ΠΌΠΈΡΠ°>
Π² Π»ΡΠ±ΠΎΠΉ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ½ΠΈΠΌΠΊΠ°.ΠΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠΊΠΈ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ, Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅. Π‘Π½Π°ΡΠ°Π»Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΎΡΠΌΠΈΡΡ Π·Π°ΠΊΠ°Π· Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ git checkout -b <ΠΈΠΌΡ Π²Π΅ΡΠ²ΠΈ>
ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΠΊΠ°, ΠΈ Π²Π°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ.
ΠΠ²Π΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ:
-
git diff
, ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ Π²ΡΡΠ΅, ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ diff Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ (ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ.- -
git checkout
ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.-
Π‘Π»ΠΈΡΠ½ΠΈΠ΅
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ²ΠΎΡ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π²Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π΅Π΅ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ Β«FeatureΒ». ΠΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΅Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ. ΠΡ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΎ, ΠΏΡΠΎΠ²Π΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ git merge <ΠΈΠΌΡ Π²Π΅ΡΠ²ΠΈ>
.ΠΠ°ΡΠ΅ΠΌ Git ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Git ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅ Π½Π°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π²Π΅ΡΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π° ΠΊΠΎΠ½ΡΠΈΠΊΠ΅ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄Π²ΡΡ Π²Π΅ΡΠ²ΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΡΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°.
Π£ΡΠΊΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ : ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ°Ρ Π²Π΅ΡΠ²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π²Π΅ Π²Π΅ΡΠΊΠΈ ΡΠ°Π·ΠΎΡΠ»ΠΈΡΡ. ΠΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ°Ρ Π²Π΅ΡΠ²Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΡΡΠ³Π°Ρ Π²Π΅ΡΠ²Ρ ΡΠ°Π·ΠΎΡΠ»Π°ΡΡ.Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Git ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠ²ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π²ΠΏΠ΅ΡΠ΅Π΄, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 5. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ, ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠ²ΠΈ Π²ΠΏΠ΅ΡΠ΅Π΄, Git Π½Π°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ Π±ΡΡΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΈ Π²ΠΏΠ΅ΡΠ΅Π΄.
Π ΠΈΡΡΠ½ΠΎΠΊ 5. ΠΡΡΡΡΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²ΠΏΠ΅ΡΠ΅Π΄
ΠΠ΅ΡΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ : Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ±Π΅ΠΈΡ Π²Π΅ΡΠ²ΡΡ , Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ±Π΅ΠΈΡ Π²Π΅ΡΠΊΠ°Ρ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. Git ΠΌΠΎΠΆΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² Π²Π΅ΡΠΊΡ-ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΡΠΈΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ.ΠΠΎΠ»ΡΡΠ°ΡΡΠ°Ρ Π²Π΅ΡΠ²Ρ Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ ΠΊ ΡΡΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 6.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΡΠΈΠΊΡΠ°ΡΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ. Π― Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΠ» Π·Π΄Π΅ΡΡ Π½Π°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ (E) Π½Π° (H) Π±ΡΠ» Π±Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ Π²ΡΠ΅Ρ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π²Π΅ΡΠ²ΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ² Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ Π΄Π²ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ, Π½ΠΎ ΡΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄Π°Π»Π΅ΠΊΠΎ Π·Π°Ρ ΠΎΠ΄ΠΈΡ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 6. ΠΠ΅ΡΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅
- ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠ΅Π΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ : Π² ΠΎΠ±Π΅ΠΈΡ
Π²Π΅ΡΠΊΠ°Ρ
Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½ΠΎ ΠΎΠ½ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡ.Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΡΡΠ°Π΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΡΠ²Π°ΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
git merge βabort
.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ Π²Π΅ΡΡ: ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΏΠ°ΡΡ Π±ΡΠ» ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ Π² ΠΎΠ±Π΅ΠΈΡ Π²Π΅ΡΠ²ΡΡ . ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ±Π΅ΠΈΡ Π²Π΅ΡΠΊΠ°Ρ , ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Git Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΌΠ΅Π½, ΡΡΠΎΠ±Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, Π²Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π² ΡΡΠΊΠΎΡΠ΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΎΡΠΊΠ°ΡΠ° ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ , ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡΠΈΠΉ ΠΈ , ΡΠΎΠ±ΠΈΡΠ°ΡΡΠΈΠΌ Π²ΠΈΡΠ½Ρ .
ΠΠ½ΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ΄Π΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ, ΠΈ Π²Π°ΠΌ ΠΏΠΎΠΊΠ° Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ. Π‘Π»Π΅Π΄ΡΡΠ²ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎ, ΡΡΠΎ Π΄Π²Π΅ Π²Π΅ΡΠ²ΠΈ ΡΠ΄Π°Π»ΡΡΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½Π°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² Π΄ΡΡΠ³ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Git ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ΅Π±Π°Π· ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ±ΠΎΡΠ° Π²ΠΈΡΠ½ΠΈ.
Π Π΅Π±Π°Π·ΠΈΠ½Π³
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠ΄ΡΠΈ Π² Π½ΠΎΠ³Ρ Ρ ΠΎΠ±ΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ.ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ , ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΡΡ Π²Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ; ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΎΡΠΊΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π²Π΅ΡΠ²ΡΠΌΠΈ Π²Π²Π΅ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅ΡΠ²Π΅ΠΉ. Π§ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Git, ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ ΠΏΠΎΠ²Π΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠΊΠ° Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 7, ΠΎΠ½ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π²Π΅ΡΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠ²Π΅ΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 7. ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ
git rebase — ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡΠ²Π°Π΅Ρ Π²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ Π½Π° Π²Π΅ΡΡ ΡΡΠΊΡ Π΄Π°Π½Π½ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.
git rebase -i — ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²ΠΊΠ°.
git cherry-pick — ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ Π²ΡΠ±ΠΎΡ Π²ΠΈΡΠ½ΠΈ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠΉ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌ.
git revert — Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΡ.
ΠΡΠ»ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, rebase ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ΅ ΠΈ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠ°ΡΠ΅ΠΌ ΡΠ΅Π±Π°Π· ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΡΠ²Π°Π½.
Π‘ ΠΎΠΏΡΠΈΠ΅ΠΉ --onto
, ΡΠ΅Π±Π°Π· ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠΎΡΠΊΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ Β«Π½Π°Β» Π»ΡΠ±ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ Π² Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.
Π‘Π±ΠΎΡ Π²ΠΈΡΠ½ΠΈ
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²Π½Π΅ΡΠ΅Π½Ρ Π² Π²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ Π²Ρ Π΅ΡΠ΅ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ Π²Π΅ΡΠ²ΠΈ. Git ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² Π΄ΡΡΠ³ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ±ΠΎΡΠ° Π²ΠΈΡΠ½ΠΈ.
Π ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 8, Git ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π΅Π΄ΡΡΠΈΠΉ ΠΊ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΡΠ½ΠΈΠΌΠΊΡ Π² HEAD, ΡΠΊΠ°ΠΆΠ΅ΠΌ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.ΠΠ΄Π΅ΡΡ Π²Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ Ρ ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 8. ΠΠΈΡΠ½Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ
ΠΠ΅ΡΠ½ΡΡΡ
ΠΠΎΠΌΠ°Π½Π΄Π° revert
ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π»Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. Revert
— ΡΡΠΎ ΠΏΠΎΡΡΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΈΡΠ½Π΅Π²ΠΎΠΌΡ ΠΊΠΈΡΠΊΠ΅. Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΈΡΡΠ½ΠΎΠΊ 9 Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°.
Π ΠΈΡΡΠ½ΠΎΠΊ 9. ΠΠΎΠ·Π²ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΠΎΠΌΠ°Π½Π΄Π° revert
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΡΠΎ Π±ΡΠ»ΠΎ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ±ΡΠΎΡΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π΅ΡΠΊΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π½ΠΎ ΡΡΠΎ Π²ΡΡ
ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ.
Π’Π°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ Ρ ΠΏΡΠΎΡΠ΅Π» ΡΡΠΎΡ ΡΠ°Π·Π΄Π΅Π» ΡΠ°ΠΊ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ? ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅ ΡΡΠΎΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·Π΄Π΅Π», Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·Π΄Π΅Π» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠΈ ΡΡΠ°Π·Ρ ΠΏΠΎΠ½ΡΡΠ΅Π½. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΎΠ±ΡΡΠΆΠ΄Π°Π²ΡΠ΅ΠΉΡΡ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ.
Π‘ΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ
Π ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²ΡΠ΅Π³Π΄Π° Π΅ΡΡΡ ΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²Π΅ΡΠ²Ρ; ΡΡΠΎ ΡΠΎΡ, ΡΡΠΎ Π² ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
ΠΠ΄Π½Π°ΠΊΠΎ Π² Git Π½Π΅Ρ ΡΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ Π³Π»Π°Π²Π½Π°Ρ Π²Π΅ΡΠ²Ρ. ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, ΡΠ°Π·Π²Π΅ Ρ Π½Π΅ Π½Π°ΠΏΠΈΡΠ°Π» Π²ΡΡΠ΅, ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π΅ΡΡΡ Π³Π»Π°Π²Π½Π°Ρ Π²Π΅ΡΠΊΠ°? ΠΠ°, Ρ ΡΠ΄Π΅Π»Π°Π». Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½ΠΈΠ΅. ΠΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠ²Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. ΠΠ΅ΠΆΠ΄Ρ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ ΡΠΎΠΉ, ΡΡΠΎ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ²ΡΠ·ΠΈ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅.
Π ΠΈΡΡΠ½ΠΎΠΊ 10. ΠΠ²Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git remote add
. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π΅ΡΠΊΠ°Π»ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ fetch
. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΠ²ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ , ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΠ΅ Π²Π΅ΡΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½Π°Ρ Π²Π΅ΡΠ²Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ (Π½ΠΎ Π½Π΅ ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΠ²Ρ), Git Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΡ.
ΠΠΎΠ»ΡΡΠΈΠ² ΡΡΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ. ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 11 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ master, Π½ΠΎ Π² ΡΡΠΎΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΅Π΅ Ρ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° merge.
Π ΠΈΡΡΠ½ΠΎΠΊ 11. ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠ»ΠΈΠ°Π»Π°
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git clone
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ· ΡΠ»ΡΠΆΠ±Ρ Ρ
ΠΎΡΡΠΈΠ½Π³Π°.ΠΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΠ²ΠΈ (Π½ΠΎ Π΅ΡΠ΅ Π½Π΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ) ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°ΡΡΠΈΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π΅ΡΠ²Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«ΠΏΡΠΎΡΡΠΎ Π²Π΅ΡΠ²ΡΡΒ», Π²ΡΠ΅, ΡΡΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΎΡΡ Π²ΡΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ, ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ Ρ. Π., ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 12. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git clone — ΡΠΎΠ·Π΄Π°Π΅Ρ Β«ΠΊΠ»ΠΎΠ½Β» ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
git remote add — Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ URL-Π°Π΄ΡΠ΅ΡΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
git fetch — ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π΅ΡΠΊΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
git pull — Π²ΡΠ±ΠΎΡΠΊΠΈ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ.
git push — ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠ²Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
ΠΠ° Π€ΠΈΠ³ΡΡΠ΅ 12 ΠΏΠΎΠΊΠ°Π·Π°Π½ git fetch
; ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π²Π΅ΡΠΊΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ.ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ, Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ git checkout master; git merge repo1 / master
. ΠΠΎΡΠ»Π΅ Π²ΡΠ±ΠΎΡΠΊΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΡ FETCH_HEAD
Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ»ΠΈΡΠ½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ»ΡΠΊΠ° Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π½ΠΎΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, git merge FETCH_HEAD
. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ Π²ΡΡΠ΅, ΡΡΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΡΠΊΠΎΡΠ΅Π½Π½ΠΎΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΡΠ»ΠΈΡΠ½ΠΈΡ Π±Π΅Π· ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π²ΡΡΡΠ½ΡΡ.
ΠΠΎΠΌΠ°Π½Π΄Π° git pull
— ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π²ΡΠ±ΠΎΡΠΎΠΊ
Ρ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ
.
ΠΠΎΡΠ»Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠ»ΠΈΠ°Π» ΠΈΡ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠΈΠ»ΠΈΠ°Π». ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ push
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠ²Ρ. ΠΡΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ
, Π° Π½Π΅ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π»Ρ
. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±ΠΎΡΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ Π² Π΄ΡΡΠ³ΠΎΠΌ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 13. push
ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΠ²ΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
Π ΠΈΡΡΠ½ΠΎΠΊ 13. ΠΠ°ΠΆΠ°ΡΠΈΠ΅ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
ΠΡΡΡ ΠΎΠ΄Π½Π° Π·Π°ΡΠΈΡΠ°. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π° Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΡΠΊΠΎΡΠ΅Π½Π½ΠΎΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ, ΡΠΎ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ ΡΠΆΠ΅ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (ΠΊΠΎΠΌΠΌΠΈΡΡ) ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡΠ΅ΡΠΎΠ². Git ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ ΠΏΡΡ ΠΈ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΊΠ°ΠΊ Π΅ΡΡΡ. ΠΠ°ΡΠ΅ΠΌ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΡ Ρ Π²Π°ΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π΅ΡΠ΅ ΡΠ°Π·.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ rebase, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π°ΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ Π² Π½ΠΎΠ²ΡΠΉ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ.
ΠΠΎΠΌΠΈΠΌΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ fetch ΠΈ push Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΡΠ΅ΠΉ; ΡΡΠ°ΡΡΠΉ ΡΡΠΈΠ»Ρ, ΠΏΠΎ ΠΏΠΎΡΡΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git format-patch
, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΉΠ» ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π΅Π΄Π΅Ρ ΠΎΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ. git am
ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅.
ΠΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΡ
ΠΠ΄Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π²ΡΡΠ°Π²ΠΈΡΡ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π³Π΄Π΅ ΠΊΡΠΎ-ΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΠΊΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°Π΄ Π½Π΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.ΠΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΈΡΠΏΠΎΡΡΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠ»ΠΈΠ°Π»ΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Git ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡ Π²Π°Ρ ΠΎΠ± ΡΡΠΎΠΌ ΠΈ ΠΏΠΎΠΏΡΠΎΡΠΈΡ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Ρ pull
.
Π’Π°ΠΊΠΆΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΠ½ΠΎ, ΡΡΠΎ Π²Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ. ΠΡΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ Π½Π΅ Π΄Π°ΡΡ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ Π½Π° push
. ΠΡ Π½Π°ΡΡΡΠΈΠ»ΠΈ ΡΠ²ΠΎΡ ΡΡΡΡΠΊΡΡΡΡ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
Advanced Git
Π ΠΈΡΡΠ½ΠΎΠΊ 14. ΠΡΠΈΠΌΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌΠΈ
ΠΠ±ΡΡΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Ρ Git, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΠ° ΡΠΈΠΏΠ° star , Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»ΡΠΆΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ, ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.ΠΠΎ ΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, ΠΊΠ°ΠΊ Π² ΡΠ΅ΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΡΠΌΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 14.
ΠΡΡΠ΅ Ρ ΠΎΠΏΠΈΡΠ°Π» ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠ²Π΅ΡΡ
Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ (ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ) ΠΎΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ. Git ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ git rebase -i
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΈ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ ΠΈΠ»ΠΈ Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ (Β«ΡΠ΄Π°Π²Π»Π΅Π½ΡΒ»).ΠΡΠΎΡΡΠΎ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ Π½Π΅ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΎ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π±ΡΠ»ΠΈ Π²ΡΠ΄Π²ΠΈΠ½ΡΡΡ — Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
Π― ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π», ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ, Π½ΠΎ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡ (ΡΠ½ΠΈΠΌΠΎΠΊ). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ, Π° Π½Π΅ Π½Π° Π²Π΅ΡΠ²Ρ. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΠΎΠ³ΠΎ HEAD . ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π²Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΡΠ°Π·Π²ΠΈΡΠΈΡ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²Ρ ΡΠ°Π·Π²Π΅ΡΠ²Π»ΡΠ΅ΡΠ΅ΡΡ, Π½ΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π² Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.Π‘ΠΎΠ²Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ; ΡΡΠΎ Π½Π΅ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΠΌ refname. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ ΠΈΠ· ΡΡΠΎΠ³ΠΎ HEAD, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β« git branch
Β».
Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΡΡΠ»ΠΊΠ΅? ΠΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π΄Π΅Π»Π°Π΅ΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ Ρ
ΡΠ°Π½ΡΡΡΡ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈ ΡΠ»ΡΠΆΠ±Ρ Ρ
ΠΎΡΡΠΈΠ½Π³Π° ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Git GC
, ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° Git Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π½Π΅Π½ΡΠΆΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².ΠΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΡΠ»Π΅ΠΊΡΠ°, Π½Π΅ Π½ΡΠΆΠ½Ρ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π² Git ΡΠ°ΠΊ Π±ΡΡΡΡΠΎ ΠΈ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Git Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°Ρ , Π½ΠΎ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅ΠΉ. ΠΠ»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎ Git ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ ΠΈ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΈ ΠΎΡΠΊΠ°ΡΡΠ²Π°ΡΡ ΡΡΠΈ Π½Π°Π±ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π²Π΅ΡΠ²ΡΠΌΠΈ.ΠΡΠΎΡΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π΅ΡΠΊΠ°Π»ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ.
ΠΠ° ΡΡΠΎΠΌ Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ» ΡΠ²ΠΎΡ ΡΠΊΠΎΡΠΎΡΡΠ½ΡΡ ΠΏΡΠΎΠ±Π΅ΠΆΠΊΡ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Git. ΠΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡ
Π²Π°ΡΡΠ²Π°ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²ΡΠ΅, ΡΡΠΎ Ρ Π΄Π΅Π»Π°Ρ Ρ Git. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΡΡΠ°Π½ΠΈΡΠ°Ρ
ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°, ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π½Π°Π½ΠΈΡΠΌ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π·Π΄Π΅ΡΡ, Π²Ρ, Π½Π°Π΄Π΅ΡΡΡ, ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΠΈΡ
ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ
. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ git status
ΡΠ°ΡΡΠΎ Π΄Π°ΡΡ ΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΠ²Π΅ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π΄Π°Π»ΡΡΠ΅.
ΠΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ Git, ΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ gitk , ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ gitk --all
, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ Π²Π΅ΡΠ²ΠΈ ΠΈ ΡΠ΅Π³ΠΈ ΠΈ Ρ. Π. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² Git.
Git ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠ»Ρ Windows Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Git.
Π― Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π²Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Git ΠΈ Π½Π΅ Π±ΠΎΠΈΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π³ΠΈΠ±ΠΊΠΎΡΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π΄ΠΈΡΠΊΡΡΡΠΈΠΈ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ ΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΠΌΠΎΠ΅ΠΌΡ ΠΊΠΎΠ»Π»Π΅Π³Π΅ ΠΠΈΡΠΎΠ»ΡΠ΄Ρ Π©Π΅ΠΏΠΎΠ½ΠΈΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ Git Π΄Π°ΠΆΠ΅ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Ρ.
Git Β· GitHub
ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ- ΠΠΎΡΠ΅ΠΌΡ GitHub?
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ β
- ΠΠ±Π·ΠΎΡ ΠΊΠΎΠ΄Π°
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ
- ΠΠ΅ΠΉΡΡΠ²ΠΈΡ
- ΠΠ°ΠΊΠ΅ΡΡ
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
- Π₯ΠΎΡΡΠΈΠ½Π³
- ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ
- ΠΡΠ·ΡΠ²Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² β
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ β
- ΠΊΠΎΠΌΠ°Π½Π΄Π°
- ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅
- ΠΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ
- ΠΡΡΠ»Π΅Π΄ΡΠΉΡΠ΅ GitHub β
ΡΡΠΈΡΡΡΡ ΠΈ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄
- Π’Π΅ΠΌΡ
- ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ
- Π’Π΅Π½Π΄Π΅Π½ΡΠΈΠΈ
- Learning Lab
- Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ
ΠΠ±ΡΠ°ΠΉΡΠ΅ΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ
- Π‘ΠΎΠ±ΡΡΠΈΡ
- ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΎΡΡΠΌ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Git — GitHub Docs
GitHub Docs- ΠΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ
- GitHub.com
- ΠΠ°ΡΠΈΠ½Π°Ρ
- ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
- ΠΠ°ΡΡΡΠΎΠΈΡΡ Git
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎ
- ΠΠΈΠ»ΠΊΠ° ΡΠ΅ΠΏΠΎ
- ΠΡΡΡ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΌ
- Π£Π·Π½Π°Π² ΠΎ GitHub
- ΠΡΠΎΠ΄ΡΠΊΡΡ GitHub
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ Π΄ΠΎΡΡΡΠΏΠ° Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ
- Π’ΠΈΠΏΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ GitHub
- FAQ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ Π² ΠΏΠ»Π°Π½Π°Ρ GitHub
- GitHub CLI
- GitHub Desktop
- GitHub Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
- ΠΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° Π½Π° GitHub
- GitHub Π³Π»ΠΎΡΡΠ°ΡΠΈΠΉ
- Git ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ°
- Git ΠΈ GitHub ΡΡΠ΅Π±Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ
- Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° GitHub
- Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ GitHub
- ΠΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ±Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ GitHub Enterprise Cloud
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ±Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ GitHub Enterprise Server
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° GitHub
- ΠΠΎΠΈΡΠΊ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΠΎΡΠΊΡΡΡΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° GitHub
- Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΡΠΎ Π·Π²Π΅Π·Π΄Π°ΠΌΠΈ
- Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π»ΡΠ΄ΠΈ
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ GitHub
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ
- Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ
- ΠΠΎΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ
- ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
- Π£ΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- Π Π²Π°ΡΠ΅ΠΉ Π»ΠΈΡΠ½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ
- ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° GitHub
- Π‘Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
- ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ
- Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ
- Π£ΡΠΎΠ²Π½ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
- Π£ΡΠΎΠ²Π½ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΏΠ»Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ Π΄ΠΎΡΠΊΠ°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ
- ΠΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π΄Π»Ρ ΡΡ ΠΎΠ΄Π° ΠΈΠ· Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
- Π§ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠ»Π°ΠΆΠΎΠΊ Β«ΠΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠΊΠ°ΡΠ°Β»?
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
github — ΠΠ°ΠΊ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ git fork?
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°- Π’ΠΎΠ²Π°ΡΡ
- ΠΠ»ΠΈΠ΅Π½ΡΡ
- Π‘Π»ΡΡΠ°ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
- ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° ΠΡΠ±Π»ΠΈΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ
- ΠΠΎΠΌΠ°Π½Π΄Ρ Π§Π°ΡΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
- ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π§Π°ΡΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ
- ΡΠ°Π±ΠΎΡΡ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°
- Π’Π°Π»Π°Π½Ρ ΠΠ°Π½ΠΈΠΌΠ°ΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π»Π°Π½Ρ
- ΡΠ΅ΠΊΠ»Π°ΠΌΠ° Π‘Π²ΡΠ·Π°ΡΡΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ