ΠΠΎΠΌΠ°Π½Π΄Ρ git bash: cyberspacedk/Git-commands: Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ 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.
- ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ SignΒ up (Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ), ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π°Β ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, Π³Π΄Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅: ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ ΠΈΒ ΠΏΠ°ΡΠΎΠ»Ρ. ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠΌ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
- Π’ΡΠ΅ΡΠΈΠΉ ΡΠ°Π³Β β Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠΏΡΠΎΡ ΠΎΡΒ 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
.
ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Β ΡΠΎΡΠΊ.
ΠΠΎΡΠΎΠ²ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΡΠΊ ΠΈΒ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²Β Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ Git, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Git ΡΠ΅Π³ΠΎΠ΄Π½Ρ — ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ Git, ΡΠΎΡΡΠΎΡΡΠ°Ρ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ — ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ.
git add
ΠΠΎΠΌΠ°Π½Π΄Π°Β git add
Β Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡ (staging area) Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡΒ git commit
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π»ΠΈΡΡ ΡΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΒ git add
Β Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ»Π΅ΠΏΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git status
ΠΠΎΠΌΠ°Π½Π΄Π°Β git status
Β ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ΅: ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ, Π½ΠΎ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡ; ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅. ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ ΡΡΠΎΠΌΡ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ².
git diff
ΠΠΎΠΌΠ°Π½Π΄Π°Β git diff
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΡΠ±ΡΠΌΠΈ Π΄Π²ΡΠΌΡ Git Π΄Π΅ΡΠ΅Π²ΡΡΠΌΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠ΅ΠΉ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ (ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΒ git diff
), ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ (git diff --staged
), ΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΡΠ±ΡΠΌΠΈ Π΄Π²ΡΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ (git diff master branchB
).
git difftool
ΠΠΎΠΌΠ°Π½Π΄Π°Β git difftool
Β ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π²Π½Π΅ΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π° ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π² Π΄Π²ΡΡ
Π΄Π΅ΡΠ΅Π²ΡΡΡ
, Π½Π° ΡΠ»ΡΡΠ°ΠΉ Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΎΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΡΠΈΠΊΠ°Β git diff
.
git commit
ΠΠΎΠΌΠ°Π½Π΄Π°Β git commit
Β Π±Π΅ΡΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΠΈΠ½Π΄Π΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡΒ git add
, ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ ΠΈΡ
ΡΠ»Π΅ΠΏΠΎΠΊ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π²ΠΈΠ³Π°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π½Π° ΡΡΠΎΡ ΡΠ»Π΅ΠΏΠΎΠΊ.
git reset
ΠΠΎΠΌΠ°Π½Π΄Π°Β git reset
, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΒ HEAD
Β ΠΈ, ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°. Π’Π°ΠΊΠΆΠ΅ ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Β --hard
, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ Π½Π°ΡΠ°Π±ΠΎΡΠΎΠΊ ΠΏΡΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΡΠ΅ΡΡΡΠ·Π½ΠΎΡΡΠΈ ΡΠ²ΠΎΠΈΡ
Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ.
git rm
ΠΠΎΠΌΠ°Π½Π΄Π°Β git rm
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Git Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΠ½Π° ΠΏΠΎΡ
ΠΎΠΆΠ° Π½Π°Β git add
Β Ρ ΡΠ΅ΠΌ Π»ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½Π° ΡΠ΄Π°Π»ΡΠ΅Ρ, Π° Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git mv
ΠΠΎΠΌΠ°Π½Π΄Π°Β git mv
Β β ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ°ΠΉΠ», Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΒ git add
Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΒ git rm
Β Π΄Π»Ρ ΡΡΠ°ΡΠΎΠ³ΠΎ.
git clean
ΠΠΎΠΌΠ°Π½Π΄Π°Β git clean
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΌΡΡΠΎΡΠ° ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΠΉ.
git branch
ΠΠΎΠΌΠ°Π½Π΄Π°Β git branch
Β β ΡΡΠΎ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° βΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π²Π΅ΡΠΎΠΊβ. ΠΠ½Π° ΡΠΌΠ΅Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡ Π²Π°ΡΠΈ Π²Π΅ΡΠΊΠΈ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅, ΡΠ΄Π°Π»ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ ΠΈΡ
.
git checkout
ΠΠΎΠΌΠ°Π½Π΄Π°Β git checkout
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π΅ΡΠΎΠΊ ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠΈ ΠΈΡ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π² ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
git merge
ΠΠΎΠΌΠ°Π½Π΄Π°Β git merge
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π²Π΅ΡΠΎΠΊ Π² ΡΠ΅ΠΊΡΡΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
git mergetool
ΠΠΎΠΌΠ°Π½Π΄Π°Β git mergetool
Β ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²Π½Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΠΉ, Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ.
git log
ΠΠΎΠΌΠ°Π½Π΄Π°Β git log
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ²Π΅ΠΆΠ΅Π³ΠΎ ΠΈ ΡΡ
ΠΎΠ΄Ρ ΠΊ ΠΈΡΡΠΎΠΊΠ°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΎΠ½Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π»ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π½Π° Π²ΡΠ²ΠΎΠ΄ ΠΈΡΡΠΎΡΠΈΠΈ Π΄ΡΡΠ³ΠΈΡ
, Π΄Π°ΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΡΠ°Π·Ρ, Π²Π΅ΡΠΎΠΊ. Π’Π°ΠΊΠΆΠ΅ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
git stash
ΠΠΎΠΌΠ°Π½Π΄Π°Β git stash
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ Π½Π΅Π·Π°Π²Π΅ΡΡΡΠ½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ.
git tag
ΠΠΎΠΌΠ°Π½Π΄Π°Β git tag
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΠΌΠ΅ΡΠΊΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΅Π»ΠΈΠ·ΠΎΠ².
ΠΠ΅ ΡΠ°ΠΊ ΡΠΆ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Git ΡΡΠ΅Π±ΡΡΡ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠΏΠ΅ΡΠΈΡΡΡΡ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΠ³Π΄Π° Π²Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠ°ΠΌΠΈ, Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ.
git fetch
ΠΠΎΠΌΠ°Π½Π΄Π°Β git fetch
Β ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ ΠΈ Π·Π°Π±ΠΈΡΠ°Π΅Ρ ΠΈΠ· Π½Π΅Π³ΠΎ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ
Ρ Π²Π°Ρ ΠΏΠΎΠΊΠ° Π½Π΅Ρ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ ΠΈΡ
Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.
git pull
ΠΠΎΠΌΠ°Π½Π΄Π°Β git pull
Β ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Β git fetch
Β ΠΈΒ git merge
, Ρ.Π΅. Git Π²Π½Π°ΡΠ°Π»Π΅ Π·Π°Π±ΠΈΡΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠ»ΠΈΡΡ ΠΈΡ
Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ.
git push
ΠΠΎΠΌΠ°Π½Π΄Π°Β git push
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΡ
Π² Π½ΡΠΌ, ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΡ
ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π² Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ°Π²ΠΎ Π½Π° Π·Π°ΠΏΠΈΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
git remote
ΠΠΎΠΌΠ°Π½Π΄Π°Β git remote
Β ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π². ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ Π΄Π»ΠΈΠ½Π½ΡΠ΅ URL ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΡ
ΠΊΠΎΡΠΎΡΠΊΠΈΡ
ΡΡΡΠΎΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ «origin», ΡΠ°ΠΊ ΡΡΠΎ Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄ΡΡΡΡ Π·Π°Π±ΠΈΠ²Π°ΡΡ Π³ΠΎΠ»ΠΎΠ²Ρ Π²ΡΡΠΊΠΎΠΉ Π΅ΡΡΠ½Π΄ΠΎΠΉ ΠΈ Π½Π°Π±ΠΈΡΠ°ΡΡ Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΒ git remote
Β ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΈΡ
.
git archive
ΠΠΎΠΌΠ°Π½Π΄Π°Β git archive
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π² Π°ΡΡ
ΠΈΠ² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈΠ»ΠΈ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
git submodule
ΠΠΎΠΌΠ°Π½Π΄Π°Β git submodule
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠ΅ΡΡΡΡΡ. Π£ ΠΊΠΎΠΌΠ°Π½Π΄ΡΒ submodule
Β Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄-ΠΊΠΎΠΌΠ°Π½Π΄ βΒ add
,Β update
,Β sync
Β ΠΈ Π΄Ρ. β Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ.
git show
ΠΠΎΠΌΠ°Π½Π΄Π°Β git show
Β ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΏΡΠΎΡΡΠΎΠΌ ΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΌΠ΅ΡΠΊΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅.
git shortlog
ΠΠΎΠΌΠ°Π½Π΄Π°Β git shortlog
Β ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΡΠΎΠ³ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ΡΒ git log
. ΠΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ ΠΆΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΡΠΎ ΠΈΒ git log
, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π»ΠΈΡΡΠΈΠ½Π³Π° Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΠΎ Π°Π²ΡΠΎΡΡ.
git describe
ΠΠΎΠΌΠ°Π½Π΄Π°Β git describe
Β ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° Π²Ρ
ΠΎΠ΄ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°ΠΊΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ (Π²Π΅ΡΠΊΡ, ΡΠ΅Π³) ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΡΠΈΡΠ°Π΅ΠΌΡΡ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½Π°Ρ, Π½ΠΎ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π°Ρ, Π·Π°ΠΌΠ΅Π½Π° SHA-1.
Π Git Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΠΊΠΎΠ΄Π΅. ΠΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠ΅ΡΡΠ° Π² ΠΈΡΡΠΎΡΠΈΠΈ, Π³Π΄Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ° ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
git bisect
ΠΠΎΠΌΠ°Π½Π΄Π°Β git bisect
Β β ΡΡΠΎ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΠΎΡΠ²ΠΈΠ»ΡΡ Π±Π°Π³ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°.
git blame
ΠΠΎΠΌΠ°Π½Π΄Π°Β git blame
Β Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΡΠ°ΠΉΠ»Π° SHA-1 ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π· ΠΌΠ΅Π½ΡΠ²ΡΠ΅Π³ΠΎ ΡΡΡ ΡΡΡΠΎΠΊΡ ΠΈ Π°Π²ΡΠΎΡΠ° ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ
ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΌ ΠΊΡΡΠΊΠ΅ ΠΊΠΎΠ΄Π°.
git grep
ΠΠΎΠΌΠ°Π½Π΄Π°Β git grep
Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π»ΡΠ±ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π΄Π°ΠΆΠ΅ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ
Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΡΡ
.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Git, ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ Π½Π° Git Ρ Π΄ΡΡΠ³ΠΎΠΉ Π‘ΠΠ, ΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ.
ΠΡΡΠ³ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ ΡΠ΅ΠΌΠ΅:
https://proglib.io/p/git-github-gitflow/
https://proglib.io/p/system-git/
ΠΠ½ΠΈΠ³Π° ΠΏΠΎ Git
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΡΡΠΎΠΊΠΈ ΠΏΠΎ Git
ΠΠΎΡ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ 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 β ΠΠ»ΠΎΠ³ HTML Academy
Π Π°Π±ΠΎΡΠ° Ρ Git ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π» β ΡΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ, Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌ. Π§ΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΌΡ ΡΠΎΠ±ΡΠ°Π»ΠΈ Π΄Π»Ρ Π²Π°Ρ Π²ΡΠ΅ ΡΠ°ΠΌΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ Git Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Git
Π Π°Π±ΠΎΡΠ° Ρ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π²ΡΠ΅Π³Π΄Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. Git ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈ ΠΌΠ΅Π½ΡΡΡ ΡΡΠΎ-ΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄ΡΡ ΠΈΠ΄ΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ.
git config --global user.name "User Name"
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π°Π΄ΡΠ΅ΡΠ° ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π°Π΄ΡΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΡΠ΅ΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ Π°ΠΊΠΊΠ°ΡΠ½Ρ Π² ΠΠΈΡΡ Π°Π±Π΅.
git config --global user.email [email protected]
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
git config --global core.editor editor
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git config --list
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ.
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΠ»Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½ΡΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git clone
ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ Π°Π΄ΡΠ΅Ρ. Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
Π Π°Π±ΠΎΡΠ° Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ
ΠΡΠ±Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git pull
. ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ, Π²ΡΠ·ΠΎΠ² ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΡΡΡΡ Π²ΡΠ΅ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠΎΡΠ»Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠ°ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git status
. ΠΠ½Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠ°ΠΉΠ»Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ
Π±ΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ ΠΈ Π½ΠΎΠ²ΡΠ΅, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add <filename> <filename>
Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.
Π ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git add .
, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π½ΠΎΠ²ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. Π ΠΊΠΎΠΌΠ°Π½Π΄Π° git add -A
Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΅ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π½ΠΎ ΠΈ ΠΈΠ· Π²ΡΠ΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΠΎΠΌΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈΡ
ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°Π»ΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git rm <filename> <filename>
, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΠΈΡ
ΠΈΠΌΠ΅Π½ΠΈ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π²ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½Ρ ΡΡΠ°ΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π€ΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½ΠΈΠΊΡΠ΄Π° Π½Π΅ Π·Π°ΠΏΠΈΡΡΡΡΡ. Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git commit -m "ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ"
.
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈ Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π·Π΄Π΅ΡΡ.
ΠΡΠ»ΠΈ Π²Ρ Π²Π½Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Ρ
ΠΎΡΠΈΡΠ΅ Π±ΡΡΡΡΠΎ ΠΈΡ
ΠΎΡΠΌΠ΅Π½ΠΈΡΡ, ΡΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git reset
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°. Π ΠΊΠΎΠΌΠ°Π½Π΄Π° git reset --hard
Π±Π΅Π·Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΠΎ ΡΠ΄Π°Π»ΡΠ΅Ρ Π½Π΅Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΡΡΡ ΠΊΠΎΠΏΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, ΡΡΠΎΠ±Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git push
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
Π Π°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ
Π Π°Π±ΠΎΡΠ°Ρ Ρ Git, ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ Π²Π΅ΡΠΊΠ°ΠΌ.
ΠΠΎΠΌΠ°Π½Π΄Π° git checkout -b branch-name
ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡ Π½Π° Π½Π΅Ρ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅ΡΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push origin branch-name
.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±ΡΠ°ΡΡ ΡΠ΅Π±Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π²Π΅ΡΠΊΡ Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git checkout origin/branch-name -b branch-name
.
Π§ΡΠΎΠ±Ρ Π½Π΅ Ρ
ΡΠ°Π½ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ Π²Π΅ΡΠΎΠΊ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ Π½Π΅ ΠΈΡΠΊΠ°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ Π²Π΅ΡΠΎΠΊ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π²Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π²Π΅ΡΠΊΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ git branch
ΠΈΠ»ΠΈ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π²Π΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ git branch -r
.
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π»ΡΠ±ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout branch-name
.
ΠΡΠΎΡΠ΅Π΅
ΠΠΎΡΠ»Π΅ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅, Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΡΠΎΡΠΈΠΉ ΠΌΡΡΠΎΡ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΡ Π»ΠΈΡΠ½Π΅Π΅, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git clean -f -d
.
Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΡΒ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π΄Π»ΡΒ Git
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
git config --global user.name "[name]"
β ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΡΡΡΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ.
git config --global user.email "[email address]"
β ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ email, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΡΡΡΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ.
git config --global color.ui auto
β Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
git config --global push.default current
β ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΡΡΠΎ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ, ΠΏΡΠΈ ΠΏΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ½ΠΎΠ³ΠΎ).
git config --global core.editor [editor]
β ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git config --global diff.tool [tool]
β ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²
git init [project-name]
β ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
git clone [url]
β Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π Π°Π±ΠΎΡΠ° Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ
git status
β ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git status -s
β ΠΊΡΠ°ΡΠΊΠΈΠΉ Π²ΠΈΠ΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
git diff
β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° (staged).
git add [file]
β ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π³ΠΎΡΠΎΠ²ΡΠΌ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git add .
β ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π³ΠΎΡΠΎΠ²ΡΠΌΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git add '*.txt'
β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
git add --patch filename
β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠ±Π°Π²ΡΡΡΡ Π² ΠΊΠΎΠΌΠΌΠΈΡ.
git diff --staged
β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎ Π² ΠΈΠ½Π΄Π΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git add
, Π½ΠΎ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΠΎ.
git diff HEAD
β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git diff HEAD^
β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git diff [branch]
β ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ.
git difftool -d
β ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ diff
, Π½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ difftool.
git difftool -d master..
β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅.
git diff --stat
β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ ΠΈ ΠΊΠ°ΠΊ.
git reset [file]
β ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ° (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ ΡΠ΅ΡΡΡΡΡΡ).
git commit
β Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ.
git commit -m "[descriptive message]"
β Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ.
git commit --amend
β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ.
Π Π°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ
git branch
β ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π²Π΅ΡΠΎΠΊ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
git branch [branch-name]
β ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ.
git checkout [branch-name]
β ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
git checkout -b <name> <remote>/<branch>
β ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ.
git checkout [filename]
β Π²Π΅ΡΠ½ΡΡΡ ΡΠ°ΠΉΠ» Π² ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
git merge [branch]
β ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠΉ.
git merge --no-ff [branch]
β ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²Π΅ΡΠΊΠΈ Π±Π΅Π· ΡΠ΅ΠΆΠΈΠΌΠ° βfast forwardingβ.
git branch -a
β ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
Π²Π΅ΡΠΎΠΊ.
git branch -d [branch]
β ΡΠ΄Π°Π»ΠΈΡΡ Π·Π°Π΄Π°Π½Π½ΡΡ Π²Π΅ΡΠΊΡ.
git branch -D [branch]
β ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π·Π°Π΄Π°Π½Π½ΡΡ Π²Π΅ΡΠΊΡ, ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
git branch -m <oldname> <newname>
β ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ.
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ
git rm [file]
β ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ.
git rm --cached [file]
β ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.
git mv [file-original] [file-renamed]
β ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
.gitignore
β ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°Π΄Π°ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
git ls-files --other --ignored --exclude-standard
β ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ²
git stash
β ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
git stash pop
β Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
git stash list
β ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
git stash drop
β ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ
git log
β ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ.
git log --follow [file]
β ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ.
git log --pretty=format:"%h %s" --graph
β ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
git log --author='Name' --after={1.week.ago} --pretty=oneline --abbrev-commit
β ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°Π΄ ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°Π» Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π½Π΅Π΄Π΅Π»Ρ.
git log --no-merges master..
β ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ.
git diff [file-branch]..[second-branch]
β ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ.
git show [commit]
β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°ΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅.
git show [branch]:[file]
β ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ°ΠΉΠ» Π² Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡ Π½Π° Π½Π΅Ρ.
ΠΡΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
git reset
β ΡΠ±ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΡΠ°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΡΠ°Π½ΡΡΡΡ.
git reset [commit/tag]
β ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.
git reset --hard [commit]
β ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡΡ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π½Π΅ ΡΠΎΡ
ΡΠ°Π½ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
git fetch [bookmark]
β Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²ΡΡ ΠΈΡΡΠΎΡΠΈΡ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
git merge [bookmark]/[branch]
β ΡΠ»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ.
git push
β Π·Π°ΠΏΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ.
git push [remote] [branch]
β Π·Π°ΠΏΡΡΠΈΡΡ Π²Π΅ΡΠΊΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ.
git push [bookmark] :[branch]
β Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π·Π°Π΄Π°Π½Π½ΡΡ Π²Π΅ΡΠΊΡ.
git push -u origin master
β Π΅ΡΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½Π°Ρ Π²Π΅ΡΠΊΠ° Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΠΊΠ°ΠΊ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ, ΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π΅ ΡΠ°ΠΊΠΎΠΉ.
git pull
β Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ.
git pull [remote][branch]
β ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ Π΄Π»Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ.
git remote
β ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π².
git remote -v
β ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π².
git remote add [remote][url]
β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
ΠΠΠΠΠ Π — ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡ. — GIT BASH ΠΠΎΠΌΠ°Π½Π΄Ρ|Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ GIT
GIT BASH ΠΠΎΠΌΠ°Π½Π΄Ρ|Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ GIT
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ — Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΊΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ°Β ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Git.
Π― Π½Π΅Π΄Π°Π²Π½ΠΎ Π½Π°ΡΠ°Π» Π΅Ρ ΠΈΠ·ΡΡΠ°ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π½Π°ΠΉΠ΄ΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, Π±ΡΠ΄ ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π»Π΅Π½ Π΅ΡΠ»ΠΈ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ .
ΠΠΎΠ΅Ρ Π°Π»ΠΈ!
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎΒ ΡΠ΅ΡΠ²Π΅ΡΠ°:
1
|
|
ΠΠΎΠ±Π°Π²ΠΈΡΡΒ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ°ΠΉΠ»:
Π£Π΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
Π‘Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ (Π·Π°ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ):
1
|
|
Π‘Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, Π²Π²Π΅Π΄Ρ Π΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅:
1
|
|
ΠΡΠΏΡΠ°Π²ΠΈΡΡΒ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈΒ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ:
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ, Π½ΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΡΒ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠΊΠΈ master:
ΠΠ°ΠΏΡΡΠΈΡΡΒ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ, Π½Π΅ Π²Π²ΠΎΠ΄Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅:
ΠΠ°ΠΊΠ°ΡΠ°ΡΡ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΠΈΠ·Β ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ, Π½ΠΎ Π·Π°ΠΊΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠΊΠ° master:
ΠΠ°ΠΊΠ°ΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ, Π½Π΅ Π²Π²ΠΎΠ΄Ρ Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ:
ΠΠ°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π΅ΡΠΊΠΎΠΉ some_branch (-b ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ):
1
|
|
Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ:
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΠΊΡ (Π½Π° ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ):
Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π²Π΅ΡΠΎΠΊ:
Π‘ΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π²Π΅ΡΠΎΠΊ:
Π‘Π»ΠΈΡΡ some_branch ΡΒ ΡΠ΅ΠΊΡΡΠ΅ΠΉΒ Π²Π΅ΡΠΊΠΎΠΉ:
Π£Π΄Π°Π»ΠΈΡΡ Π²Π΅ΡΠΊΡ (ΠΏΠΎΡΠ»Π΅ ΠΌΠ΅ΡΠ΄ΠΆΠ°):
1
|
|
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π»ΠΎΠ³:
ΠΠΎΠ³ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
ΠΠ°ΠΊ ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ, Π½ΠΎ Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
ΠΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Ρ Π³ΡΠ°ΡΠΈΠΊΠ°ΠΌΠΈ Π²Π΅ΡΠΎΠΊ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΉ:
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅:
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΡΠΎ ΠΌΠ΅Π½ΡΠ» ΡΡΡΠΎΡΠΊΡ ΡΠ°ΠΉΠ»Π°:
ΠΡΠΊΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ (Ρ ΡΡ ΡΠΌΠΎΡΡΠΈΠΌ Π² Β«git logΒ» — ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 7 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²):
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ³Π° (Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ):
ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ Git
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΒΆ
Git (ΠΏΡΠΎΠΈΠ·Π½. Β«Π³ΠΈΡΒ») — ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΎΠ΅ΠΊΡ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΠΈΠ½ΡΡΠΎΠΌ Π’ΠΎΡΠ²Π°Π»ΡΠ΄ΡΠΎΠΌ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠ΄ΡΠ° Linux. ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΠΆΡΠ½ΠΈΠΎ Π₯Π°ΠΌΠ°Π½ΠΎ.
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Ρ ΡΡΡΡΠΎΠΌ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ . ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Git ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Cogito ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ Git, Π° StGit ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Git Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΠΏΠ°ΡΡΠ΅ΠΉ.
Git ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΡΡΡΡΠΎΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ°ΠΊ ΠΈ Darcs, BitKeeper, Mercurial, SVK, Bazaar ΠΈ Monotone, Git ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΡ Π²ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ; ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠΉ.
Π£Π΄Π°Π»ΡΠ½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ Git ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ git-daemon, gitosis, SSH- ΠΈΠ»ΠΈ HTTP-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. TCP-ΡΠ΅ΡΠ²ΠΈΡ git-daemon Π²Ρ ΠΎΠ΄ΠΈΡ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Git ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΡΠ΄Ρ Ρ SSH Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΌ ΠΈ Π½Π°Π΄ΡΠΆΠ½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ°. ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠΎ HTTP, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠ΄ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΡΠ΅ΡΡΡ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ².
ΠΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌΒΆ
git clone β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ (ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ) ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΒΆ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎ Π²ΡΠ΅ΠΉ Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠΈΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.
ΠΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» http:
git clone http://user@somehost:port/~user/repository/project.git
ΠΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ myrepo
:
git clone /home/username/project myrepo
ΠΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ssh:
git clone ssh://user@somehost:port/~user/repository
Π£ git ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»:
git clone git://user@somehost:port/~user/repository/project.git/
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ svn ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» http:
git svn clone -s http://repo/location
-s β ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ SVN (trunk, branches, tags)
git fetch ΠΈ git pull β Π·Π°Π±ΠΈΡΠ°Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΒΆ
ΠΠ»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git fetch ΠΈ git pull.
git fetch β Π·Π°Π±ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ; ΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΏΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ±Π½ΠΎΠ²ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ (remote tracking branch), ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git merge.
git fetch /home/username/project β Π·Π°Π±ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΡ Π΄Π»Ρ Π°Π΄ΡΠ΅ΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git remote
:
git remote add username-project /home/username/project
git fetch username-project β Π·Π°Π±ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΌΡ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΠΎΠΌ.
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git diff
, Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ:
git merge username-project/master
ΠΠΎΠΌΠ°Π½Π΄Π° git pull
ΡΡΠ°Π·Ρ Π·Π°Π±ΠΈΡΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ.
ΠΠ°Π±ΡΠ°ΡΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
git pull
ΠΠ°Π±ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΌΠ΅ΡΠΊΠΈ ΠΈΠ· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
git pull username-project --tags
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git pull
.
git push β Π²Π½ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉΒΆ
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, ΡΠ»ΠΈΡΠ½ΠΈΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git push.
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
git push
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π²Π΅ΡΠΊΠΈ master Π² Π²Π΅ΡΠΊΡ experimental ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
git push ssh://yourserver.com/~you/proj.git master:experimental
Π ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ origin ΡΠ΄Π°Π»ΠΈΡΡ Π²Π΅ΡΠΊΡ experimental:
git push origin :experimental
Π ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ master ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ origin (ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) Π²Π΅ΡΠΊΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ master:
git push origin master:master
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΌΠ΅ΡΠΊΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ master ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ origin:
git push origin master --tags
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ master ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ origin (master Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ develop)
git push origin origin/develop:master
ΠΠΎΠ±Π°Π²ΠΈΡΡ Π²Π΅ΡΠΊΡ test Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ origin, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ Π²Π΅ΡΠΊΠΈ develop:
git push origin origin/develop:refs/heads/test
Π Π°Π±ΠΎΡΠ° Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌΒΆ
ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΡΒΆ
git init β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΠΎΠΌΠ°Π½Π΄Π° git init
ΡΠΎΠ·Π΄Π°Π΅Ρ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΡΡΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ .git
, Π³Π΄Π΅ ΠΈ Π±ΡΠ΄Π΅Ρ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠ΅Π³Π°Ρ
β ΠΎ Ρ
ΠΎΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
mkdir project-dir cd project-dir git init
git add ΠΈ git rm β ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ β ΠΊΠΎΠΌΠ°Π½Π΄Π° git add
. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π½Π΅ΡΡΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡ β Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ β ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠΉΠ΄ΡΡ Π² ΠΊΠΎΠΌΠΌΠΈΡ. ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π»ΠΈΠ±ΠΎ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ:
git add EDITEDFILE
Π²Π½Π΅ΡΡΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ:
git add .
ΠΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈ Π΄Π΅ΡΠ΅Π²Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git rm
:
ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ:
git rm FILE1 FILE2
Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ git, ΡΠ΄Π°Π»ΡΡΡΡΡ ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ txt ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ:
git rm Documentation/\*.txt
Π²Π½Π΅ΡΡΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡ Π²ΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ:
git rm -r --cached .
Π‘Π±ΡΠΎΡΠΈΡΡ Π²Π΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ
ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git reset
:
ΡΠ±ΡΠΎΡΠΈΡΡ Π²Π΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ:
git reset
ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»:
git reset β EDITEDFILE
ΠΠΎΠΌΠ°Π½Π΄Π° git reset
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π»ΡΡΠ΅
Π΅ΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.
git status β ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
ΠΠΎΠΌΠ°Π½Π΄Ρ git status
, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΡΠ°ΠΌΠΎΠΉ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π½Π°ΡΡΠ΄Ρ Ρ
ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ. ΠΠ½Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ
,
Π²Π½Π΅ΡΠ΅Π½Π½ΡΡ
Π² Π΄Π΅ΡΠ΅Π²ΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΉ
Π²Π΅ΡΠΊΠΈ; ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ Π½Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅
ΡΠ°ΠΉΠ»Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΏΡΠΎΡΡΠΎ:
git status
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, git status
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ°ΠΉΠ»Ρ Ρ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ
ΡΠ°ΠΉΠ»Ρ, ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠ΅ git.
git commit β ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°
ΠΠΎΠΌΠΌΠΈΡ β Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅Ρ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡΡΡ
ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»Π΅Π³ΠΊΠΎ ΠΈ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π±ΡΡΡΡΠΎ. Π ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ
ΠΏΠΎΡΠ»Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ Π½Π°Π±ΡΠ°ΡΡ:
git commit
ΠΡΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ ΠΏΡΡΡΠΎΠΉ, ΡΠΎ Π½Π° Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠΏΡΠΎΡΡΡ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π½ΠΎΡΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρedit
. Π‘ΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌΡΡ, ΠΈ Π²ΡΠ°Π»Ρ! ΠΠΎΠΌΠΌΠΈΡ Π³ΠΎΡΠΎΠ².
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΡΡΠ΅ΠΉ, ΡΠΏΡΠΎΡΠ°ΡΡΠΈΡ
ΡΠ°Π±ΠΎΡΡ Ρ git commit
:
git commit -a
ΡΠΎΠ²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π΅ Π±ΡΠ΄ΡΡ! Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΆΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΅Π½ΠΎ.
git commit -m Β«commit commentΒ»
ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
git commit FILENAME
Π²Π½Π΅ΡΠ΅Ρ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
git reset β Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΎΡΠΊΠ°Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Β«ΠΆΠ΅ΡΡΠΊΠΈΠΉΒ» ΠΈΠ»ΠΈ Β«ΠΌΡΠ³ΠΊΠΈΠΉΒ»
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ (ΡΠΌ. Π²ΡΡΠ΅), git reset
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ±ΡΠΎΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΈΡΡΠΎΡΠΈΠΈ. Π git Π΄Π°Π½Π½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π²ΡΡ
Π²ΠΈΠ΄ΠΎΠ²: Β«ΠΌΡΠ³ΠΊΠΎΠ³ΠΎΒ»(soft reset) ΠΈ Β«ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎΒ» (hard reset).
Β«ΠΡΠ³ΠΊΠΈΠΉΒ» (Ρ ΠΊΠ»ΡΡΠΎΠΌ --soft
) ΡΠ΅Π·Π΅Ρ ΠΎΡΡΠ°Π²ΠΈΡ Π½Π΅ΡΡΠΎΠ½ΡΡΡΠΌΠΈ Π²Π°ΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ Π²ΡΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²Π΅ΡΠ½Π΅ΡΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ Π² ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ Π½Π΅ΠΌΡ, ΡΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ:
- git commit β Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
- git reset —soft HEAD^ β ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ ΡΠΆΠ΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ, ΡΠΎΡ ΡΠ°Π½ΡΡ Π²ΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
- edit WRONGFILE
- edit ANOTHERWRONGFILE
- git add .
- git commit -c ORIG_HEAD β Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΌ, ΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡ ΠΊΠ»ΡΡΠ° -Ρ:
git commit -C ORIG_HEAD
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ HEAD^, ΠΎΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΠΊΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°Β». ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ ΠΎΠΏΠΈΡΠ°Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π½ΠΈΠΆΠ΅, Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π₯ΡΡΠΈ, ΡΡΠ³ΠΈ, ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡΒ». Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, HEAD β ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. Π‘ΡΡΠ»ΠΊΠ° ORIG_HEAD ΠΏΠΎΡΠ»Π΅ Β«ΠΌΡΠ³ΠΊΠΎΠ³ΠΎΒ» ΡΠ΅Π·Π΅ΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ.
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΈ Π½Π° Π±ΠΎΠ»ΡΡΡΡ Π³Π»ΡΠ±ΠΈΠ½Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²,
Β«ΠΠ΅ΡΡΠΊΠΈΠΉΒ» ΡΠ΅Π·Π΅Ρ (ΠΊΠ»ΡΡ --hard
) β ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ
ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ. git reset --hard
Π²Π΅ΡΠ½Π΅Ρ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅,
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ΄Π°Π»ΠΈΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²:
git add . git commit -m Β«destined to deathΒ» git reset --hard HEAD~1 β Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΠΊΡΠΎ ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΡ ΡΡΠΎΡ ΠΏΠΎΠ·ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ... git reset --hard HEAD~3 β ...Π²Π΅ΡΠ½Π΅Π΅, ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°. ΠΠΈΠΊΡΠΎ. ΠΠΈΠΊΠΎΠ³Π΄Π°!
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΡΠΎΡΠΊΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ.
ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈΠ»ΠΈ Π²ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π·Π΅ΡΠ° Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°Π·Π΄Π΅Π»Π°Ρ
.
git revert β ΠΎΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½ΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ
ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ. git revert
ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΠΈΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΡΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π³ΠΎΠΌ:
git revert config-modify-tag
ΠΡΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΅Π³ΠΎ Ρ ΡΡ:
git revert cgsjd2h
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π»ΠΎΡΡ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ.
git log β ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ Π² ΡΠ΅Π»ΠΎΠΌ
ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²; ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ
, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡΠΈΡ
ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»; ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ
Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΎΡΡΠ΅Π·ΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠ»Ρ ΡΡΠΈΡ
ΡΠ΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git log
.
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΡΠΎΡΠΊΠ°Ρ ΡΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌ
ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ, ΠΊΠΎΡΠ½ΡΠ²ΡΠΈΠΌΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π΅ΡΠΊΠΈ (ΠΎ Π²Π΅ΡΠΊΠ°Ρ
ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠΈ
ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½ΠΈΠΆΠ΅, Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠ΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡΒ»):
git log
ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΡΡΠ΅ΠΉ ΠΏΠΎ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊΠ»ΡΡ -p (ΠΈΠ»ΠΈ -u):
git log -p
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π²ΡΠΎΠ΄Π΅ ΡΠΈΡΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², Π²Π½Π΅ΡΠ΅Π½Π½ΡΡ
Π² Π½ΠΈΡ
ΡΡΡΠΎΠΊ, ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ --stat
:
git log --stat
ΠΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡΠΌ, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΈ ΠΏΡΠ°Π²Π°ΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΊΠ»ΡΡ--summary
:
git log --summary
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
Π΅Π³ΠΎ ΠΈΠΌΡ (ΠΊΡΡΠ°ΡΠΈ, Π² ΠΌΠΎΠ΅ΠΉ ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ git
ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± Π½Π΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ,
ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ » β » ΠΏΠ΅ΡΠ΅Π΄ Β«READMEΒ»):
git log README
ΠΈΠ»ΠΈ, Π΅ΡΠ»ΠΈ Π²Π΅ΡΡΠΈΡ git Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ²Π΅ΠΆΠ°Ρ:
git log β README
ΠΠ°Π»Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ
ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ, Π½Π°ΡΠΈΠ½Π°Ρ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° (Β«weeksΒ», Β«daysΒ», Β«hoursΒ», Β«sΒ»
ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅):
git log --since=Β«1 day 2 hoursΒ» README git log --since=Β«2 hoursΒ» README
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ:
git log --since=Β«2 hoursΒ» dir/
ΠΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ ΠΎΡ ΡΠ΅Π³ΠΎΠ².
ΠΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΅Π³Π° v1:
git log v1...
ΠΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° README, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΅Π³Π° v1:
git log v1... README
ΠΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° README, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΅Π³Π° v1 ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΡΠ΅Π³ΠΎΠΌ v2:
git log v1..v2 README
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΎΡΠΌΠ°ΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ»ΡΡ --pretty
.
ΠΡΠ²Π΅ΡΡΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΏΠΎ ΡΡΡΠΎΡΠΊΠ΅, ΡΠΎΡΡΠΎΡΡΠ΅ΠΉ ΠΈΠ· Ρ ΡΡΠ° (Π·Π΄Π΅ΡΡ β ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ β Π΄Π°Π»ΡΡΠ΅):
git log --pretty=oneline
ΠΠ°ΠΊΠΎΠ½ΠΈΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ , ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°Π²ΡΠΎΡ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ:
git log --pretty=short
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ , Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π°Π²ΡΠΎΡΠ°, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ, Π΄Π°ΡΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
git log --pretty=full/fuller
Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ:
git log --pretty=format:'FORMAT'
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΠΎ git log
ΠΈΠ· Git Community Book
ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²ΠΊΠ΅. ΠΡΠ°ΡΠΈΠ²ΡΠΉ ASCII-Π³ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ°--graph
.
git diff β ΠΎΡΠ»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π΅ΡΠ΅Π²ΡΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ ΠΈ Ρ.Π΄.
Π‘Π²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log
ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git diff
,
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ — Π΄Π΅ΡΠ΅Π²ΡΡΠΌΠΈ (ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ
Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ).
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π΅ Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² ΠΈΠ½Π΄Π΅ΠΊΡ:
git diff
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π² ΠΈΠ½Π΄Π΅ΠΊΡ:
git diff --cached
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ:
git diff HEAD
ΠΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ:
git diff HEAD^
ΠΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Β«Π³ΠΎΠ»ΠΎΠ²ΡΒ» Π²Π΅ΡΠΎΠΊ:
git diff master..experimental
ΠΈΠ»ΠΈ Π°ΠΊΡΠΈΠ²Π½ΡΡ Π²Π΅ΡΠΊΡ Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ:
git diff experimental
git show β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ Π»ΡΠ±ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ Π² ΠΈΡΡΠΎΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git show
:
git show COMMIT_TAG
git blame ΠΈ git annotate β ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠΈΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΊΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π» ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ
ΠΊΠΎΠ΄. Π£Π΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git blame
, Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΏΠΎΡΡΡΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ
ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΊΠΎΡΠ½ΡΠ²ΡΠ΅ΠΌΡΡ ΡΡΡΠΎΠΊΠΈ, ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ° ΠΈ Ρ
ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
git blame README
ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:
git blame -L 2,+3 README β Π²ΡΠ²Π΅Π΄Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΠ΅ΠΌ ΡΡΡΠΎΠΊΠ°ΠΌ, Π½Π°ΡΠΈΠ½Π°Ρ ΡΠΎ Π²ΡΠΎΡΠΎΠΉ.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git annotate
, Π²ΡΠ²ΠΎΠ΄ΡΡΠ°Ρ ΠΈ ΡΡΡΠΎΠΊΠΈ, ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ
ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ
, ΠΈΡ
ΠΊΠΎΡΠ½ΡΠ²ΡΠΈΡ
ΡΡ:
git annotate README
git grep β ΠΏΠΎΠΈΡΠΊ ΡΠ»ΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ
git grep
, Π² ΡΠ΅Π»ΠΎΠΌ, ΠΏΡΠΎΡΡΠΎ Π΄ΡΠ±Π»ΠΈΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΠΎΠΉ ΡΠ½ΠΈΠΊΡΠΎΠ²ΠΎΠΉ
ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ»ΠΎΠ²Π° ΠΈ ΠΈΡ
ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΠΈΡΠΊΠ°ΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΡΠΎ
Π±ΡΠ²Π°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.
ΠΠΎΠΈΡΠΊ ΡΠ»ΠΎΠ²Π° tst Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅:
git grep tst
ΠΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ ΡΠΈΡΠ»ΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΉ tst Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅:
git grep -Ρ tst
ΠΠΎΠΈΡΠΊ Π² ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
git grep tst v1
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π ΠΈ ΠΠΠ.
ΠΠ°ΠΉΡΠΈ ΡΡΡΠΎΠΊΠΈ, Π³Π΄Π΅ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, ΠΈ Π²ΡΠΎΡΠΎΠ΅:
git grep -e 'first' --and -e 'another'
ΠΠ°ΠΉΡΠΈ ΡΡΡΠΎΠΊΠΈ, Π³Π΄Π΅ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»ΠΎΠ²:
git grep --all-match -e 'first' -e 'second'
ΠΠ΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ΒΆ
git branch β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ
Π Π°Π±ΠΎΡΠ° Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ β ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π² git, Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅:
ΠΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π²Π΅ΡΠΊΠΈ, ΠΎΡΠΌΠ΅ΡΠΈΠ² Π°ΠΊΡΠΈΠ²Π½ΡΡ:
git branch
Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ new-branch:
git branch new-branch
Π£Π΄Π°Π»ΠΈΡΡ Π²Π΅ΡΠΊΡ, Π΅ΡΠ»ΠΈ ΡΠ° Π±ΡΠ»Π° Π·Π°Π»ΠΈΡΠ° (merged) Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Π² ΡΠ΅ΠΊΡΡΡΡ:
git branch -d new-branch
Π£Π΄Π°Π»ΠΈΡΡ Π²Π΅ΡΠΊΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅:
git branch -D new-branch
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ:
git branch -m new-name-branch
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅ Π²Π΅ΡΠΊΠΈ, ΡΡΠ΅Π΄ΠΈ ΠΏΡΠ΅Π΄ΠΊΠΎΠ² ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ:
git branch --contains v1.2
git checkout β ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠΊΠ°ΠΌΠΈ, ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠΎΠΌΠ°Π½Π΄Π° git checkout
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ (Π΅ΡΠ»ΠΈ ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎ) Π²Π΅ΡΠΎΠΊ:
checkout some-other-branch
Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
checkout -b some-other-new-branch
ΠΡΠ»ΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ Π±ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ Π² Π²Π΅ΡΠΊΠ΅(HEAD), ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π΄Π°Π±Ρ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ°ΠΊΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠ»ΡΡ -f
:
checkout -f some-other-branch
Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°Π΄ΠΎ Π²ΡΠ΅ ΠΆΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ -m
. Π’ΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅Ρ Π·Π°Π»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ ΠΈ, ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π² Π½ΠΎΠ²ΡΡ:
checkout -m some-other-branch
ΠΠ΅ΡΠ½ΡΡΡ ΡΠ°ΠΉΠ» (ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π²ΡΡΠ°ΡΠΈΡΡ ΠΈΠ· ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΈΠ΄Π°:
ΠΠ΅ΡΠ½ΡΡΡ somefile ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
git checkout somefile
ΠΠ΅ΡΠ½ΡΡΡ somefile ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π½Π° Π΄Π²Π° ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π°Π·Π°Π΄ ΠΏΠΎ Π²Π΅ΡΠΊΠ΅:
git checkout HEAD~2 somefile
git merge β ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ (ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²)
Π‘Π»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π² git ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡΡ Π²Π΅ΡΠΊΡ ΠΈ Π²Π΅ΡΠΊΡ new-feature:
git merge new-feature
Π ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π° ΠΏΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ ΡΠ°ΡΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ Π°-Π»Ρ svn; ΡΠ°ΠΌΠΈ ΠΆΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΡΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ ΠΊΠ°ΠΊ Β«Π½Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠ΅Β» (unmerged). ΠΠΎ ΡΠ΅Ρ ΠΏΠΎΡ ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ΅ΡΠ΅Π½Ρ, ΠΊΠΎΠΌΠΌΠΈΡ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ Π±ΡΠ΄Π΅Ρ Π½Π΅Π»ΡΠ·Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π²ΠΎΠ·Π½ΠΈΠΊ Π² ΡΠ°ΠΉΠ»Π΅ TROUBLE
, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² git status
.
ΠΡΠΎΠΈΠ·ΠΎΡΠ»Π° Π½Π΅ΡΠ΄Π°ΡΠ½Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ:
git merge experiment
Π‘ΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ°:
git status
Π Π°Π·ΡΠ΅ΡΠ°Π΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
edit TROUBLE
ΠΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΠΌ Π½Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠ½ΠΈΠΌΠ°Ρ ΠΌΠ΅ΡΠΊΠΈ:
git add .
Π‘ΠΎΠ²Π΅ΡΡΠ°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ:
git commit
ΠΠΎΡ ΠΈ Π²ΡΠ΅, Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ. ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²Ρ ΠΏΠ΅ΡΠ΅Π΄ΡΠΌΠ°Π»ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°Π±ΡΠ°ΡΡ (ΡΡΠΎ Π²Π΅ΡΠ½ΡΡ ΠΎΠ±Π΅ Π²Π΅ΡΠΊΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ):
git reset --hard HEAD
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π±ΡΠ» ΡΠΎΠ²Π΅ΡΡΠ΅Π½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git reset --hard ORIG_HEAD
git rebase β ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠΎΠ²Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π·Π°Π²Π΅Π» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΠΎΠ²Π΅ΡΡΠΈΠ» Π² Π½Π΅ΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ². ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ»ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π½Π΅Π΅ Π±ΡΠ»ΠΈ Π·Π°Π»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π»ΠΈΠ±ΠΎ ΡΠ°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ²Π΅ΡΡΠ°Π» Π² Π½Π΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡΡ.
Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ git merge
. ΠΠΎ ΡΠΎΠ³Π΄Π° ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅ΡΡΡ ΡΠ°ΠΌΠ° Π»ΠΈΠ½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π² ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
, Π³Π΄Π΅ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΈΠΌΠ΅Π΅ΡΡΡ Π΄Π²Π΅ Π²Π΅ΡΠΊΠΈ, master ΠΈ topic, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
Π±ΡΠ»ΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ. ΠΠΎΠΌΠ°Π½Π΄Π° git rebase
Π±Π΅ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· Π²Π΅ΡΠΊΠΈ topic ΠΈ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΈΡ
Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π²Π΅ΡΠΊΠΈ master.
ΠΠ°ΡΠΈΠ°Π½Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΈ ΠΊΡΠ΄Π° Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ:
git-rebase master topic
Π½Π° master Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½Π°Ρ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π΅ΡΠΊΠ°:
git-rebase master
ΠΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΡΡΠΎΡΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ. ΠΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΌ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ°Π±ΠΎΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ, Π° Π² ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ°Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎΡΠ²ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΊΠΈ. ΠΠΎΡΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² β ΡΠ°ΠΉΠ»Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²Π½Π΅ΡΡΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git add
ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git rebase --continue
. ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ Π²ΡΡ
ΠΎΠ΄Π°ΠΌΠΈ Π±ΡΠ΄ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git rebase --skip
(ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ) ΠΈΠ»ΠΈ git rebase --abort
(ΠΎΡΠΌΠ΅Π½Π° ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π²ΡΠ΅Ρ
Π²Π½Π΅ΡΠ΅Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ).
Π‘ ΠΊΠ»ΡΡΠΎΠΌ -i
(--interactive
) ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
git cherry-pick β ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ Π΄Π΅ΡΠ΅Π²Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ
ΠΡΠ»ΠΈ Π²Π΅Π΄Π΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π΄Π»ΠΈΠ½Π½ΡΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΠΌΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΠΊ Π΄Π΅ΡΠ΅Π²Ρ Π΄ΡΡΠ³ΠΎΠΉ (Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ).
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ ΠΊ Π΄Π΅ΡΠ΅Π²Ρ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ ΡΡΠ°Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅:
git cherry-pick BUG_FIX_TAG
ΠΠ»ΡΡ -n
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°Π΄ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ Π΄Π΅ΡΠ΅Π²Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±Π΅Π· ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°
git cherry-pick BUG_FIX_TAG -n
ΠΡΠΎΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΒΆ
Π₯ΡΡ β ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
Π git Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π»ΡΠ±ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ (ΡΠΎ Π΅ΡΡΡ Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ) Ρ ΡΡ ΠΈΠ· 40 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Ρ ΡΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ±ΡΠ΅ΠΊΡΡ β ΡΡΠΎ Π²ΡΠ΅: ΠΊΠΎΠΌΠΌΠΈΡΡ, ΡΠ°ΠΉΠ»Ρ, ΡΡΠ³ΠΈ, Π΄Π΅ΡΠ΅Π²ΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΡΡ ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ Π΄Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΉΠ»Π°, ΡΠΎ ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΎΡΠΎΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
ΠΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Ρ ΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ. Π ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ Ρ ΡΡ β ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ Π°Π½Π°Π»ΠΎΠ³ ΡΠ΅Π²ΠΈΠ·ΠΈΠΉ Subversion. ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΡΠ΅ΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΏΠΎΡΠΎΠ±Π° Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ:
Π½Π°ΠΉΡΠΈ ΡΠ°Π·Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π·Π° Π½ΠΎΠΌΠ΅ΡΠΎΠΌβ¦ ΡΠ°ΠΌΠΈ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°ΠΊΠΈΠΌ:
git diff f292ef5d2b2f6312bc45ae49c2dc14588eef8da2
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Git ΠΏΠΎΠΉΠΌΠ΅Ρ, ΠΎ ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Ρ ΡΠ°ΠΊΠΈΠΌ Π½Π°ΡΠ°Π»ΠΎΠΌ Ρ ΡΡΠ°:
git diff f292ef5
ΠΠ½ΠΎΠ³Π΄Π° Ρ Π²Π°ΡΠ°Π΅Ρ ΠΈ ΡΠ΅ΡΡΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²:
git diff f292
Π§ΠΈΡΠ°Π΅ΠΌ Π»ΠΎΠ³ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡ:
git log febc32...f292
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ ΡΡΠ°ΠΌΠΈ Π½Π΅ ΡΠ°ΠΊ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ°ΡΠΈΠ½Π΅, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ β ΡΡΠ³ΠΈ.
git tag β ΡΡΠ³ΠΈ ΠΊΠ°ΠΊ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ
Π’ΡΠ³ (tag) β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ; Ρ ΡΠ°Π½ΡΡΠΈΠΉ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ°ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ°, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ°Π²Π»ΡΡΡ Π½Π° ΡΠ°ΠΊΠΈΡ ΡΠ΅Π³Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ Π² git ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Β«Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠ΅ ΡΡΠ³ΠΈΒ» (lightweight tags), ΡΠΎΡΡΠΎΡΡΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ. Π’Π°ΠΊΠΈΠ΅ ΡΡΠ³ΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ Π΄Π΅ΡΠ΅Π²Ρ ΠΈΡΡΠΎΡΠΈΠΈ; ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ.
Π‘ΠΎΠ·Π΄Π°ΡΡ Β«Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠΉΒ» ΡΡΠ³, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ; Π΅ΡΠ»ΠΈ ΡΡΠ³ ΡΠΆΠ΅ Π΅ΡΡΡ, ΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΎΠ·Π΄Π°Π½ Π½Π΅ Π±ΡΠ΄Π΅Ρ:
git tag stable-1
ΠΠΎΠΌΠ΅ΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ:
git tag stable-2 f292ef5
Π£Π΄Π°Π»ΠΈΡΡ ΡΠ΅Π³:
git tag -d stable-2
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΡΠ³ΠΈ:
git tag -l
Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΡΠ³ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ ΡΠΆΠ΅ Π±ΡΠ»:
git tag -f stable-1.1
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ³Π° Π΅Π³ΠΎ ΠΈΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ Ρ
ΡΡΠ° Π² Π»ΡΠ±ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
Π²ΡΠΎΠ΄Π΅ git diff
, git log
ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅:
git diff stable-1.1...stable-1
ΠΠ±ΡΡΠ½ΡΠ΅ ΡΡΠ³ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π²ΡΠΎΠ΄Π΅ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ Π½Π΅ΠΌΡ. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΅ΡΠ»ΠΈ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΏΠΈΡΠ΅ΡΡ Β«ΠΈΡΠΏΡΠ°Π²ΠΈΠ» ΡΠ°ΠΊΠΎΠΉ-ΡΠΎ Π±Π°Π³Β», ΡΠΎ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΡΡΠ³Ρ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Β«v1.0Β» Π±ΡΠ΄Π΅Ρ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ Β«ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ, Π³ΠΎΡΠΎΠ²Π°Ρ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡΒ».
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΡΠ³ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°; Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ:
git tag -a stable
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΡΠ³, ΡΡΠ°Π·Ρ ΡΠΊΠ°Π·Π°Π² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ:
git tag -a stable -m "production version"
ΠΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ³ΠΎΠ² Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ Β«Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΡ Β» ΡΡΠ³ΠΎΠ².
ΠΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡ
ΠΠΌΠ΅ΡΡΠΎ ΡΠ΅Π²ΠΈΠ·ΠΈΠΉ ΠΈ ΡΡΠ³ΠΎΠ² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ β ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΏΡΡΠΌΠΎ ΠΊ ΠΏΡΠ΅Π΄ΠΊΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π²Π΅ΡΠΊΠΈ master:
git diff master^
ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Β«ΠΏΡΠΈΡΠΊΠΈΒ» ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΈΡΡΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π°Π΄ΡΠ΅ΡΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΡΠ΅Π΄ΠΊΠ°ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ:
Π½Π°ΠΉΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΎ Π²ΡΠΎΡΡΠΌ ΠΏΡΠ΅Π΄ΠΊΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² master; HEAD Π·Π΄Π΅ΡΡ β ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ:
git diff HEAD^2
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΡΠΈΠ»ΡΠ΄ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³Π»ΡΠ±ΠΎΠΊΠΎ Π² ΠΈΡΡΠΎΡΠΈΡ Π²Π΅ΡΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ:
ΡΡΠΎ ΠΏΡΠΈΠ²Π½Π΅Ρ Β«Π΄Π΅Π΄ΡΡΠΊΠ°Β» Π½ΡΠ½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
git diff master^^
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅:
git diff master~2
ΠΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΠΎ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°:
git diff master~3^~2 git diff master~6
ΡΠ°ΠΉΠ» .gitignore β ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΠΌ git, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ
ΠΠ½ΠΎΠ³Π΄Π° ΠΏΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Ρ
ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ Π² ΡΠ²ΠΎΠ΄ΠΊΠ΅ git status
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ², Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΡΠΎΡΠΈΠΉ ΠΌΡΡΠΎΡ.
ΠΠ°ΡΡΠ°Π²ΠΈΡΡ git status
ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΎΠ·Π΄Π°Π² Π² ΠΊΠΎΡΠ½Π΅ ΠΈΠ»ΠΈ Π³Π»ΡΠ±ΠΆΠ΅ ΠΏΠΎ Π΄Π΅ΡΠ΅Π²Ρ (Π΅ΡΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ) ΡΠ°ΠΉΠ» .gitignore
. Π ΡΡΠΈΡ
ΡΠ°ΠΉΠ»Π°Ρ
ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
#ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΊ ΡΠ°ΠΉΠ»Ρ .gitignore #ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΠΌ .gitignore .gitignore #Π²ΡΠ΅ html-ΡΠ°ΠΉΠ»Ρ... *.html #...ΠΊΡΠΎΠΌΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ !special.html #Π½Π΅ Π½ΡΠΆΠ½Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΈΠΊΠΈ ΠΈ Π°ΡΡ ΠΈΠ²Ρ *.[ao]
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎ ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΈΠ· ΡΠΏΡΠ°Π²ΠΊΠΈ git help gitignore
.
Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΒΆ
; git update-server-info : ΠΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°Π΅Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ dumb-ΡΠ΅ΡΠ²Π΅ΡΠ° Π² $GIT_DIR/info ΠΈ $GIT_OBJECT_DIRECTORY/info ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ , ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅.
; git count-objects : ΠΡΠΎΠ²Π΅ΡΠΊΠ°, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ΅ΡΡΠ½ΠΎ ΠΈ ΠΎΠ±ΡΡΠΌ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
; git gc : ΠΠ΅ΡΠ΅ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Π Π΅ΡΠ΅ΠΏΡΡΒΆ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅
repo="repo.git" mkdir $repo cd $repo git init --bare chown git. -R ./ cd ../
ΠΠΌΠΏΠΎΡΡ svn ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Git-ΡΠ΅ΡΠ²Π΅Ρ
repo="repo.svn" svnserver="http://svn.calculate.ru" git svn clone -s $svnserver/$repo $repo mv $repo/.git/refs/remotes/tags $repo/.git/refs/tags rm -rf $repo/.git/refs/remotes rm -rf $repo/.git/svn mv $repo/.git $repo.git rm -rf $repo cd $repo.git chown git. -R ./ cd ../
Π‘ΡΡΠ»ΠΊΠΈΒΆ
Git bash: ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π½Π°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ
ΠΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ Git ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΡΡΠ΅Π΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΡΡΠΈΠ»Π΅ Unix. ΠΠ±Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Linux ΠΈ macOS, Π²ΠΊΠ»ΡΡΠ°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Unix. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Linux ΠΈ macOS Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git. Microsoft Windows Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ Windows, Π° Π½Π΅ ΡΡΠ΅Π΄Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Unix.
Π ΡΡΠ΅Π΄Π΅ Windows Git ΡΠ°ΡΡΠΎ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΡΠ°Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ.ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π»Ρ Git ΠΌΠΎΠ³ΡΡ ΠΏΡΡΠ°ΡΡΡΡ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈ ΡΠΊΡΡΠ²Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΏΠΎΠ΄ΡΠΏΠΎΡΡΠ΅ΠΌ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π² Git, ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°ΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Git. ΠΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π΄Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Git Bash ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Git.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Git Bash?
Git Bash — ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠ΅Π΄ Microsoft Windows, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΌΡΠ»ΡΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ Git.ΠΠ°Ρ — ΡΡΠΎ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΠΎΡ Bourne Again Shell. ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° — ΡΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΈΡΡΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄. Bash — ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Linux ΠΈ macOS. Git Bash — ΡΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Bash, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ bash ΠΈ Git Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows.
ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Git Bash
Git Bash Π²Ρ
ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΡΠ°Π² ΠΏΠ°ΠΊΠ΅ΡΠ° Git Π΄Π»Ρ Windows. ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Git Π΄Π»Ρ Windows, ΠΊΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Windows. ΠΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΠΌΡΠΉ .exe
ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Git Bash.
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Git Bash
Git Bash Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠΎ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Bash. ΠΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Bash. Π Π°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Bash Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Git.
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ
ΠΠΎΠΌΠ°Π½Π΄Π° Bash pwd
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. pwd
ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ cd Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ DOS (Ρ
ΠΎΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Windows).ΠΡΠΎ ΠΏΠ°ΠΏΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅Π°Π½Ρ Bash.
ΠΠΎΠΌΠ°Π½Π΄Π° Bash ls
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Β«ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡΒ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ls
ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ DIR
Π½Π° Ρ
ΠΎΡΡ-ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Windows.
Π Bash, ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ Ρ ΠΎΡΡ Windows ΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cd. cd — ΡΡΠΎ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΠΎΡ Β«Change DirectoryΒ». cd Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ cd ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ΅Π°Π½ΡΠΎΠ² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
ΠΠΎΠΌΠ°Π½Π΄Ρ Git Bash
Git Bash ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ / usr / bin
ΡΠΌΡΠ»ΡΡΠΈΠΈ Git Bash. Git Bash Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π² Windows. Git Bash ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡ
ΠΎΠ΄ΡΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°: Ssh
, scp
, cat
, find
.
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΠ°Π½Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌΡ Π½Π°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Bash, Git Bash Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ Git, ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΡΡ
Π½Π° ΡΡΠΎΠΌ ΡΠ°ΠΉΡΠ΅.Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΡΡΠ°Π½ΠΈΡΠ°Ρ
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ git clone
ΠΈ Π΄ΡΡΠ³ΠΈΡ
.,
git commit
, git checkout
, git push
,
.
20 Π»ΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Git Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ git. Π ΡΡΠΎΠΌ Π±Π»ΠΎΠ³Π΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ 20 Π»ΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ Git, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git.
ΠΠΎΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git:
- git config
- git init
- git clone
- git Π΄ΠΎΠ±Π°Π²ΠΈΡΡ
- git commit
- git diff
- git ΡΠ±ΡΠΎΡ
- git ΡΡΠ°ΡΡΡ
- Π³ΠΈΡ ΡΠΌ
- ΠΆΡΡΠ½Π°Π» git
- git ΠΏΠΎΠΊΠ°Π·Π°ΡΡ
- ΡΠ΅Π³ git
- Π²Π΅ΡΠΊΠ° git
- git checkout
- git ΡΠ»ΠΈΡΠ½ΠΈΠ΅
- git ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ
- git push
- git pull
- git stash
ΠΡΠ°ΠΊ, ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ!
ΠΠΎΠΌΠ°Π½Π΄Ρ Git
git config
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git config βglobal user.ΠΈΠΌΡ Β«[ΠΈΠΌΡ]Β»
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git config βglobal user.email Β«[Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ]Β»
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ° ΠΈ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π²Π°ΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ .
git init
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git init [ΠΈΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
git clone
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git clone [url]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ URL-Π°Π΄ΡΠ΅ΡΡ.
git Π΄ΠΎΠ±Π°Π²ΠΈΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git add [ΡΠ°ΠΉΠ»]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ» Π² ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git add *
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ.
git ΡΠΎΠ²Π΅ΡΡΠΈΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git commit -m Β«[ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ]Β»
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ»ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠ°ΠΉΠ»Π° Π² ΠΈΡΡΠΎΡΠΈΠΈ Π²Π΅ΡΡΠΈΠΉ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git commit -a
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Ρ ΡΠ΅Ρ ΠΏΠΎΡ.
git diff
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git diff
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git diff βstaged
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΈΠΌΠ΅ΡΡΠ΅ΠΉΡΡ Π²Π΅ΡΡΠΈΠ΅ΠΉ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git diff [ΠΏΠ΅ΡΠ²Π°Ρ Π²Π΅ΡΠ²Ρ] [Π²ΡΠΎΡΠ°Ρ Π²Π΅ΡΠ²Ρ]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΌΠΈ Π²Π΅ΡΠ²ΡΠΌΠΈ.
git ΡΠ±ΡΠΎΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git reset [ΡΠ°ΠΉΠ»]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ», Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git reset [commit]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git reset βhard [commit]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ Π²ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
git ΡΡΠ°ΡΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git status
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ.
Π³ΠΈΡ RM
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git rm [ΡΠ°ΠΉΠ»]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ» ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ°ΠΏ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ.
git ΠΆΡΡΠ½Π°Π»
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git log
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΆΡΡΠ½Π°Π»Π° Π²Π΅ΡΡΠΈΠΉ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠ²ΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git log β ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ [ΡΠ°ΠΉΠ»]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²Π΅ΡΡΠΈΠΉ ΡΠ°ΠΉΠ»Π°, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ².
git ΠΏΠΎΠΊΠ°Π·Π°ΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git show [commit]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΡΠ΅Π³ git
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git tag [commitID]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΎΠ² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
Π²Π΅ΡΠΊΠ° git
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git branch
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠ²Π΅ΠΉ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: Π²Π΅ΡΠΊΠ° git [Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git branch -d [ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»ΡΠ΅Ρ Π²Π΅ΡΠ²Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.
git ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git checkout [Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π½Π° Π΄ΡΡΠ³ΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git checkout -b [Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π° Π½Π΅Π΅.
git ΡΠ»ΠΈΡΠ½ΠΈΠ΅
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git merge [Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΈΡΡΠΎΡΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ.
git ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git remote add [ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ] [Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ.
git push
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git push [ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ] master
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² Π²Π°Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git push [ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ] [Π²Π΅ΡΠΊΠ°]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π²Π΅ΡΠΊΠΈ Π² Π²Π°Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git push βall [ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π²ΡΠ΅ Π²Π΅ΡΠΊΠΈ Π² Π²Π°Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git push [ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ]: [ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»ΡΠ΅Ρ Π²Π΅ΡΠΊΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
git pull
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git pull [ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ]
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π² Π²Π°Ρ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
git stash
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git stash save
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git stash pop
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git stash list
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠ΅Π²ΠΈΠ·ΠΈΠΉ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: git stash drop
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π₯ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ git? ΠΠΎΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Git, ΡΡΠΎΠ±Ρ Π²Ρ Π½Π°ΡΠ°Π»ΠΈ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ· ΠΈ Π½Π°ΡΠ°ΡΡ Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±Π½ΠΈΠΊΠ° DevOps.
.
ΠΠ°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Git Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
GitLab ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ
ΠΠ΅ΡΡΠΈΡ
GitLab.com (13.5-Π΄ΠΎ)
- GitLab.com (13.5-Π΄ΠΎ)
13,4
13,3
13,2
12.10
11.11
- ΠΡΡ ΠΈΠ²Ρ
- GitLab.com (13.5-Π΄ΠΎ)
GitLab
ΠΠΌΠ½ΠΈΠ±ΡΡ
ΠΠ΅Π³ΡΠ½
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ GitLab
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΌΠ½ΠΈΠ±ΡΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ
Kubernetes
ΠΠΎΠΊΠ΅Ρ
ΠΠ· ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
ΠΠ°Π·ΡΡΡ
ΠΠ±Π»Π°ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Google (GCP)
Amazon Web Services (AWS)
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ°
Π£ΡΠΎΠ²Π΅Π½Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
ΠΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
Π£ΡΠΎΠ²Π΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ²
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ EKS
ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ GKE
ΠΠ»Π°ΡΡΠ΅ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π³ΡΡΠΏΠΏΡ
ΠΠ»Π°ΡΡΠ΅ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
ΠΠ°Π½Π°ΡΡΠΊΠΈΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ
ΠΠ»Π°ΡΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ
Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ Π΄ΠΎΡΠΊΠΈ
Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ GitLab
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Crossplane
ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΠΊ ΠΊΠΎΠ΄
ΠΠ³Π΅Π½Ρ Kubernetes
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΡΡΠ½Π°Π»Ρ ΠΊΠ°ΠΏΡΡΠ»
Runbooks
ΠΠ΅ΡΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ AWS Lambda
ΠΠ°ΡΠΈΡΠ° Π²Π°ΡΠΈΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΡΡΠΏΠΏΡ
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ° Π²ΠΊΠ»Π°Π΄Π°
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΡΠΎΠ²Π½Π΅ Π³ΡΡΠΏΠΏΡ
ΠΠΏΠΎΡ
Π£ΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΠΏΠΎΡΠ°ΠΌΠΈ
ΠΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΠΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ ΠΈΠΌΠΏΠΎΡΡ / ΡΠΊΡΠΏΠΎΡΡ
Insights
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΡΠ΅ΡΠ°ΡΠΈΠΈ
ΠΡΠ±Π»ΠΈΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ
SAML SSO Π΄Π»Ρ GitLab.com Π³ΡΡΠΏΠΏΡ
ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ SCIM
ΠΠΎΠ΄Π³ΡΡΠΏΠΏΡ
ΠΠΎΡΠΎΠΆΠ½ΡΠ΅ ΠΊΠ°ΡΡΡ
ΠΡΠΎΠ΅ΠΊΡΡ
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ³ΡΠΎΠ·
Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π‘Π΅ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
API-ΡΠ°Π·Π·ΠΈΠ½Π³
ΠΠ½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΡΡΡΠΈΡ
ΠΠ°Π½Π΅Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
ΠΠ²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ
Π‘ΡΡΠ°Π½ΠΈΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠΊΠ°Π½Π΅ΡΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
Π’Π΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Secure and Defend
ΠΠ½Π°ΡΠΊΠΈ
ΠΠ°ΡΡΠΎΠ²ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ»Π°Π΄Π΅Π»ΡΡΡ ΠΊΠΎΠ΄Π°
Π‘ΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ
ΠΠ°Π½Π΅Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ
Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΊΠ»ΡΡΠΈ
Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ ΡΠΎΠΊΠ΅Π½Ρ
ΠΠΎΠΈΡΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²
GitLab Pages
ΠΠ°ΡΠΈΠ½Π°Ρ
ΠΠΎΠΌΠ΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, URL-Π°Π΄ΡΠ΅ΡΠ° ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ°
CI / CD Π΄Π»Ρ GitLab Pages
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄ΠΎΠΌΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ SSL / TLS
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Let’s Encrypt
ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°
ΠΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡ GitLab
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ
ΠΠ±Π·ΠΎΡ
ΠΠ°ΠΌΠ±ΡΠΊ CI
Bugzilla
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
Π Π°Π·Π΄ΠΎΡ
ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΠΏΠΈΡΡΠΌΠ° ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ
GitHub
Hangouts Chat
HipChat
ΠΡΠΊΠ΅Ρ
Jira
ΠΠ°Π½Π΅Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Jira
Mattermost ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ
ΠΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ Mattermost
ΠΠΎΠΌΠ°Π½Π΄Ρ Microsoft
ΠΠ°ΠΊΠ΅Ρ CI
ΠΡΠΎΠΌΠ΅ΡΠ΅ΠΉ
Redmine
Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Slack
Slack ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ
Slack ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠ΅Π±Ρ ΡΠΊΠΈ
YouTrack
Insights
ΠΠ°ΠΏΡΠΎΡΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅
Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ
Π£ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΈΡΠΊΠΈ Π²ΠΈΡΠ½ΠΈ
ΠΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π°
ΠΠ°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠΎΠ²
ΠΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²ΠΏΠ΅ΡΠ΅Π΄
Π‘Π»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°
Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ
ΠΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°ΠΌΠΈ
Π‘ΠΊΠ²ΠΎΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅
ΠΠ΅ΡΡΠΈΠΈ
Π Π°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ
Π Π°Π±ΠΎΡΠ° Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅
Π§Π»Π΅Π½Ρ
ΠΠ΅ΡΠ΅Π½ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
Bitbucket Cloud
Π‘Π΅ΡΠ²Π΅Ρ Bitbucket
ClearCase
CVS
FogBugz
ΠΠ΅ΠΌΠ½Π°Π·ΠΈΡ
GitHub
GitLab.com
ΠΠΈΡΠ΅Π°
Jira
Perforce Helix
Π€Π°Π±ΡΠΈΠΊΠ°ΡΠΎΡ
Π Π΅ΠΏΠΎ ΠΏΠΎ ΡΠ°ΠΉΠ»Ρ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ°
Π Π΅ΠΏΠΎ ΠΏΠΎ URL
SVN
TFVC
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ push
Π Π΅Π»ΠΈΠ·Ρ
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
Π²Π΅ΡΠ²ΠΈ
ΠΡΡΠΈΠ±ΡΡΡ Git
Git LFS
ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
ΠΠΌΡ ΡΠ°ΠΉΠ»Π°
ΠΡΡΠΎΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ΅ΡΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΠ»ΠΈΠ°Π»Ρ
ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π³ΠΈ
ΠΡΠ°Π²ΠΈΠ»Π° push
Π£ΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°
ΠΠ΅Π±-ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
ΠΠ΅Π±-IDE
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
ΠΠΌΠΏΠΎΡΡ / ΡΠΊΡΠΏΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π’ΠΎΠΊΠ΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ
ΠΠ΅Π»ΠΈΡΠ΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ
Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΡ
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠ°ΠΉΡΠ°
ΠΠΈΠΊΠΈ
Π²ΠΎΠΏΡΠΎΡΡ
ΠΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠ½ΡΠΌΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ
CSV ΡΠΊΡΠΏΠΎΡΡ
CSV ΠΈΠΌΠΏΠΎΡΡ
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ
Π‘ΡΠΎΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΠΎΡΠΊΠΈ Π²ΡΠΏΡΡΠΊΠ°
ΠΠ°Π½Π½ΡΠ΅ ΠΎ Π²ΡΠΏΡΡΠΊΠ΅ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
ΠΡΠΈΠΊΠ΅ΡΠΊΠΈ
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ
ΠΠ΅Ρ ΠΈ
ΠΡΠ°ΡΠΈΠΊΠΈ Π²ΡΠ³ΠΎΡΠ°Π½ΠΈΡ
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°Π²ΠΎΠΏΡΠ΅Π΅ΠΌΠ½ΠΈΠΊΠΎΠ²
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
Π‘Π»ΡΠΆΠ±Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠΎΠ² Π·Π°Π΄Π°Ρ
ΠΠ΅Ρ
Π£Π²Π΅Π»ΠΈΡΠΈΡΡ ΠΌΠ°ΡΡΡΠ°Π± Π²ΡΡΡΠ΅Ρ ΠΏΠΎ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΠ°Π½Π΅Π»Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠ°ΡΡΡΠΎΠΈΡΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ
ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π² Markdown
ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ Π² Grafana
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
Π‘Π²ΠΎΠΉΡΡΠ²Π° YAML ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈΠ±ΠΎΡΠ½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ
Π’ΠΈΠΏΡ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ Π΄Π»Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠ΅ΡΡΠΈΠΊ
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅ΡΡΡΡΠΎΠ² AWS
HAProxy
Kubernetes
NGINX
NGINX Ingress
NGINX Ingress VTS
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡΠ΅ΡΡΠ²ΠΈΡΠΌΠΈ
ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΎΠ±ΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ
Π‘ΡΡΠ°Π½ΠΈΡΠ° ΡΡΠ°ΡΡΡΠ° GitLab
Π€Π»Π°Π³ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
CI / CD
ΠΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅
ΠΠ°ΡΠΈΠ½Π°Ρ
ΠΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉ SSH
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Ρ CircleCI
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Ρ Jenkins
.gitlab-ci.yml Π‘ΡΡΠ»ΠΊΠ°
ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ
ΠΠ²ΡΠΎ DevOps
ΠΠ°ΡΠΈΠ½Π°Ρ
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ°ΡΡΡΠΎΠΈΡΡ
ΠΡΠ°ΠΏΡ
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ PostgreSQL
ΠΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π§Π°Ρ
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΠ±Π»Π°ΠΊΠ΅
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π΄ΠΎΠΊΠ΅ΡΠΎΠΌ
Π‘Π±ΠΎΡΠΊΠ° Π΄ΠΎΠΊΠ΅ΡΠ°
ΠΠ±ΡΠ°Π·Ρ Π΄ΠΎΠΊΠ΅ΡΠΎΠ²
ΠΠ°Π½ΠΈΠΊΠΎ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ
ΠΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
Π£ΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
Π‘ΡΠ΅Π΄Ρ
ΠΠ°ΡΠΈΡΠ΅Π½Π½Π°Ρ ΡΡΠ΅Π΄Π°
ΠΡΠΈΠΌΠ΅ΡΡ
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°
Clojure
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Ρ Dpl
ΠΠ»ΠΈΠΊΡΠΈΡ
Π‘ΠΊΠ²ΠΎΠ·Π½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³Ρ
Java Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Spring
Java Ρ Maven
PHP Ρ PHPunit ΠΈ atoum
PHP Ρ NPM ΠΈ SCP
PHP Ρ Laravel ΠΈ Envoy
Python Π½Π° Heroku
Π ΡΠ±ΠΈΠ½ Π½Π° Heroku
Scala Π½Π° Heroku
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
Bitbucket Cloud
GitHub
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ
ΠΠΎΠ»ΡΡΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
ΠΡΡΠ΅ΡΡ ΠΏΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ
Π’ΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Ρ
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π°
ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π°ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π³ΡΠ°Ρ
ΠΠ½ΠΎΠ³ΠΎΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΠ΅ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Ρ
Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎ-Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ
ΠΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅
ΠΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠΎΠ΅Π·Π΄Π°
ΠΡΡΠ΅ΡΠ°ΠΊΡΡ ΡΠ°Π±ΠΎΡΡ
Π Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΎΠ²
ΠΠ±Π·ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ΅Π³ΡΠ½ΠΎΠ²
ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ»ΡΠ³
MySQL
PostgreSQL
Redis
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
CI Lint
ΠΠ°ΠΊΠ΅ΡΡ ΠΈ ΡΠ΅Π΅ΡΡΡΡ
Π Π΅Π΅ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
Π Π΅Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²
ΠΡΠΎΠΊΡΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΎΡΠ°
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΠΎΠ½Π°Π½Π°
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΡΠΎΠΊΡΠΈ
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Maven
Π Π΅Π΅ΡΡΡ ΠΠΠ
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ NuGet
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ PyPI
API
Π Π΅ΡΡΡΡΡ
.gitignore (ΡΠ°Π±Π»ΠΎΠ½Ρ)
.gitlab-ci.yml (ΡΠ°Π±Π»ΠΎΠ½Ρ)
ΠΠ°ΠΏΡΠΎΡΡ Π΄ΠΎΡΡΡΠΏΠ°
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅)
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΠ΄ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΠ²Π°ΡΠ°Ρ
ΠΠ°Π³ΡΠ°Π΄Π½ΡΠ΅ ΡΠΌΠ°ΠΉΠ»Ρ
ΠΠ½Π°ΡΠΊΠΈ (ΠΏΡΠΎΠ΅ΠΊΡ)
ΠΠ½Π°ΡΠΊΠΈ (Π³ΡΡΠΏΠΏΠ°)
Π²Π΅ΡΠ²ΠΈ
Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
ΠΠ»Π°ΡΡΠ΅ΡΡ (ΠΏΡΠΎΠ΅ΠΊΡ)
ΠΠ»Π°ΡΡΠ΅ΡΡ (Π³ΡΡΠΏΠΏΠ°)
ΠΠ»Π°ΡΡΠ΅ΡΡ (ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ)
Π‘ΠΎΠ²Π΅ΡΡΠ°Π΅Ρ
Π Π΅Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ
ΠΠ½Π½ΠΎΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΠΡΠΎΠΊΡΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
Π Π°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΊΠ»ΡΡΠΈ
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ
Dockerfile (ΡΠ°Π±Π»ΠΎΠ½Ρ)
Π‘ΡΠ΅Π΄Ρ
ΠΠΏΠΎΡ
Π‘ΠΎΠ±ΡΡΠΈΡ
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ»Π°Π³ΠΈ
Π‘ΠΏΠΈΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΡΠ»Π°Π³Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ΅ΡΠΈΠΎΠ΄Ρ Π·Π°ΠΌΠΎΡΠΎΠ·ΠΊΠΈ
ΠΠ΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ·Π»Ρ
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ° Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ
ΠΡΡΠΏΠΏΡ
ΠΈΠΌΠΏΠΎΡΡ
ΠΠΎΡΠΊΠΈ Π²ΡΠΏΡΡΠΊΠ° (ΠΏΡΠΎΠ΅ΠΊΡ)
ΠΠΎΡΠΊΠΈ Π²ΡΠΏΡΡΠΊΠ° (Π³ΡΡΠΏΠΏΠ°)
Π²ΠΎΠΏΡΠΎΡΡ
ΠΡΠΎΠ±Π»Π΅ΠΌΡ (ΡΠΏΠΈΡΠ΅ΡΠΊΠΈΠΉ)
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΡΠ΅ΡΠ°ΠΊΡΡ ΡΠ°Π±ΠΎΡΡ
ΠΠ»ΡΡΠΈ
ΠΡΠΈΠΊΠ΅ΡΠΊΠΈ (ΠΏΡΠΎΠ΅ΠΊΡ)
Π―ΡΠ»ΡΠΊΠΈ (Π³ΡΡΠΏΠΏΠ°)
ΠΠΈΡΠ΅Π½Π·ΠΈΡ
ΠΠΈΡΠ΅Π½Π·ΠΈΠΈ (ΡΠ°Π±Π»ΠΎΠ½Ρ)
Π‘ΡΡΠ»ΠΊΠΈ (ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°)
Π‘ΡΡΠ»ΠΊΠΈ (ΡΠΏΠΈΡΠ΅ΡΠΊΠΈΠ΅)
Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ
Markdown
Π§Π»Π΅Π½Ρ
Π£ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠΎΠ²
ΠΠ°ΠΏΡΠΎΡΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΠΎΠ΅Π·Π΄Π°
ΠΠ΅Ρ ΠΈ (ΠΏΡΠΎΠ΅ΠΊΡ)
ΠΠ΅Ρ ΠΈ (Π³ΡΡΠΏΠΏΠ°)
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ (ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ)
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ
ΠΠ°ΠΊΠ΅ΡΡ
Π‘ΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
Π’ΠΎΠΊΠ΅Π½Ρ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°
ΠΡΠ°ΡΠΈΠΊΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠ²
Π’ΡΠΈΠ³Π³Π΅ΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°
Π’ΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Ρ
ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠΌΠΏΠΎΡΡ / ΡΠΊΡΠΏΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
ΠΡΠΎΠ΅ΠΊΡΡ
ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠΈΠ»ΠΈΠ°Π»Ρ
ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π³ΠΈ
Π Π΅Π»ΠΈΠ·Ρ
Π‘ΡΡΠ»ΠΊΠΈ Π½Π° Π²ΡΠΏΡΡΠΊ
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
Π€Π°ΠΉΠ»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
Π‘ΠΎΠ±ΡΡΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ²
Π‘ΠΎΠ±ΡΡΠΈΡ ΡΡΠ»ΡΠΊΠ° ΡΠ΅ΡΡΡΡΠ°
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ΅ΡΡΡΡΠ°
Π‘ΠΎΠ±ΡΡΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΡΡΡΡΠ°
Π‘ΠΎΠ±ΡΡΠΈΡ Π²Π΅ΡΠ° ΡΠ΅ΡΡΡΡΠ°
ΠΠ΅Π³ΡΠ½ΠΎΠ²
SCIM
ΠΠΎΠΈΡΠΊ
Π‘Π΅ΡΠ²ΠΈΡΡ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅)
ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Sidekiq
Sidekiq ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΡ
Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΡ (ΠΏΡΠΎΠ΅ΠΊΡ)
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅)
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Ρ ΡΠΊΠΈ
Π’Π΅Π³ΠΈ
Π‘ΠΏΠΈΡΠΊΠΈ Π΄Π΅Π»
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (ΠΏΡΠΎΠ΅ΠΊΡ)
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (Π³ΡΡΠΏΠΏΠ°)
ΠΠ΅ΡΡΠΈΡ
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
ΠΡΠ²ΠΎΠ΄Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
ΠΠΈΠΊΠΈ
GraphQL
ΠΠ°ΡΠΈΠ½Π°Ρ
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ GraphQL
Π‘ΠΎΠ·Π΄Π°ΡΡ Π°ΡΠ΄ΠΈΡΠΎΡΡΠΊΠΈΠΉ ΠΎΡΡΠ΅Ρ (ΠΏΡΠΈΠΌΠ΅Ρ)
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π΄ΠΎΡΠΊΠΈ Π·Π°Π΄Π°Ρ (ΠΏΡΠΈΠΌΠ΅Ρ)
ΠΎΡ v3 Π΄ΠΎ v4
Lint.gitlab-ci.yml
GitLab ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ OAuth3
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΡΡΠ΅ΡΡ ΠΎ Π½Π°ΡΡΡΠ΅Π½ΠΈΡΡ
Π‘ΡΠ΅Ρ
ΠΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΠΈ
Π£Π΄Π°Π»ΠΈΡΡ Π°ΠΊΠΊΠ°ΡΠ½Ρ
Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ
Π’ΠΎΠΊΠ΅Π½Ρ Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ
ΠΠ²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ
ΠΠ±ΡΠ΅Π΅
ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
SSH
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ
Git
Π§Π°ΡΡΠΈΡΠ½ΡΠΉ ΠΊΠ»ΠΎΠ½
Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Git
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ GitLab.com
ΠΠΎΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ
Markdown
AsciiDoc
Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅
ΠΡΡΡΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
ΠΠ²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΠ°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ Π³ΡΡΠΏΠΏ
ΠΠΎΠΈΡΠΊ
Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°
Π£ΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
Π‘ΠΏΠΈΡΠΊΠΈ Π΄Π΅Π»
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ
ΠΡΠ°Π»ΠΎΠ½Π½ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ
ΠΠΎ 1000 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠΎ 2000 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠΎ 3000 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠΎ 5000 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠΎ 10 000 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠΎ 25000 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠΎ 50 000 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΠ°ΡΡΡΠΎΠΈΡΡ
ΠΠ½Π΅ΡΠ½ΠΎΡΡΡ
CI / CD
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°
ΠΡΠ΅Π΄Π΅Π»Ρ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ
ΠΠ». Π°Π΄ΡΠ΅Ρ
Π€Π»Π°Π³ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ·Π»Ρ
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Git LFS
Gitaly ΡΠ°ΠΉΠΌΠ°ΡΡΡ
GitLab Pages
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π΄ΠΎΡΠΎΠ²ΡΡ
ΠΡΡΠ½Π°Π»Ρ ΡΠ°Π±ΠΎΡ
ΠΡΠΈΠΊΠ΅ΡΠΊΠΈ
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΆΡΡΠ½Π°Π»ΠΎΠ²
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ OAuth
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ PlantUML
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΡΡΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
Π’ΠΈΠΏΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
Π Π°Π·ΠΌΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
Π¨Π°Π±Π»ΠΎΠ½Ρ ΡΡΠ»ΡΠ³
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Ρ ΡΠΊΠΈ
Π§Π°ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡ
ΠΠ°Π³ΡΡΠ·ΠΊΠΈ
ΠΡΡΠ΅ΡΡ ΠΎ Π½Π°ΡΡΡΠ΅Π½ΠΈΡΡ
ΠΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ°
ΠΡΠ΄ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
Elasticsearch
ΠΠΎΠ½ΡΡΠ»
PostgreSQL
PgBouncer
Π Π΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΎΡΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΊΠ°Π·Π°
Π‘Π»ΡΠΆΠ±Π° Π²Π½Π΅ΡΠ½Π΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΠ°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π°Π³ΡΡΠ·ΠΊΠΈ
NFS
Redis
Sidekiq
ΠΠΈΡΠ°Π»ΠΈ
ΠΠΈΡΠ°Π»ΠΈ ΠΠ»Π°ΡΡΠ΅Ρ
Π‘ΡΡΠ»ΠΊΠ° Gitaly
ΠΠ΅ΡΡΠΈΠΊΠΈ
ΠΡΠΎΠΌΠ΅ΡΠ΅ΠΉ
ΠΠ°Π½Π΅Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΡΠΈΡΡΠΈΡΡ ΡΠ΅Π°Π½ΡΡ Redis
ΠΡΡΡΡΡΠΉ SSH.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² GitHub Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ GitHub
ΠΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ
- GitHub.com
ΠΠ°ΡΠΈΠ½Π°Ρ
- ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
- ΠΠ°ΡΡΡΠΎΠΈΡΡ Git
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎ
- Π€ΠΎΡΠΊ ΡΠ΅ΠΏΠΎ
- ΠΡΡΡ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΌ
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ GitHub
- ΠΡΠΎΠ΄ΡΠΊΡΡ GitHub
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠΎΠ² ΡΠ°Π½Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ
- Π’ΠΈΠΏΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² GitHub
- Π§Π°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ Π² ΠΏΠ»Π°Π½Π°Ρ GitHub
- GitHub CLI
- GitHub Desktop
- GitHub Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π΄ΠΎΡΡΡΠΏ Π½Π° GitHub
- ΠΠ»ΠΎΡΡΠ°ΡΠΈΠΉ GitHub
- Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ Git
- Π£ΡΠ΅Π±Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Git ΠΈ GitHub
- Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° GitHub
- Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ GitHub
- ΠΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ±Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ GitHub Enterprise Cloud
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ±Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ GitHub Enterprise Server
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° GitHub
- ΠΠΎΠΈΡΠΊ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ Π² ΠΎΡΠΊΡΡΡΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° GitHub
- Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΡΠΎ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠ°ΠΌΠΈ
- Π‘Π»Π΅Π΄ΡΡ Π·Π° Π»ΡΠ΄ΡΠΌΠΈ
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ GitHub
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ
- Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ
- ΠΠΎΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ
- ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
.