π§ ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ Π² git: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈ ΡΠΎΠ²Π΅ΡΡ
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ Π² Git, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git branch -m <ΡΡΠ°ΡΠΎΠ΅_ΠΈΠΌΡ> <Π½ΠΎΠ²ΠΎΠ΅_ΠΈΠΌΡ>
ΠΠ΄Π΅ΡΡ <ΡΡΠ°ΡΠΎΠ΅_ΠΈΠΌΡ> - ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ, Π° <Π½ΠΎΠ²ΠΎΠ΅_ΠΈΠΌΡ> - ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ "feature" Π² "feature-branch", Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git branch -m feature feature-branch
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅! Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π²Π°ΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ Π² Git, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°.
Π¨Π°Π³ 1: ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ, Π²Π°ΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch
:
git branch
ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π²Π΅ΡΠΎΠΊ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΠΈ ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΎΠΉ (*).
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π½Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout
:
git checkout ΠΈΠΌΡ_Π²Π΅ΡΠΊΠΈ
Π¨Π°Π³ 2: ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ Π΅Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch -m
:
git branch -m Π½ΠΎΠ²ΠΎΠ΅_ΠΈΠΌΡ_Π²Π΅ΡΠΊΠΈ
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π²Π°ΠΌΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΠΊΡ (Π½Π΅ ΡΠ΅ΠΊΡΡΡΡ), Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΈΠΌΡ:
git branch -m ΡΡΠ°ΡΠΎΠ΅_ΠΈΠΌΡ_Π²Π΅ΡΠΊΠΈ Π½ΠΎΠ²ΠΎΠ΅_ΠΈΠΌΡ_Π²Π΅ΡΠΊΠΈ
Π¨Π°Π³ 3: ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push
:
git push --set-upstream origin Π½ΠΎΠ²ΠΎΠ΅_ΠΈΠΌΡ_Π²Π΅ΡΠΊΠΈ
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ Π²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ: Ρ Π½Π°Ρ Π΅ΡΡΡ Π²Π΅ΡΠΊΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ feature-branch
, ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π΅Ρ Π² new-feature-branch
.
git branch
master
* feature-branch
dev
Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git branch
ΠΈ ΡΠ±Π΅ΠΆΠ΄Π°Π΅ΠΌΡΡ, ΡΡΠΎ ΠΌΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌΡΡ Π² Π²Π΅ΡΠΊΠ΅ feature-branch
.
git branch -m new-feature-branch
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch -m
, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ Π² new-feature-branch
.
git push --set-upstream origin new-feature-branch
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git push
ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ new-feature-branch
Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ Π² Git! ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch -m
Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git push
.