πΏ ΠΠ°ΠΊ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ Π²Π΅ΡΠΊΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π² Git: ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ Π³ΠΈΠ΄ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ Π²Π΅ΡΠΊΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π² git, Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- Π‘Π½Π°ΡΠ°Π»Π° ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π½Π° Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π΅ΡΠΊΠ΅ "main".
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git remote add origin <URL-ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ>
. - ΠΡΡΠ½ΠΈΡΠ΅ Π²Π΅ΡΠΊΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git push -u origin <ΠΈΠΌΡ-Π²Π΅ΡΠΊΠΈ>
.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ Π²Π΅ΡΠΊΡ "feature" ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git checkout main
git remote add origin <URL-ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ>
git push -u origin feature
Π’Π΅ΠΏΠ΅ΡΡ Π²Π΅ΡΠΊΠ° "feature" Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π° ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
Git - ΡΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ°ΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. Π Git Π²Π΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ Π²Π΅ΡΠΊΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π² Git.
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ΅Π±Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ, Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ Π² Π²Π°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΈ Π²Π΅ΡΠΊΠΈ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ, ΠΈ ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ Π²Π΅ΡΠΊΠ°ΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ².
1. ΠΡΠΈΠ²ΡΠ·ΠΊΠ° Π²Π΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
git clone <url>
ΠΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git clone
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΡΡ Π²Π΅ΡΠΊΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ Π²Π΅ΡΠΊΡ main
:
git clone -b main <url>
Π’Π΅ΠΏΠ΅ΡΡ Π²Π΅ΡΠΊΠ° main
Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π° ΠΊ Π²Π°ΡΠ΅ΠΌΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΉ.
2. ΠΡΠΈΠ²ΡΠ·ΠΊΠ° ΡΠΆΠ΅ ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ
ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π²Π΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ Π²Π΅ΡΠΊΡ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch
ΠΈ git fetch
.
git branch <branch_name> origin/<branch_name>
git fetch origin <branch_name>
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, git branch <branch_name> origin/<branch_name>
, Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π½ΠΎΠ²ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ <branch_name>
, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ origin/<branch_name>
. ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, git fetch origin <branch_name>
, Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ.
3. ΠΡΠΈΠ²ΡΠ·ΠΊΠ° ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git branch
Ρ ΡΠ»Π°Π³ΠΎΠΌ --set-upstream-to
.
git branch --set-upstream-to=origin/<branch_name>
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠ²ΡΠΆΠ΅Ρ Π²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ origin/<branch_name>
. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ git pull
ΠΈ git push
.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ
Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
origin
- ΡΡΠΎ ΠΈΠΌΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΈΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ Π²Π΅ΡΠΊΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π² Git. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π² Git ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².