Π Π°Π±ΠΎΡΠ° ΡΒ Git ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ β ΠΠ»ΠΎΠ³ HTML Academy
ΠΡΡΠ³ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ Git
- ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ
- Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ Git. Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
- ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Git
ΠΠ°Π΄Π°ΡΠ°: ΡΠΎΡΠΊΠ½ΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π²Β GitHub, ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ ΠΈΒ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΒ ΠΊΠΎΠ΄ΠΎΠΌ.
Π‘ΡΠ°Π·Ρ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ²Β β ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ GitHub, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π·Π°ΡΠ΅ΠΌ, Π°Β Π³Π»Π°Π²Π½ΠΎΠ΅, ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ? ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌΡΡ.
ΠΠ°ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΡΡ
ΠΠΎΠ³Π΄Π° ΠΌΡΒ ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄, ΠΌΡΒ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΡΠ΄Π° ΡΡΠΎ-ΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ, ΡΠ΄Π°Π»ΡΠ΅ΠΌ, ΠΈΒ ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π»ΠΎΠΌΠ°ΡΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ Π»ΡΠ±ΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ΡΡΠΎΠΈΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠ»ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ Π²Β ΠΏΠ°ΠΏΠΊΠΈ ΡΒ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡ1
, ΠΏΡΠΎΠ΅ΠΊΡ1_ΡΠΈΠ½Π°Π»
ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ2_Π΄ΠΎΠ΄Π΅Π»ΠΊΠ°
, Π²ΡΒ Π±ΡΡΡΡΠΎ Π·Π°ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΒ ΡΠΎΡΠ½ΠΎ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΡΠ΅ΡΡΠ΅ΡΠ΅. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΒ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ.
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉΒ β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ, Π²Π½ΠΎΡΠΈΡΡ ΠΈΒ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π’Π°ΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΒ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΒ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ, Π³Π΄Π΅ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊΒ ΠΌΠ΅ΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅Β ΡΠ°ΠΊ.
GitΒ β ΡΠ°ΠΌΠ°Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. Π‘Β Git ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ (ΠΈΠ»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»). ΠΒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ²ΠΎΡ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΒ Windows ΡΡΠΎ PowerShell ΠΈΠ»ΠΈ cmd, Π°Β Π²Β Linux ΠΈΠ»ΠΈ macOSΒ β Terminal.
ΠΡΠΆΠ½ΠΎΒ Π»ΠΈ ΠΏΠΎΠΊΡΠΏΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π΄Π»Ρ Π²ΡΡΡΡΠΊΠΈ
ΠΠΌΠ΅ΡΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡΒ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Git Bash Π²Β Windows ΠΈΠ»ΠΈ iTerm2 Π΄Π»Ρ macOS.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»: ΠΌΡΒ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΒ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠ²Π΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Β β ΠΈΠ»ΠΈ Π²ΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΠΈΠ»ΠΈ Π³Π΄Π΅-ΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΈΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΡΡΠΎ-ΡΠΎ Π΅ΡΡΒ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ°ΡΠΎΠ»Ρ. ΠΠΎΡΡΠΎΠΌΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΡΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ·Β ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. Π‘Π½Π°ΡΠ°Π»Π° Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΏΡΠΈΠ²ΡΡΠ½ΠΎ, Π½ΠΎΒ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡ.
ΠΠΎΒ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΒ ΠΏΠΎΡΡΠ΄ΠΊΡΒ β ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Git Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
ΠΠΎΠ»ΡΡΠ΅ ΡΡΠ°ΡΠ΅ΠΉ ΠΎ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π΅ ΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² Π°ΠΉΡΠΈ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅.
ΠΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈΒ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ Git
Windows. Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ Git Π΄Π»Ρ Windows, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ exe-ΡΠ°ΠΉΠ», ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ.
macOS. Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ Git Π΄Π»Ρ macOS ΠΈΒ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ dmg-ΡΠ°ΠΉΠ». ΠΡΠ»ΠΈ ΠΎΠ½Β Π½Π΅Β Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, Π·Π°ΠΉΠ΄ΠΈΡΠ΅ Π²Β Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΒ β ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈΒ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Open anyway (ΠΡΡ ΡΠ°Π²Π½ΠΎ ΠΎΡΠΊΡΡΡΡ).
Linux. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Git ΡΠ΅ΡΠ΅Π· Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΡΠ»ΠΈ ΡΒ Π²Π°Ρ Ubuntu, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ sudo apt-get install git
. ΠΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π΄Π΅ΡΡ.
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ Git ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈΒ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git --version
ΠΡΠ»ΠΈ Git ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΡΠΎΒ Π²ΡΒ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 2.35.1
.
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ Git
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΈΠΌΡ ΠΈΒ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ, ΡΡΠΎΠ±Ρ Π²Π°ΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Β Git Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Ρ, Π°Β Π΅ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊΒ GitHub.
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠΌΡ (Π²Π²Π΅Π΄ΠΈΡΠ΅ Π΅Π³ΠΎ Π²Π½ΡΡΡΠΈ ΠΊΠ°Π²ΡΡΠ΅ΠΊ):
git config --global user. name "Π²Π°ΡΠ΅ ΠΈΠΌΡ"
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΎΡΡΡ (Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ email@example. com Π½Π°Β Π²Π°ΡΡ ΠΏΠΎΡΡΡ):
git config --global user.email [email protected]
ΠΠΏΡΠΈΡ --global
Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΈΠΌΡ ΠΈΒ ΠΏΠΎΡΡΠ° Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π²Π°ΡΠΈΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π²Β Git. ΠΡΠ»ΠΈ Π²ΡΒ Ρ
ΠΎΡΠΈΡΠ΅ ΠΌΠ΅Π½ΡΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠΎΒ Π²Π²ΠΎΠ΄ΠΈΡΠ΅ ΡΡΠΈΒ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΎΠ»ΡΠΊΠΎ Π±Π΅Π· ΠΎΠΏΡΠΈΠΈ --global
.
Π Π΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΡΡ Π½Π°Β GitHub
GitHub (ΠΈΠ»ΠΈ ΠΠΈΡΡ Π°Π±)Β β Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ Π½Π°Β ΠΎΡΠ½ΠΎΠ²Π΅ Git, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ IT-ΠΏΡΠΎΠ΅ΠΊΡΡ. ΠΠ°Β ΠΠΈΡΡ Π°Π±Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΡΡ ΡΠ²ΠΎΠΉ ΠΈΒ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡΡ ΡΡΠΆΠΎΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈΒ ΡΠ»Π΅Π΄ΡΡ Π·Π°Β Π½ΠΎΠ²ΠΎΡΡΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΡΠΎΡΠΈΠ»Ρ Π½Π°Β ΠΠΈΡΡ Π°Π±Π΅ ΠΈΒ Π²ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π²Β Π½ΡΠΌΒ β Π²Π°ΡΠ΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ΅ ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ, Π΅ΡΠ»ΠΈ ΡΒ Π²Π°Ρ Π΅Π³ΠΎ Π΅ΡΡ Π½Π΅Ρ.
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π½Π°Β ΡΠ°ΠΉΡ https://github. com ΠΈΒ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Sign up.
- ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π²Β Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅), Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ (ΡΠ°ΠΊΠΎΠΉΒ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Git) ΠΈΒ ΠΏΠ°ΡΠΎΠ»Ρ.
- ΠΠ°Β ΠΏΠΎΡΡΡ ΠΏΡΠΈΠ΄ΡΡ ΠΊΠΎΠ΄ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈΒ β Π²Π²Π΅Π΄ΠΈΡΠ΅ Π½Π°Β ΡΠ°ΠΉΡΠ΅.
- ΠΠΎΡΠ²ΠΈΡΡΡ ΠΎΠΊΠ½ΠΎ ΡΒ Π²ΡΠ±ΠΎΡΠΎΠΌ ΡΠ°ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°. ΠΡΠ»ΠΈ Π²ΡΒ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΠΠΈΡΡ Π°Π±ΠΎΠΌ Π΄Π»Ρ ΡΡΡΠ±Ρ, ΡΠΎΒ ΡΠΊΠ°ΠΆΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ Π½ΡΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²Π°Ρ ΠΈΒ Π²ΡΒ ΡΡΡΠ΄Π΅Π½Ρ.
- ΠΠΏΡΠΎΡΡ ΠΈΒ Π²ΡΠ±ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ.
ΠΠ°Β ΡΡΠΎΠΌ Π²ΡΡΒ β Π²ΡΒ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΠΈΒ ΡΒ Π²Π°Ρ Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ.
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ SSH-ΠΊΠ»ΡΡΠΈ
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊΒ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌ Π½Π°Β GitHub ΡΠΎΒ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈΒ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π΅Π· ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠΎΠ»Ρ, Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠ²Π΅Ρ Π²Π°Ρ ΡΠ·Π½Π°Π²Π°Π». ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ SSH-ΠΊΠ»ΡΡΠΈ.
SSHΒ β ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ.
SSH-ΠΊΠ»ΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ·Β Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉΒ β ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈΒ Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°. ΠΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ ΠΌΡΒ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π½Π°Β ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅Β ΠΏΡΡΡΠ°ΡΡ ΠΎΡΒ Π²ΡΠ΅Ρ ΠΈΒ Π½Π΅Β ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΡΡ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ Π΅Π³ΠΎ ΡΠΊΡΠ°Π΄ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±Π΅Π· Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΎΠ½Β Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π΅Π½. ΠΒ Π²ΠΎΡ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡΒ β ΡΠ΅ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ°ΡΡΡ, Π΄ΠΎΡΡΡΠΏ ΠΊΒ Π½Π΅ΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΒ Π²Π°Ρ. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ.
ΠΡΠΎΡΠΎΠΊΠΎΠ» RSA
ΠΡΒ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊΒ GitHub ΠΏΠΎΒ SSH. ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ:
- ΠΡΒ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π°Β GitHub, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π½Π°Π΅Ρ Π²Π°Ρ ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ.
- GitHub ΠΏΠΎΒ ΠΎΡΠΊΡΡΡΠΎΠΌΡ ΠΊΠ»ΡΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ, ΡΡΠΎ Π²ΡΒ ΡΡΠΎΒ Π²Ρ, ΠΈΒ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠΎ-ΡΠΎ Π²Β ΠΎΡΠ²Π΅Ρ.
- Π’ΠΎΠ»ΡΠΊΠΎ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΈΡΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΎΡΠ²Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΒ Π²Π°Ρ Π΅ΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ.
ΠΒ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊΒ GitHub ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ SSH-ΠΊΠ»ΡΡΠ°, ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ.
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ SSH-ΠΊΠ»ΡΡΠΈ
ΠΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ SSH-ΠΊΠ»ΡΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, Π΅ΡΡΡΒ Π»ΠΈ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ»ΡΡΠΈ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ Π»Π΅ΠΆΠ°Ρ Π²Β ΠΏΠ°ΠΏΠΊΠ΅ ΡΒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ .ssh
β ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, Π΅ΡΡΡΒ Π»ΠΈ Π²Β Π½Π΅ΠΉ ΡΡΠΎ-ΡΠΎ, ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Β ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅:
ls -al ~/.ssh
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Β ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Windows
ΠΡΠ»ΠΈ ΡΒ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ SSH-ΠΊΠ»ΡΡ, ΡΠΎΒ Π²Β ΡΠΏΠΈΡΠΊΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΠΉΠ»Ρ ΡΒ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π²ΡΠΎΠ΄Π΅ id_rsa.pub
, id_ecdsa.pub
ΠΈΠ»ΠΈ id_ed25519.pub
. ΠΒ Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΡΡΠ³Π°Π΅ΡΡΡ, ΡΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ~/.ssh
Π½Π΅Β ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π·Π½Π°ΡΠΈΡ, ΡΒ Π²Π°Ρ Π½Π΅Ρ SSH-ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΠΌ.
Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΠΉ SSH-ΠΊΠ»ΡΡ
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈΒ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΡΠ΄Π° ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ΅Β Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΡΡ Π²Β ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΏΠΎΡΡΡ, Π½Π°Β ΠΊΠΎΡΠΎΡΡΡ Π²ΡΒ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ Π½Π°Β ΠΠΈΡΡ Π°Π±Π΅.
ssh-keygen -t ed25519 -C "[email protected]"
ed25519
βΒ ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅Β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ
(ΠΈΒ Π²ΡΒ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΒ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ rsa
:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Π’Π΅ΡΠΌΠΈΠ½Π°Π» ΡΠΏΡΠΎΡΠΈΡ, ΠΊΡΠ΄Π° ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΊΠ»ΡΡ. ΠΡΠ»ΠΈ Π½Π΅Β Ρ ΠΎΡΠΈΡΠ΅ ΠΌΠ΅Π½ΡΡΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠΌΠΈΡΠ΅ Enter.
> Generating public/private ΠΈΠΌΡ-ΠΊΠ»ΡΡΠ° key pair. > Enter a file in which to save the key (/c/Users/Π²Π°Ρ-ΠΏΡΠΎΡΠΈΠ»Ρ/.ssh/id_ΠΈΠΌΡ-ΠΊΠ»ΡΡΠ°):*[Press enter]*
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΡΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ΄Π΅Ρ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½ Π²Π°Ρ ΠΊΠ»ΡΡ. ΠΡΠΎ ΡΡΠΎΠΈΡ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΈΠ½Π°ΡΠ΅ Π²Β Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΒ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ, Π΄Π°Β ΠΈΒ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅.
ΠΒ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠΉ SSH-ΠΊΠ»ΡΡ, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΊΒ Π²Π°ΡΠ΅ΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° ΠΏΠΎΒ ΡΠ°Π³Π°ΠΌ:
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ SSH-ΠΊΠ»ΡΡ Π²Β ssh-agent
ssh-agent
βΒ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΒ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ SSH-ΠΊΠ»ΡΡΠ°ΠΌΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΠΌ Π΅ΡΒ ΠΈΒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΡΠ΄Π° Π½Π°Ρ SSH-ΠΊΠ»ΡΡ. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ eval "$(ssh-agent -s)"
:
eval "$(ssh-agent -s)"
ΠΡΠ»ΠΈ Π²Β ΠΎΡΠ²Π΅Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π½Π°Π΄ΠΏΠΈΡΡ Β«Agent pidΒ» ΠΈΒ ΡΠΈΡΠ»ΠΎΒ β Π·Π½Π°ΡΠΈΡ, Π²ΡΡΒ ΠΎΠΊ, Π°Π³Π΅Π½Ρ Π·Π°ΠΏΡΡΠ΅Π½.
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π°Ρ ΠΊΠ»ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.
ssh-add ~/.ssh/id_ed25519
ΠΡΠ»ΠΈ ΡΒ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ»ΡΡΠ° Π΄ΡΡΠ³ΠΎΠ΅ ΠΈΠΌΡ, Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ id_ed25519
ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π° ΡΒ ΠΊΠ»ΡΡΠΎΠΌ (ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈΒ Π΄Π°Π»ΡΡΠ΅ Π²Β ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ). ΠΡΠ»ΠΈ Π²ΡΒ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π½Π°Β ΠΊΠ»ΡΡ, Π²Π²Π΅Π΄ΠΈΡΠ΅ Π΅Π³ΠΎ Π΄Π²Π° ΡΠ°Π·Π° ΠΏΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ssh-add
(ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ).
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π²ΡΡ Ρ ΠΎΡΠΎΡΠΎ, ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½Π°Π΄ΠΏΠΈΡΡ Identity addedΒ β Π·Π½Π°ΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊΒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ° Π½Π°Β GitHub.
ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ SSH-ΠΊΠ»ΡΡ
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»ΡΡ Π½Π°Β GitHub, Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π΅Π³ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·Β Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ clip
. ΠΡΒ Π½Π΅Β ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ»ΡΡ Π½Π°Β ΡΠΊΡΠ°Π½Π΅, Π½ΠΎΒ ΠΎΠ½Β ΠΏΠΎΡΠ²ΠΈΡΡΡ Π²Β Π±ΡΡΠ΅ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΈΒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ°Π²ΠΈΡΡ Π½Π°Β ΠΠΈΡΡ
Π°Π±.
clip < ~/. ssh/id_ed25519.pub
ΠΠΎΠΌΠ°Π½Π΄Π° clip
ΠΌΠΎΠΆΠ΅Ρ Π½Π΅Β ΡΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Β Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΡΠΎΠ³Π΄Π° Π΅ΡΡΡ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ·Π½Π°ΡΡ ΠΊΠ»ΡΡΒ β ΠΏΡΠΎΡΡΠΎΠΉ ΠΈΒ ΡΠ»ΠΎΠΆΠ½ΡΠΉ.
Π‘Π»ΠΎΠΆΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠΊΡΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ .ssh
, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» id_ed25519.pub
Π²Β ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΈΒ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅.
ΠΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½ΠΈΠΆΠ΅ ΠΈΒ ΠΊΠ»ΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΏΡΡΠΌΠΎ Π²Β ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅Β β Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΡΠ½ΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²Β Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°. ΠΠ»ΡΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ssh-ed22519
ΠΈΠ»ΠΈ ssh-rsa
(ΠΈΠ»ΠΈ ΠΏΠΎΡ
ΠΎΠΆΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ)Β β ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΡΡΠΎΠΊΡ ΠΏΡΡΠΌΠΎ ΡΒ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°.
~ cat ~/.ssh/id_ed25519.pub ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO63MT6VCFuZtCLhLj1J6I7dgEU2BsRdIsnvnr4ax+Fr [email protected]
ΠΠ΅Β ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΡΠΎΡ ΠΊΠ»ΡΡ ΠΈΠ·Β ΡΡΠ°ΡΡΠΈΒ β ΠΎΠ½Β ΡΠΆΠ΅ Π½Π΅Β ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ SSH-ΠΊΠ»ΡΡ Π½Π°Β GitHub
ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎΠ±Ρ GitHub Π²Π°Ρ ΡΠ·Π½Π°Π²Π°Π».
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π°Β ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΒ ΠΊΠ»ΡΡΠ°ΠΌΠΈ Π²Β Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»Π΅ Π½Π°Β GitHub ΠΈΒ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ New SSH key.
ΠΒ ΠΏΠΎΠ»Π΅ Title Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²ΡΒ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Mac, Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°Π·Π²Π°ΡΡ ΠΊΠ»ΡΡ MacBook Air, ΠΈΠ»ΠΈ, Π΅ΡΠ»ΠΈ ΠΊΠ»ΡΡ Π΄Π»Ρ ΠΊΡΡΡΠΎΠ² ΠΠΊΠ°Π΄Π΅ΠΌΠΈΠΈ, ΡΠΎΒ Academy. ΠΒ ΠΊΠ»ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΒ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΠΈ Π½Π°Β ΠΏΡΠΎΡΠ»ΠΎΠΌ ΡΠ°Π³Π΅, Π²ΡΡΠ°Π²ΡΡΠ΅ Π²Β ΠΏΠΎΠ»Π΅ Key.
ΠΠ΅Β ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΊΠ»ΡΡ ΡΠΎΒ ΡΠΊΡΠΈΠ½ΡΠΎΡΠ°Β β ΠΎΠ½Β ΡΠΆΠ΅ Π½Π΅Β ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Add SSH keyΒ ΠΈ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΏΠ°ΡΠΎΠ»Ρ ΠΎΡΒ GitHub, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π²ΡΡ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π²Π΅ΡΠ½ΠΎ, Π½ΠΎΠ²ΡΠΉ ΠΊΠ»ΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π²Β ΡΠΏΠΈΡΠΊΠ΅ Π½Π°Β ΡΡΡΠ°Π½ΠΈΡΠ΅ https://github. com/settings/keys.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡΒ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΒ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Π²Β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉΒ β ΠΏΠ°ΠΏΠΊΠ° ΡΒ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°Β ΡΠ΅ΡΠ²Π΅ΡΠ΅ GitHub. Π’Π°ΠΊ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΒ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΎΡΠΊΡΠ΄Π° ΡΠ³ΠΎΠ΄Π½ΠΎ, Π½Π΅Β ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°Ρ, ΡΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΡΠ΅ΡΡΡΡΡΡΒ β Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΡΠ°Π½ΡΡΡΡ Π²Β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΡΠ»ΠΈ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉΒ β ΡΡΠΎ ΠΎΠ±ΡΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΒ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΒ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΒ ΡΠΎΡΠΊΠΎΠΌΒ β ΡΠΎΒ Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΒ ΡΠΎΡΠΊΠ΅ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±Π΅Π·Π½Π°ΠΊΠ°Π·Π°Π½Π½ΠΎ ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ΄ ΠΈΒ Π½Π΅Β Π±ΠΎΡΡΡΡΡ ΡΡΠΎ-ΡΠΎ ΡΠ»ΠΎΠΌΠ°ΡΡ Π²Β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ΅Π»Π°Π΅ΠΌ ΡΠΎΡΠΊ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π²Β Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΒ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π°Β Β«Π²ΠΈΠ»ΠΊΡΒ» ΡΒ Π½Π°Π΄ΠΏΠΈΡΡΡ fork.
ΠΠΎΡΠ²ΠΈΡΡΡ ΠΎΠΊΠ½ΠΎ Create aΒ new forkΒ β ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ ΠΎΠ½Β Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΠΈΒ ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Create fork. Π§Π΅ΡΠ΅Π· ΠΏΠ°ΡΡ ΡΠ΅ΠΊΡΠ½Π΄ Π²ΡΡ Π³ΠΎΡΠΎΠ²ΠΎ.
ΠΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ ΡΠΎΡΠΊ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΒ β git clone
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΊΒ β Π·Π½Π°ΡΠΈΡ ΡΠΊΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΒ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π°Β ΡΠ²ΠΎΡΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. Π’ΡΡ Π½Π°ΠΌ ΠΈΒ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ SSH.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈΒ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π²Β ΠΏΠ°ΠΏΠΊΡ ΡΒ Π±ΡΠ΄ΡΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌΒ β Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
. ΠΡΠ»ΠΈ Π²ΡΒ Ρ
ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π»Π΅ΠΆΠ°Π» Π²Β ΠΏΠ°ΠΏΠΊΠ΅ device
, Π²Π²Π΅Π΄ΠΈΡΠ΅
cd device
ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π½Π΅Ρ, ΡΠΎΒ ΡΠ½Π°ΡΠ°Π»Π° Π²Π²Π΅Π΄ΠΈΡΠ΅ md your-project
, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡ ΠΏΠ°ΠΏΠΊΡ, Π°Β Π·Π°ΡΠ΅ΠΌ cd your-project
. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΒ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
.
ΠΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΡΠ΅ Π²Β ΠΏΠ°ΠΏΠΊΡ, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git clone
Π΄Π»Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
git clone [email protected]:your-nickname/your-project.git
ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ your-nickname
Π½Π°Β Π²Π°ΡΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°Β GitHub, Π° your-project
β Π½Π°Β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡ
Β Π½Π°ΠΉΡΠΈ ΠΏΡΡΠΌΠΎ Π½Π°Π²Π΅ΡΡ
Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΡΠ»ΠΈ Π²ΡΒ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ SSH-ΠΊΠ»ΡΡΠΈ, Git ΡΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π°Β Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
β device git clone [email protected]:academy-student/1173761-device-34.git ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Β«1173761-device-34Β»β¦ remote: Enumerating objects: 15, done. remote: Counting objects: 100% (15/15), done. remote: Compressing objects: 100% (14/14), done. remote: Total 15 (delta 0), reused 15 (delta 0), pack-reused 0 ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: 100% (15/15), 145.07 ΠΠΈΠ | 900.00 ΠΠΈΠ/Ρ, Π³ΠΎΡΠΎΠ²ΠΎ.
ΠΡΠ»ΠΈ Π²ΡΒ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ Error: Permission denied (publickey)
, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π²ΡΒ ΠΎΡΠΈΠ±Π»ΠΈΡΡ Π²Β Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ SSH-ΠΊΠ»ΡΡΠ°.
ΠΡΡΠ°ΡΠΈ, Π΅ΡΠ»ΠΈ Π²ΡΒ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΡΒ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΒ Π²Π°Ρ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π»ΠΎΡΡ ΠΎΡΒ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π²Β ΠΊΠΎΠ½ΡΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅:
git clone [email protected]:_your-nickname_/_your-project_.git folder_name
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°Β Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π²Β ΠΏΠ°ΠΏΠΊΠ΅ your_project
ΠΈΠ»ΠΈ Π²Β ΡΠΎΠΉ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΒ ΡΠΊΠ°Π·Π°Π»ΠΈ, Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ»Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ cΒ GitHub.
ΠΒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΌ GitΒ β ΠΎΠ½Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ master
. ΠΠ±ΡΡΠ½ΠΎ Π²Β Π½Π΅ΠΉ Ρ
ΡΠ°Π½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΒ Π΅ΡΠ»ΠΈ Π²ΡΒ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π²Β ΠΊΠΎΠ΄Π΅ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎ-ΡΠΎ Π²Β ΠΏΡΠΎΠ΅ΠΊΡ, Π½ΠΎΒ Π½Π΅Β Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ»ΠΎΠΌΠ°ΡΡ ΠΊΠΎΠ΄ Π²Β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΠΈΠ· master
ΠΈΒ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ·Β Π½Π΅Ρ. ΠΠ°ΠΆΠ΄Π°Ρ Π²Π΅ΡΠΊΠ°Β β ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ Π²ΡΠΎΡΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΡΠΎΠ³ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΡΠ΅ΠΌ ΡΠ½ΠΎΠ²Π° ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡ ΡΒ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ.
Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ β git branch
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈΒ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git branch
ΠΠ½Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²Π΅ΡΠΎΠΊ, ΡΒ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡΒ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π²Β ΠΏΡΠΎΠ΅ΠΊΡΠ΅, ΠΈΒ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡ. ΠΡΠ»ΠΈ ΠΌΡΒ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌΡΡ Π² master
, ΡΠΎΒ ΡΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
git checkout -b ΠΈΠΌΡ-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅ΡΠΊΠΈ.
β 1173761-device-34 git:(master) git checkout -b task1 ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ Β«task1Β» β 1173761-device-34 git:(task1)
ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° Π½Π΅ master
, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π°Β Π½Π΅Ρ ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ checkout
. ΠΠΎΡΠ»Π΅ git checkout
Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ.
git checkout master
ΠΡΒ Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ, ΡΡΠΎΠ±Ρ Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠ°Π»Π° ΡΠ²Π΅ΠΆΡΡ ΡΠ°Π±ΠΎΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠ»ΠΈ Π²ΡΒ ΠΎΡΠΈΠ±Π»ΠΈΡΡ Π²Β Π½Π°Π·Π²Π°Π½ΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΏΡΡΡΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΡ, Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git branch -m ΡΡΠ°ΡΠΎΠ΅-ΠΈΠΌΡ-Π²Π΅ΡΠΊΠΈ Π½ΠΎΠ²ΠΎΠ΅-ΠΈΠΌΡ-Π²Π΅ΡΠΊΠΈ.
Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΒ β git add
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΒ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π²Π΅ΡΠΊΡ ΠΈΒ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π²Β Π½Π΅ΠΉ ΡΒ ΡΠ΅Π±Ρ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π²Β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈΒ Π½Π΅Β ΠΏΡΠΎΠΏΠ°Π».
ΠΡΠ»ΠΈ Π²ΡΒ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅Β Π²ΠΎΒ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»Π°Ρ
, Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git status
. ΠΠ½Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²Β Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅, Π°Β ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΏΠΈΡΠΎΠΊ ΡΒ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ, ΠΈΒ ΡΠΊΠ°ΠΆΠ΅Ρ Π½Π°Β ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈΒ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ (ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Ρ ΠΊΡΠ°ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ).
Π§ΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git add -A
Π§ΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΡ
Β ΠΈΠΌΠ΅Π½Π° Π²ΡΡΡΠ½ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²ΡΒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» index.html
, Π²Π²Π΅Π΄ΠΈΡΠ΅
git add index.html
ΠΡΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅, Π²ΡΒ Π½Π°ΡΠ½ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΏΠΈΡΠ°ΡΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Tab ΠΈΒ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΡΠ°ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠΈ ΠΊΒ ΡΠ°ΠΉΠ»Ρ.
ΠΠ΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΒ β git commit
Π‘Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΒ β Π·Π½Π°ΡΠΈΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΒ Π΄Π°ΡΡ ΠΈΠΌΒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ commit
git commit -m "Π²Π°ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅"
Π’Π΅ΠΊΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΌ ΠΈΒ Π²ΠΌΠ΅ΡΡΠ΅ ΡΒ ΡΡΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΎΒ ΡΠΎΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ (Π²Π½Π΅ΡΡΠ½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
- ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠΌΡ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊΠ° Π²Β Readme
- ΠΠ²ΠΎΠ΄ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
- ΠΡΠ°Π²ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ Π²Β ΠΏΠΎΠΈΡΠΊΠ΅ Π³ΠΎΡΠΎΠ΄ΠΎΠ² Π½Π°Β ΠΊΠ°ΡΡΠ΅
ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°Β GitHubΒ β git push
Π‘ΠΎΡ ΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ° Π½Π΅Β Π²ΠΈΠ΄Π½Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²Β Π½Π°ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΡΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π°Β GitHub. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git push origin Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΡΠ΅ΠΊΡΡΠ΅ΠΉ-Π²Π΅ΡΠΊΠΈ
ΠΠ΄Π΅ origin
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΡΠΎΒ Π΅ΡΡΡ Π²Π°Ρ ΡΠΎΡΠΊ. Π‘Π»ΠΎΠ²ΠΎ origin
β ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π΅Β ΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π°Β ΡΠ²ΠΎΡ.
Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ
ΠΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ (ΠΈΠ»ΠΈ PR)Β β ΡΡΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π²Β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. PRΒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΒ β ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠΎΠ»Π»Π΅Π³Π°-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΡΠ΅Ρ Π»ΠΈΠ΄ ΠΈΠ»ΠΈ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊ Π½Π°Β ΠΊΡΡΡΠ΅.
ΠΡΠ»ΠΈ ΠΊΒ ΠΊΠΎΠ΄Ρ Π½Π΅Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡΒ β ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ΅ΡΡΡ, ΠΈΒ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄ ΠΈΒ ΡΠ½ΠΎΠ²Π° ΠΏΡΠΎΠΉΡΠΈ ΡΠ΅ΠΏΠΎΡΠΊΡ git add
β git commit
β git push
. ΠΡΠ»ΠΈ Π²ΡΒ ΠΈΒ Π΄Π°Π»ΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π²Β ΡΠΎΠΉΒ ΠΆΠ΅ Π²Π΅ΡΠΊΠ΅, Π°Β ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ Π΅ΡΡ Π½Π΅Β ΠΏΡΠΈΠ½ΡΡ, Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΡΡ Π²Β ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΈΠ·Β ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push origin Π½Π°Π·Π²Π°Π½ΠΈΠ΅-ΡΠ΅ΠΊΡΡΠ΅ΠΉ-Π²Π΅ΡΠΊΠΈ
.
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ, Π·Π°ΠΉΠ΄ΠΈΡΠ΅ Π½Π°Β ΡΡΡΠ°Π½ΠΈΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΎΡΠΊΠ° Π½Π°Β GitHub. ΠΠ²Π΅ΡΡ Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠ»Π°ΡΠΊΠ° Compare &Β pull request, Π°Β Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π½Π°Β Π²ΠΊΠ»Π°Π΄ΠΊΡ Pull Requests.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π°Β Π½Π΅Ρ ΠΈΒ ΠΎΠΊΠ°ΠΆΠ΅ΡΠ΅ΡΡ Π½Π°Β ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΎΡΠΊΡΡΡΠΈΡ ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΒ Π½Π°ΠΆΠΌΠΈΡΠ΅ Create pull request.
ΠΠΎΡΠΎΠ²ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΆΠ΄ΡΠΌ ΠΎΡΡΠ°ΡΡΡΡ ΠΆΠ΄Π°ΡΡ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊΒ Π½Π΅ΠΌΡ.
Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²ΡΒ ΠΈΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΠΊΠΎΠ΄, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊ ΠΎΠ΄ΠΎΠ±ΡΠΈΠ» Π²Π°ΡΠΈ ΠΏΡΠ°Π²ΠΊΠΈ ΠΈΒ ΠΏΡΠΈΠ½ΡΠ» ΠΏΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ΄ Π²Β ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΡΡ, Π°Β Π²Β Π²Π°ΡΠ΅ΠΌ ΡΠΎΡΠΊΠ΅ Π½Π΅Ρ, Π²ΡΒ Π²Π΅Π΄Ρ Π½Π΅Β ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»ΠΈ ΡΠ²ΠΎΡ Π²Π΅ΡΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΒ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΊΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π»ΠΈ Π΅ΡΒ ΡΠ΅Π±Π΅ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΡΠΈΠ²Π΅Π΄ΡΠΌ ΡΠΎΡΠΊ Π²Β Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
ΠΒ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π½Π°Β Π²Π΅ΡΠΊΡ master
.
git checkout master
ΠΠ°Π±ΠΈΡΠ°Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·Β Π²Π΅ΡΠΊΠΈ master
ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
git pull [email protected]:academy-student/1173761-device-34.git master
ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΆΠ΅ ΠΈΠ·Β ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ master
Π²Β Π²Π°Ρ ΡΠΎΡΠΊ Π½Π°Β GitHub ΡΒ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git push origin master
ΠΠΎΡΠΎΠ²ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΡΠΊ ΠΈΒ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²Β Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
Π‘Π»ΠΎΠ²Π°ΡΠΈΠΊ
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉΒ β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ, Π²Π½ΠΎΡΠΈΡΡ ΠΈΒ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
GitΒ β ΡΠ°ΠΌΠ°Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. Π‘Β Git ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π».
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»: ΠΌΡΒ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΒ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠ²Π΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Β β ΠΈΠ»ΠΈ Π²ΡΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΠΈΠ»ΠΈ Π³Π΄Π΅-ΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΈΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΡΡΠΎ-ΡΠΎ Π΅ΡΡ.
GitHub (ΠΈΠ»ΠΈ ΠΠΈΡΡ Π°Π±)Β β Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π°Β Git, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ IT-ΠΏΡΠΎΠ΅ΠΊΡΡ. ΠΠ°Β ΠΠΈΡΡ Π°Π±Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΡΡ ΡΠ²ΠΎΠΉ ΠΈΒ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡΡ ΡΡΠΆΠΎΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈΒ ΡΠ»Π΅Π΄ΡΡ Π·Π°Β Π½ΠΎΠ²ΠΎΡΡΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
SSH-ΠΊΠ»ΡΡ Π½ΡΠΆΠ΅Π½, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊΒ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌ Π½Π°Β GitHub ΡΠΎΒ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈΒ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π΅Π· ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠΎΠ»Ρ, Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠ²Π΅Ρ Π½Π°Ρ ΡΠ·Π½Π°Π²Π°Π».
ssh-agentΒ β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΒ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ SSH-ΠΊΠ»ΡΡΠ°ΠΌΠΈ.
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉΒ β ΠΏΠ°ΠΏΠΊΠ° ΡΒ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°Β ΡΠ΅ΡΠ²Π΅ΡΠ΅ GitHub ΠΈΠ»ΠΈ ΡΒ Π²Π°Ρ Π½Π°Β ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
ΠΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉΒ β ΡΡΠΎ ΠΎΠ±ΡΠΈΠΉ Π΄Π»Ρ Π²ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΒ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π€ΠΎΡΠΊΒ β ΠΏΠΎΠ»Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π²Β ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΒ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΊΒ β ΡΠΊΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git clone
, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΒ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π°Β ΡΠ²ΠΎΡΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
ΠΡΠ»ΡΠ΅ΠΊΠ²Π΅ΡΡ (ΠΈΠ»ΠΈ PR)Β β ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π²Β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. PRΒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΒ β ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠΎΠ»Π»Π΅Π³Π°-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΡΠ΅Ρ Π»ΠΈΠ΄ ΠΈΠ»ΠΈ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊ Π½Π°Β ΠΊΡΡΡΠ΅.
git pull | Atlassian Git Tutorial
ΠΠΎΠΌΠ°Π½Π΄Π° git pull
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΡΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ. Π‘Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ β ΡΡΠΎ ΠΎΠ±ΡΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠ°Ρ ΠΏΡΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΡ Git. ΠΠΎΠΌΠ°Π½Π΄Π°
Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π΄Π²ΡΡ
Π΄ΡΡΠ³ΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄: git fetch
ΠΈ git merge
. ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ git pull
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git fetch
, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½Π°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ HEAD
. Π‘ΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ»ΠΈΡΠ½ΠΈΠ΅. ΠΠ»Ρ ΡΠ»ΠΈΡΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ HEAD
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ git pull
ΠΠΎΡΡΠ΄ΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ
Π‘Π½Π°ΡΠ°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull
Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git fetch
Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git merge
, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠ°Ρ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π² Π½ΠΎΠ²ΡΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ. Π§ΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ main ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ origin.
Π ΡΡΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull
Π·Π°Π³ΡΡΠ·ΠΈΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΡΠ°Π·ΠΎΡΠ»ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈ Π³Π»Π°Π²Π½Π°Ρ Π²Π΅ΡΠΊΠΈ.
git pull
ΠΏΠΎΠ»ΡΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· ΠΎΡΡ
ΠΎΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ (Ρ. Π΅. ΡΠΎΡΠΊΠΈ AβBβC). ΠΠ°ΡΠ΅ΠΌ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ pull Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²ΡΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π½ΠΎΠ²ΡΡ
ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ· ΠΎΡΡ
ΠΎΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ.ΠΠ° Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΡΡ
Π΅ΠΌΠ΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ H. ΠΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ
ΠΎΠ΄ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² AβBβC ΠΈ ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ±ΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΠΆΡΡΠ½Π°Π»Π΅. ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ ΡΠ»ΠΈΡΠ½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git pull
. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π° Π½Π΅ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git pull
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ --rebase
. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pull. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌΡΡ Π² Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ Π½Π°ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡ
Π΅ΠΌΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git pull --rebase
.
ΠΠ° ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pull Π½Π΅ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ H. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ AβBβC Π±ΡΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΈΡΡΠΎΡΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ origin/main ΠΏΠ΅ΡΠ΅Π΄ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ EβFβG Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ .
Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ
gitΒ pullΒ <remote>
ΠΠ·Π²Π»Π΅ΡΡ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΡΠ»ΠΈΡΡ Π΅Π΅ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git fetch
, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git merge origin/
.
gitΒ pullΒ --no-commitΒ <remote>
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π²ΡΠ·ΠΎΠ²Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, Π½ΠΎ Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠΎ ΡΠ»ΠΈΡΡΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ.
gitΒ pullΒ --rebaseΒ <remote>
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ pull, ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git merge
Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git rebase
.
gitΒ pullΒ --verbose
ΠΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pull Π²ΡΠ΄Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΎ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠΈ.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ git pull
ΠΠΎΠΌΠ°Π½Π΄Ρ git pull
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ svn update
, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Git. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ. ΠΠ° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅ Π΄Π°Π½Ρ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ°Π³Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pull.
Π‘Π½Π°ΡΠ°Π»Π° Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π²Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git fetch
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π΅ΡΡΠΈΡ origin Π²Π΅ΡΠΊΠΈ main Π±ΡΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°. ΠΠ°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° git merge
ΡΡΠ°Π·Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ main Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ.
Git pull ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ
ΠΠΎΠΌΠ°Π½Π΄Π° git pull
β ΠΎΠ΄Π½Π° ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΡ
Π·Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. ΠΠΎΠΌΠ°Π½Π΄Π° git remote
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ, Π½Π° ΠΊΠ°ΠΊΠΈΡ
ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ
ΡΠΎΡΠΊΠ°Ρ
Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠΌΠ°Π½Π΄Π° git push
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ³ΡΡΠ·ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠΎΠΌΠ°Π½Π΄Ρ git fetch
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΡΡΠ°ΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git pull
. ΠΠ±Π΅ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ git pull
ΠΈ git fetch
Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΡΠΎΠ²Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠΌΠ°Π½Π΄Ρ git fetch
ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ Β«Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌΒ» Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ, Π° git pull
β Β«Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌΒ». ΠΠΎΠΌΠ°Π½Π΄Π° git fetch
Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, Π½ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ git pull
Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈ ΡΡΠ°Π·Ρ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π»ΠΎ ΡΡΠΎΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ pull ΠΈ rebase
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ --rebase
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π° Π½Π΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅, ΠΊΠ°ΠΊ Π±Ρ Π·Π°ΡΠ²Π»ΡΡ: Β«Π― Ρ
ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈΡΡ ΠΏΠΎΠ²Π΅ΡΡ
Π²ΡΠ΅Ρ
ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
Β». Π ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull
Ρ ΡΠ»Π°Π³ΠΎΠΌ --rebase
Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΡ
ΠΎΠΆΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ svn update
, ΡΠ΅ΠΌ Π½Π° ΠΏΡΠΎΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git pull
.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° pull Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ --rebase
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΎ, ΡΡΠΎ Π΄Π»Ρ Π½Π΅Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΎΠΏΡΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ:
gitΒ configΒ --globalΒ branch. autosetuprebaseΒ always
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git pull
Π±ΡΠ΄ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rebase
, Π° Π½Π΅ git merge
.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ git pull
Π Π½ΠΈΠΆΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ
ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git pull
Π² ΠΎΠ±ΡΠΈΡ
ΡΡΠ΅Π½Π°ΡΠΈΡΡ
.
ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
gitΒ pull
ΠΡΠ·ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ git pull
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ git fetch origin HEAD
ΠΈ git merge HEAD
, Π³Π΄Π΅ HEAD
β ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ.
ΠΠΎΠΌΠ°Π½Π΄Π° git pull Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΠ°Ρ
gitΒ checkoutΒ new_feature
gitΒ pullΒ <remoteΒ repo>
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π²Π΅ΡΠΊΠ° ΠΈ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π΅Π΅. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull
, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ . ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½Π΅ΡΠ²Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ (Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pull) Π²Π΅ΡΠΊΠΈ newfeature ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ . ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git merge
.
ΠΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git pull Π²ΠΌΠ΅ΡΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Ρ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ main ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
gitΒ checkoutΒ main
gitΒ pullΒ --rebaseΒ origin
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Learn Git β ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°, ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git
ΠΎΡΠ½ΠΎΠ²Ρ Git
Git β ΡΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ ΠΠΈΠ½ΡΡΠΎΠΌ Π’ΠΎΡΠ²Π°Π»ΡΠ΄ΡΠΎΠΌ Π² 2005 Π³ΠΎΠ΄Ρ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ SVN ΠΈ CVS, Git ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ: ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΊΠΎΠ΄Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΈΠΊΡΠ°ΡΠΈΡ, ΠΎΠ±Π²ΠΈΠ½Π΅Π½ΠΈΠ΅, ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΡΡΡΡΡ.
Git ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ, ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½ΡΡ ΠΈ ΠΌΠΎΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΠΏΡΠΎΡΡ Π½Π° Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Git ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°. ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ Git ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Π² ΠΌΠΈΡΠ΅ ΠΈ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Git
ΠΠΎΡ ΠΎΠ±ΡΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Git:
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Β«ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉΒ» (ΠΏΡΠΎΠ΅ΠΊΡ) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Ρ ΠΎΡΡΠΈΠ½Π³Π° git (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Bitbucket)
- Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ (ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅) ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° ΡΠ²ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ°ΠΉΠ» Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΠΏΠΎ ΠΈ Β«Π·Π°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅Β» (ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅) ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
- «ΠΡΠΏΡΠ°Π²ΡΡΠ΅» Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ
- ΠΠ½Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Ρ ΠΎΡΡΠΈΠ½Π³Π° git ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅
- «ΠΡΡΡΠ½ΠΈΡΠ΅» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΡΠ²ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ «Π²Π΅ΡΠΊΡ» (Π²Π΅ΡΡΠΈΡ), ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
- ΠΡΠΊΡΡΡΡ Β«pull requestΒ» (ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅)
- Β«ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡΒ» Π²Π°ΡΡ Π²Π΅ΡΠΊΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ Git
Git Download
Mac OS/X
Download InstallerHomebrewMacPortsSourcetreeBuild Git Π΄Π»Ρ Mac OS X
ΠΠ·ΡΡΠΈΡΠ΅ Git
ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ Git Ρ ΠΏΠΎΠΌΠΎΡΡΡ Bitbucket CloudΠ£Π·Π½Π°ΠΉΡΠ΅ ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΠΊΠΎΠ΄Π° Π² Bitbucket CloudLearn ΠΠ΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Bitbucket CloudLearn ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Bitbucket Cloud
ΠΠΎΠ²ΠΈΡΠΎΠΊ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉΠ§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ GitΠΠΎΡΠ΅ΠΌΡ Git Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈΠ£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°ΡΡ ΠΈΠ² GitGit SSHGitΠ¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° GitOpsGit
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠ‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΠΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ ΠΈΡΡΠΎΡΠΈΠΈ
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ°
Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠ²Π΅ΠΉΠ‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²
ΠΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° Git
SVN Π² Git β ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Git Ρ SVNPerforce Π½Π° Git β Π·Π°ΡΠ΅ΠΌ Π΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΠΈΠ³ΡΠ°ΡΠΈΡ Ρ Perforce Π½Π° Git
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠ²Π΅ΡΡ
Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ GitΠ‘Π»ΠΈΡΠ½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Reset, Checkout ΠΈ RevertΠ Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΆΡΡΠ½Π°Π» GitGit HooksRefs ΠΈ ReflogΠΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»ΠΈ GitGit subtreeGit LFSGit gcGit pruneΠΠΎΠ»ΡΡΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π² GitGit bashΠΠ°ΠΊ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΎΡΠ΅ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»ΡGit cherry pickGitKGit-show
0004 9009 ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°0034 ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠ‘Π°ΡΠ° ΠΠΎΡΡ-ΠΡΠΏΠΎΠ½
ΠΡΡΡ ΡΠΎΠ²Π΅ΡΠΎΠ² ΠΏΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ Git, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π΄Π»Ρ CI
Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
ΠΡΡΡ Π¨Π΅Π»ΡΠΎΠ½
Git ΠΈΠ»ΠΈ SVN? ΠΠ°ΠΊ Nuance Healthcare Π²ΡΠ±ΡΠ°Π»Π° ΠΌΠΎΠ΄Π΅Π»Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ Git?
Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
ΠΡΡΡ Π¨Π΅Π»ΡΠΎΠ½
Π Π°Π±ΠΎΡΠ° Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ Maven ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ Π½Π° Git
ΠΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΡΠ°ΡΡΠΈ
ΠΠ½Π°Π΅ΡΠ΅ Π»ΠΈ Π²Ρ.
..Π€ΠΈΠ»ΠΈΠ°Π»
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅:Β Π€ΠΈΠ»ΠΈΠ°Π» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ Π»ΠΈΠ½ΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ. ΠΠ΅ΡΠΊΠΈ ΡΠ»ΡΠΆΠ°Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠ΅ΠΉ Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ/ΡΡΠ°Π΄ΠΈΠΈ/ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² Git Basics, ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΡ ΠΊΠ°ΠΊ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΠΈΡΡΠΎΡΠΈΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ°Π·Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
Git Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»
- ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Git
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ Git
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SSH
- ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ HTTPS
- ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠΊΠ΅Π½Π°
- ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ
- ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²
- ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅
- Π€ΠΈΠ»ΠΈΠ°Π»Ρ
- Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ
- ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π²Π΅ΡΠΊΡ
- ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡΠ»ΠΈΡΠΈΡ
- ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°ΠΉΠ»Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
- ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
- ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
- ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° GitLab. com
- Π£Π΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π΅ΡΠΊΠ΅
- ΠΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ
- ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
- ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²Π΅ΡΠΊΡ Ρ Π²Π΅ΡΠΊΠΎΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
- Π Π°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Git ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ
- Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°Π·Π²Π΅ΡΠ²Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ
Git β ΡΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. GitLab ΡΠΎΠ·Π΄Π°Π½ ΠΏΠΎΠ²Π΅ΡΡ Git.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Git ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² GitLab. ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² Git ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΠΈΡΡΡΡ, ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΠ»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Git Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΏΠ°ΠΌΡΡΠΊΡ Git.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°Ρ ΡΠ°Π±ΠΎΡΡ Ρ Git ΠΈ GitLab:
- Β ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ GitLab.
- Π£Π·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ GitLab ΡΡΠ°Π» ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Worldline.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎ, ΡΡΠΎ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Git Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ.
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»
Π§ΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΊΡΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» (ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°, ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°). ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²:
- ΠΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ macOS:
- ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π». ΠΠ°ΠΆΠΌΠΈΡΠ΅ β ΠΊΠΎΠΌΠ°Π½Π΄Ρ + ΠΏΡΠΎΠ±Π΅Π» ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅
ΡΠ΅ΡΠΌΠΈΠ½Π°Π»
. - iTerm2. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Ρ Zsh ΠΈ Oh My Zsh Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
- ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π». ΠΠ°ΠΆΠΌΠΈΡΠ΅ β ΠΊΠΎΠΌΠ°Π½Π΄Ρ + ΠΏΡΠΎΠ±Π΅Π» ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅
- ΠΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Windows:
- ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°. ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ Windows Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅
cmd
. - PowerShell.
- ΠΠΈΡ ΠΠ°Ρ. ΠΠ½ Π²ΡΡΡΠΎΠ΅Π½ Π² Git Π΄Π»Ρ Windows.
- ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°. ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ Windows Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅
- ΠΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Linux:
- ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Linux.
ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅, ΡΡΠΎ Git ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π»ΠΈ Git Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΎΡΠΊΡΡΠ² ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ Π·Π°ΠΏΡΡΡΠΈΠ² ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git --version
ΠΡΠ»ΠΈ Git ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, Π²ΡΠ²ΠΎΠ΄:
git Π²Π΅ΡΡΠΈΠΈ XYZ
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π½Π΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ git
ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Git.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Git
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Git Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π²Π΅ΡΡΠΈ ΡΠ²ΠΎΠΈ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ Π°Π²ΡΠΎΡΠ° ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ. ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π² GitLab.
Π Π²Π°ΡΠ΅ΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ²ΠΎΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
git config --global user.name "your_username"
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ²ΠΎΠΉ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ:
git config --global user.email "[email protected]"
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
git ΠΊΠΎΠ½ΡΠΈΠ³ --global --list
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ
--global
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Git Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΡΡΠΈΡΠ΅--global
ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅--local
, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Git ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Git.
ΠΡΠ±Π΅ΡΠΈΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. Π΄ΠΎΡΡΡΠΏ Π½Π° GitLab.com ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ GitLab.
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅:
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° https://gitlab.com/gitlab-tests/sample-project/.
- Π ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠΈΠ»ΠΊΠ° .
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΡΠΊΠ°.
ΠΡΠΎΠ΅ΠΊΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ https://gitlab.com/
.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΠ²ΠΈΡΡ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ.
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π½Π° Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΎ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SSH ΠΈΠ»ΠΈ HTTPS. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SSH.
ΠΠ»ΠΎΠ½ Ρ SSH
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SSH, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠΉΡΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
- ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π² GitLab, ΡΠ»Π΅Π΄ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ SSH.
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ΅Π»Π΅Π²ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Clone . Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ URL-Π°Π΄ΡΠ΅Ρ . ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SSH .
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ. Git Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΡΠ΄Π° ΡΠ°ΠΉΠ»Ρ.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git clone [email protected]:gitlab-tests/sample-project.git
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π½ΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³:
cd sample-project
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Visual Studio Code.
ΠΠ»ΠΎΠ½ Ρ HTTPS
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ HTTPS, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠΈΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ ΠΈ GitLab.
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ΅Π»Π΅Π²ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠ»ΠΎΠ½ . Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ URL-Π°Π΄ΡΠ΅Ρ Π΄Π»Ρ ΠΠ»ΠΎΠ½ Ρ HTTPS .
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Git Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΡΠ΄Π° ΡΠ°ΠΉΠ»Ρ.
ΠΊΠ»ΠΎΠ½ git https://gitlab.com/gitlab-tests/sample-project.git
GitLab Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π²Π°ΡΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ.
ΠΡΠ»ΠΈ Π²Ρ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ (2FA) Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠΎΠ»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ:
- ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠΊΠ΅Π½ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ
read_repository
ΠΈΠ»ΠΈwrite_repository
. - Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΡΠ΅ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Git.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
- ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠΊΠ΅Π½ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π½ΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³:
cd sample-project
Π Windows, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²Π²Π΅Π΄Π΅ΡΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½
,
Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ (ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ) ΠΊ ΠΏΡΡΠΈ: ΠΊΠ»ΠΎΠ½ git https://namespace@gitlab. com/gitlab-org/gitlab.git
.
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΊΠ΅Π½Π°
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ HTTPS Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΊΠ΅Π½Π°, Π΅ΡΠ»ΠΈ:
- ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ 2FA.
- ΠΡ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ΅ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Π±ΡΠ» ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π· HTTPS:
- Π’ΠΎΠΊΠ΅Π½Ρ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°.
- Π Π°Π·Π²Π΅ΡΠ½ΠΈΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ.
- Π’ΠΎΠΊΠ΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ.
- Π’ΠΎΠΊΠ΅Π½Ρ Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°.
git clone https://<ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ>:<ΡΠΎΠΊΠ΅Π½>@gitlab.example.com/tanuki/awesome_project.git
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ, ΡΡΠΎΠ±Ρ Git ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π» Π΅Π΅ ΠΊΠ°ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git init
Π Π²Π°ΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ°
. git
. ΠΡΠ° ΠΏΠ°ΠΏΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Git Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ Π½Π°ΠΏΡΡΠΌΡΡ.- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΡΡΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΡΠΎΠ±Ρ Git ΠΌΠΎΠ³ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²Π°ΡΠΈ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠ»ΡΡ
ΠΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ Β«ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉΒ», ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ Git, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² GitLab ΠΏΡΠΈΠ²ΡΠ·Π°Π½ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Git, ΠΎΡΠΊΡΠ΄Π° Π½Π°ΠΆΠΈΠΌΠ°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ.
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΡ:
- Π GitLab ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
- ΠΠΎΡΠ΅ΡΠΈΡΠ΅ Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΡΠΎΠΊΡΡΡΠΈΡΠ΅ Π²Π½ΠΈΠ· Π΄ΠΎ ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π°ΡΠΈΠ½Π°ΡΡΡΡΡΡ Ρ
git remote add
. ΠΠ° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ, Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ , Π²Π²Π΅Π΄ΠΈΡΠ΅ :
git remote add origin [email protected]:username/projectpath. git
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠ°ΠΉΠ»Ρ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΡ Π² GitLab.
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π²Π²Π΅Π΄ΠΈΡΠ΅:
git ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ -v
Π€Π»Π°Π³ -v
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅
Π§ΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²Ρ ΡΡΠ½Π΅ΡΠ΅
, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ
Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°ΠΌΠ΅Π½ΠΈΡΡ <Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ>
Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄ Π²Π΅ΡΠΊΠΈ, ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ Π²Π΅ΡΠΊΠΈ
Π²Ρ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.
git pull <Π£ΠΠΠΠΠΠΠ«Π> <ΠΈΠΌΡ-Π²Π΅ΡΠΊΠΈ>
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, REMOTE
ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ origin
. ΠΠΎΡ Π³Π΄Π΅
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΡΠ» ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½, ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ URL-Π°Π΄ΡΠ΅Ρ SSH ΠΈΠ»ΠΈ HTTPS ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅.
ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π²Π°ΡΠ΅Π³ΠΎ
Π²Π΅ΡΠ²Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±Π°Ρ
ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ°Ρ Π²Π΅ΡΠΊΠ°. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠ»ΡΡΡ ΠΈ Π²Π΅ΡΠΊΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Git ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ, Π² ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Git Remote.
Π€ΠΈΠ»ΠΈΠ°Π»Ρ
ΠΠ΅ΡΠ²Ρ β ΡΡΠΎ ΠΊΠΎΠΏΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅ΡΠΊΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅, Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Ρ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ. ΠΠΎΠ³Π΄Π°
Π²Ρ Π³ΠΎΡΠΎΠ²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ Π²
Π²Π΅ΡΠ²Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, main
.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΠ³Π΄Π°:
- Π₯ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ΄ Π² ΠΏΡΠΎΠ΅ΠΊΡ, Π½ΠΎ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ ΠΎΠ½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
- Π‘ΠΎΡΡΡΠ΄Π½ΠΈΡΠ°Π΅ΡΠ΅ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΈ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΡΠΌΠ΅ΡΠΈΠ²Π°Π»Π°ΡΡ.
ΠΠΎΠ²ΡΡ Π²Π΅ΡΠ²Ρ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠ²ΡΡ , ΡΡΠΎΠ±Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡ Π΅Π΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ. Π²Π΅ΡΠ²Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ:
git checkout -b <ΠΈΠΌΡ-Π²Π΅ΡΠΊΠΈ>
ΠΠΌΠ΅Π½Π° Π²Π΅ΡΠ²Π΅ΠΉ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ, ΡΠΈΡΡΡ,
Π΄Π΅ΡΠΈΡΡ ( -
) ΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ( _
).
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΡΠΈΠ»ΠΈΠ°Π»
ΠΡΡ ΡΠ°Π±ΠΎΡΠ° Π² Git Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² Π²Π΅ΡΠΊΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠ²ΡΠΌΠΈ, ΡΡΠΎΠ±Ρ Π²ΠΈΠ΄Π΅ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅.
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ Π²Π΅ΡΠΊΡ:
git checkout <ΠΈΠΌΡ-Π²Π΅ΡΠΊΠΈ>
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π²Π΅ΡΠΊΡ main
:
git checkout main
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠΈΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π½Π΅ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΡΠΈΠ»ΠΈ:
git diff
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
ΠΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅, ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠΈ, Git ΡΠ·Π½Π°Π΅Ρ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ . Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ:
ΡΡΠ°ΡΡΡ git
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
ΠΡΠΈ Π²Π²ΠΎΠ΄Π΅ git status
Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΊΡΠ°ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ. ΠΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ
Π±ΡΡΡ Π½ΠΎΠ²ΡΠΌΠΈ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ:
git add <ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΠΠ ΠΈΠΌΡ ΠΏΠ°ΠΏΠΊΠΈ>
ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ ΡΠ°Π³ 1 Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ. ΠΠ»ΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π²Π²Π΅Π΄ΠΈΡΠ΅
git add .
.ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² staging:
git status
Π€Π°ΠΉΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π·Π΅Π»Π΅Π½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ.
Π§ΡΠΎΠ±Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ:
git commit -m "ΠΠΠΠΠΠΠ’ΠΠ ΠΠ ΠΠΠ― ΠΠΠΠ‘ΠΠΠΠ― ΠΠΠΠΠ ΠΠΠΠ― ΠΠΠΠΠΠ’Π"
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ»ΡΠΊΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² staging ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git commit -a -m Β«ΠΠΠΠΠΠΠ’ΠΠ ΠΠ, Π§Π’ΠΠΠ« ΠΠΠΠ‘ΠΠ’Π¬ ΠΠΠΠΠ ΠΠΠΠ ΠΠΠΠΠΠ’ΠΒ»
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° GitLab.com
Π§ΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
git push
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π²Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ
Π²Π΅ΡΠΊΠΈ origin
remote:
git push origin main
ΠΠ½ΠΎΠ³Π΄Π° Git Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠΌΠ΅ΡΡΠΎ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ.
Π£Π΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π΅ΡΠΊΠ΅
Π§ΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»Π°Ρ :
git checkout .
ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ»Π°Ρ , Π° Π½Π΅ Π² ΡΠ°ΠΌΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ . ΠΠ΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ (Π½ΠΎΠ²ΡΠ΅) ΡΠ°ΠΉΠ»Ρ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ.
ΠΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ
Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ (ΡΠ΄Π°Π»ΠΈΡΡ) Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ:
git reset
ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ
Π§ΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ:
git reset HEAD~1
ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π½Π΅ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΏΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅ΠΠΎΠΌΠΌΠΈΡ Git Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. Π₯ΠΎΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ, Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ Π² ΡΠ΅Π»ΠΎΠΌ, ΡΠ°Π±ΠΎΡΠ°Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π°Ρ , ΠΊΠΎΡΠΎΡΡΠΌΠΈ Git ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ Git Undoing Things.
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²Π΅ΡΠΊΡ Ρ Π²Π΅ΡΠΊΠΎΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΠΎΠ³Π΄Π° Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π΅ΡΠ²Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π²Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΠ΅ Π² Π½Π΅Π΅ Π²Π΅ΡΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ:
git checkout <Π²Π΅ΡΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ> git ΡΠ»ΠΈΡΡ <ΡΡΠ½ΠΊΡΠΈΡ-Π²Π΅ΡΠ²Ρ>
Π GitLab Π²Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π΄Π»Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ Π²Π°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈΠ· ΡΠΎΡΠΊΠ° Π² Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΠΌ. ΡΠ°Π·Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
Π Π°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Git ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ
ΠΠ»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Git ΡΠΌ. Git rebase, force-push ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ»ΠΈΡΠ½ΠΈΡ.
Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°Π·Π²Π΅ΡΠ²Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΠΌ
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½, Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π΅Π³ΠΎ ΡΠΎΡΠΊ.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² Π²Π°ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π½Π΅ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΠΎΠΌ.
Π§ΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ
ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.