Git ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ: ΠΠΆΠ΅Π΄Π½Π΅Π²Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ Git / Π₯Π°Π±Ρ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ git. Π£ΡΠΎΠΊ 2
Π£ΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ git, Π½Π°ΡΡΠΈΠΌΡΡ ΠΈΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ·Π½Π°Π΅ΠΌ, Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Ρ ssh-ΠΊΠ»ΡΡΠΈ
ΠΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ. Π§Π°ΡΡΡ 1. ΠΡΠ°ΠΊΡΠΈΠΊΠ°
ΠΡΠ΅ ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
- ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅
- ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
- ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
- ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ssh-ΠΊΠ»ΡΡΠΈ
ssh-ΠΊΠ»ΡΡΠΈ
- ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ
- Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΡΠ²ΠΎΠΉ ΠΊΠ»ΡΡ
ΠΠΈΠ΄Π΅ΠΎΡΡΠΎΠΊ. Π§Π°ΡΡΡ 2
- Π§ΡΠΎ Π²ΡΠ±ΡΠ°ΡΡ: github ΠΈΠ»ΠΈ bitbucket?
- ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ssh-ΠΊΠ»ΡΡΠ΅ΠΉ
ΠΠΎΠ½ΡΠΏΠ΅ΠΊΡ ΡΡΠΎΠΊΠ°
ΠΡΠ°ΡΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΊΠ°, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΡΠΎΠ²Π΅ΡΡ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΡΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π³Π΄Π΅ Ρ
ΡΠ°Π½ΠΈΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ΅:
- ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- ΡΠ»ΡΠΆΠ΅Π±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ
ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠΊΡΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ .git Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ git Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ
ΠΠ°, ΠΌΠΎΠΆΠ½ΠΎ. ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π½Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈ ΠΆΠ΅Π»Π΅Π·Π° ΠΈΠ»ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠΈ Π΄Π°Π½Π½ΡΡ
ΠΌΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΡΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ
ΡΠ°Π½ΠΈΡΡΡ Π½Π° Π½Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ ΡΠ° ΡΠ°ΠΌΠ°Ρ ΡΠΊΡΡΡΠ°Ρ ΠΏΠ°ΠΏΠΊΠ° .git
Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½
ΠΡΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ
ΡΠ°Π½ΠΈΡΡΡ Π² ΠΎΠ±Π»Π°ΠΊΠ΅, Π½Π° ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ
, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΠ΄ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ git.
ΠΠ»ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
- Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ»Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ
- Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅
- Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Ρ ΠΎΡΡΠΈΠ½Π³. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΏΡΡΠΌΠΎ Π² Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ.
ΠΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Π½Π°ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π²ΡΡ Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠΈΡ.
Π’ΠΎ Π΅ΡΡΡ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΡΡΠΎΡΠΈΠΈ Π½Π΅ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π°ΡΠ°Π»Π° Π½Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, Π° Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡΠΈ Π΅Π΅ ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π³ΠΎΡΠΎΠ²ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Π½ΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅.
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ vuejs — https://github.com/vuejs/vue.git
ΠΠ°Π±Π΅ΡΠ΅ΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
$ git clone https://github.com/vuejs/vue.git
ΠΡΠΈ ΡΡΠΎΠΌ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΠ°ΠΏΠΊΠ° vue, Π² Π½Π΅ΠΉ ΠΎΠΊΠ°ΠΆΡΡΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° vue ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠΊΡΡΡΠ°Ρ ΠΏΠ°ΠΏΠΊΠ° .git, ΡΠΎ Π΅ΡΡΡ ΡΠ°ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½Π΅ΠΌ.
ΠΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π² Π΄ΡΡΠ³ΡΡ ΠΏΠ°ΠΏΠΊΡ
ΠΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ° Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π² Π΄ΡΡΠ³ΡΡ ΠΏΠ°ΠΏΠΊΡ Π²ΠΎΡ ΡΠ°ΠΊ
$ git clone https://github.com/vuejs/vue.git vue-new
ΠΠ΄Π΅ vue-new — Π½ΡΠΆΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ.
Π‘Π²ΠΎΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΠ»Ρ ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ ΠΏΠ»ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΡ ΡΠΆΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ Π²ΡΡΠ΅. Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Ρ
ΠΎΡΡΠΈΠ½Π³ Π΄Π»Ρ Π½Π°ΡΠΈΡ
git-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΠ΄Π΅ Π΄Π΅ΡΠΆΠ°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², ΡΠ°ΠΌΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ — ΡΡΠΎ github ΠΈ bitbucket. ΠΡΠΆΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΏΠ°ΡΡΡΠ΅ΡΡ. Π£ Π½ΠΈΡ
ΡΡ
ΠΎΠΆΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΈ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ°Π±ΠΎΡΡ Ρ git ΠΌΡ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΠΌ ΡΠ°Π·Π½ΠΈΡΡ.
bitbucket ΠΌΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ·-Π·Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π½ΠΎ Π² ΡΡΠΎΠΊΠ°Ρ
Π²ΡΠ±Π΅ΡΠ΅ΠΌ github ΠΈΠ·-Π·Π° Π΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΡΠΎΠΊΠΈ, Π½ΡΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° github. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ ΡΠ°ΠΌ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°, ΡΠΎ ΡΠΎΡΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠ°Π·Ρ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ — https://github.com/
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² github
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ github. ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠΈΠΏ (ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ). ΠΠ° ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.
ΠΡΠ°Π²Π° Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅
ΠΡΡΡ 2 ΡΠΈΠΏΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²:
- ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ (public), ΠΎΡΠΊΡΡΡ Π²ΡΠ΅ΠΌ
- ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ (private), Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΊΡΡΠ³Ρ Π»ΠΈΡ — Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π½Π°ΠΌ ΡΠ°ΠΌΠΈΠΌ
ΠΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ
ΠΎΡΠΎΡΠΈ Π΄Π»Ρ opensource-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π² ΡΠ΅Π·ΡΠΌΠ΅. ΠΠΎΠΊΠ° Π½Π°ΠΌ ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
ΠΠ»Ρ ΡΠ΅Π±Ρ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ssh-ΠΊΠ»ΡΡΠΈ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ssh-ΠΊΠ»ΡΡΠΈ
ssh-ΠΊΠ»ΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌΡ ssh-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ.
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ssh-ΠΊΠ»ΡΡ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΡΠΊΠ°ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². Π’ΠΎΠ»ΡΠΊΠΎ ΡΠ΅Ρ
, ΠΊΠΎΠΌΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ.
ssh-ΠΊΠ»ΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΡΠΌΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ git, Π½ΠΎ ΡΠ°ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
, ΡΠΎ ssh-ΠΊΠ»ΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ.
ssh-ΠΊΠ»ΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΠ°ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ: ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ 2 ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΡΠ°ΠΉΠ»Π°:
- /Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ-ΠΊΠ°ΡΠ°Π»ΠΎΠ³/.ssh/id_rsa.pub — ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ
- /Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ-ΠΊΠ°ΡΠ°Π»ΠΎΠ³/.ssh/id_rsa — ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ
ΠΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, github, Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° Π½Π° ΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Ρ
ΡΠ°Π½ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π½Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈ Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ.
Π’ΠΎ Π΅ΡΡΡ ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ ΠΏΡΠΎΡΡΡ ssh-ΠΊΠ»ΡΡ, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ Π΄ΠΎΡΡΡΠΏ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΅ΡΠ²Π΅Ρ, ΠΌΡ ΠΎΡΠ΄Π°Π΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, id_rsa.pub
ΠΠ°ΠΊ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ssh-ΠΊΠ»ΡΡ
ssh-ΠΊΠ»ΡΡΠΈ ΡΠ°ΠΌΠΈ ΡΠΎΠ±ΠΎΠΉ Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ, Π½ΠΎ ΡΡΠΎΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠ°Π½ΡΡΠ΅. ΠΠ°ΠΏΡΡΡΠΈΠΌ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
$ cd ~/.ssh
$ ls -l
ΠΡΠ»ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ°ΠΉΠ»Ρ id_rsa ΠΈ id_rsa.pub — ΠΎΡΠ»ΠΈΡΠ½ΠΎ, ΠΊΠ»ΡΡΠΈ ΡΠΆΠ΅ Π΅ΡΡΡ.
ΠΡΠ»ΠΈ ΡΡΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π΅Ρ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠΈ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ ssh-keygen. Π Windows ΠΎΠ½Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ git, Π² Linux ΠΈ MacOS ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅. Π Linux, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΡΠ°ΠΊ
$ sudo apt install ssh-keygen
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, Π·Π°ΠΏΡΡΡΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅
$ ssh-keygen -t rsa -b 4096 -C "[email protected]"
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ
$ ls -l
total 24
-rw------- 1 sn8 sn8 1675 Feb 11 2017 id_rsa
-rw-r--r-- 1 sn8 sn8 392 Feb 11 2017 id_rsa.pub
-rw-r--r-- 1 sn8 sn8 5746 Oct 28 21:52 known_hosts
ΠΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ id_rsa ΠΈ id_rsa.pub — Π·Π½Π°ΡΠΈΡ, ΠΊΠ»ΡΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Ρ.
known_hosts — ΡΡΠΎ ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ssh ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π·Π°Ρ
ΠΎΠ΄ΠΈΠΌ.
ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ github Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ github.com (Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ yes Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅)
ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ssh-ΠΊΠ»ΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ github
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ id_rsa.pub ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
github ΠΈΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π» «SSH ΠΈ GPG keys» — https://github.com/settings/keys.
ΠΠΌΠ΅ΠΌ «New SSH key», Π·Π°Π΄Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΡ, ΠΈ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠΎΡΠΌΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΊΡΡΠΎΠΌ. ΠΡΠ΅, ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π°ΡΠΈΠΌ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ.
ΠΠ²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ΅ΡΠ²ΡΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. Π£Π΄ΠΎΠ±Π½Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° github ΠΈ ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ.
ΠΡΠΎΡΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π² ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠ²ΡΠ·Π°ΡΡ Π΅Π³ΠΎ Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ Π½Π° github. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±Π° ΡΠΏΠΎΡΠΎΠ±Π°.
ΠΡΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° github, Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ first-site.
Π― Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π»ΡΡ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Webdevkin, ΠΌΠΎΡ ΡΡΡΠ»ΠΊΠ° Π΄Π»Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠ°Ρ — [email protected]:Webdevkin/first-site.git. ΠΠ°ΡΠ° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ΄Π΅ΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ
$ git clone [email protected]:Webdevkin/first-site.git
Π ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ first-site — ΡΡΠΎ ΠΈ Π΅ΡΡΡ Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ.
P.S. Π£ Π²Π°Ρ ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ — ΠΎΠ½ Π·Π°ΠΊΡΡΡΡΠΉ. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ :-)
ΠΠ΅ΠΏΡΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π½Π°Ρ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ second-site. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π² github ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ second-site. ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
$ git init
$ git add .
$ git commit -m "Initial commit"
$ git remote add origin [email protected]:Webdevkin/second-site.git
$ git push -u origin master
ΠΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ. ΠΠΎΠΌΠ°Π½Π΄Ρ add, commit ΠΈ push ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΡΠΎΠΊΠ°Ρ
.
ΠΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΡΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΡΠ°Π·Π±ΠΈΡΠ°Π»ΠΈΡΡ Ρ ΡΠΎΠ½ΠΊΠΎΡΡΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π². Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π±ΡΠ΄Π΅ΠΌ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ = ΠΏΡΠΎΠ΅ΠΊΡ.
Π§ΡΠΎ ΠΌΠΎΠ³Ρ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°ΡΡ
- github ΠΈΠ»ΠΈ bitbucket? ΠΠ»Ρ Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π΅Π²Π°ΠΆΠ½ΠΎ, ΠΎΠ±Π° ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠ»Ρ open source ΠΈΠ»ΠΈ ΡΠ΅Π·ΡΠΌΠ΅ — github
- Π½Π΅ ΡΠ²Π»Π΅ΠΊΠ°ΠΉΡΠ΅ΡΡ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΠΏΠ°ΠΏΠΊΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΡΡ ΡΠ°Π½Ρ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ, ΡΠ°ΠΌΠΎΠΌΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ
- Π½Π΅ ΠΏΡΡΠ°ΠΉΡΠ΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΠΊΠ»ΡΡΠΈ. ΠΡΠ΄Π°Π΅ΠΌ Π²ΠΎΠ²Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ id_rsa.pub
- ΠΏΡΠΈ ΡΠΌΠ΅Π½Π΅ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ssh-ΠΊΠ»ΡΡΠΈ Π·Π°Π½ΠΎΠ²ΠΎ, Π° ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ ΡΠΎ ΡΡΠ°ΡΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ. Π’ΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ»ΡΡΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ssh-ΠΊΠ»ΡΡΠ΅ΠΉ
ΠΠ°ΠΊ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ssh-ΠΊΠ»ΡΡΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Π½Π° Π΄ΡΡΠ³ΡΡ
Π₯ΠΎΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΡΡΠΎΠ½ΡΡΡ ΡΡΡ ΡΠ΅ΠΌΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. ΠΠ΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ Π½Π° Π½ΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
- Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ id_rsa ΠΈ id_rsa.pub ΡΠΎ ΡΡΠ°ΡΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Π½Π° Π½ΠΎΠ²ΡΡ
- ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠ°Π²Π° Π½Π° ΡΠ°ΠΉΠ»Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠ»ΡΡΠΈ ΠΎΠΊΠ°ΠΆΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ «ΠΎΡΠΊΡΡΡΡΠΌΠΈ» Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° — sudo chmod 700 ~/.ssh/*
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ssh-add
Π‘ΡΡΠ»ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈ Π½Π°ΡΠ½Π΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, Π² ΡΠ΅ΠΌ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠ΅Π»Π΅ΡΡΡ git.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ Π΄ΠΎ Π²ΡΡΡΠ΅ΡΠΈ!
ΠΡΠ΅ ΡΡΠΎΠΊΠΈ ΠΊΡΡΡΠ°
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ…
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ | Atlassian Git Tutorial
ΠΡΠΎΡ ΠΎΠ±ΡΡΠ°ΡΡΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΎΠ±Π·ΠΎΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Git. ΠΠ° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π΄Π»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π². ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΡΡΠ΅Π±ΡΡΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
- ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git
- ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git
- ΠΠΎΠΌΠΌΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ
- Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Git
ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΌΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ Ρ ΠΎΡΡΠΈΠ½Π³Π° Git (Bitbucket).
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git?
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git β ΡΡΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ: git init
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° git init
. ΠΠΎΠΌΠ°Π½Π΄Ρ git init
Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° .git
Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° Π½ΠΎΠ²Π°Ρ Π³Π»Π°Π²Π½Π°Ρ Π²Π΅ΡΠΊΠ°.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΠΈ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cd
Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git init
.
cd /path/to/your/existing/code git init
Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git init
ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°.
git init
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ git init, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git init
.
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ: git clone
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΆΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½ Π² ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° clone. ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° git init
, ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. ΠΠΎΠ»ΡΡΠΈΠ² ΡΠ°Π±ΠΎΡΡΡ ΠΊΠΎΠΏΠΈΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
git clone
ΠΠΎΠΌΠ°Π½Π΄Ρ git clone
Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΏΠΈΠΈ (ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ) ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ git clone
ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ URL-Π°Π΄ΡΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. Git ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠ΅ΡΠ΅Π²ΡΡ
ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΠΎΡΠΌΠ°ΡΠΎΠ² URL-Π°Π΄ΡΠ΅ΡΠΎΠ². Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ SSH-ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Git. URL-Π°Π΄ΡΠ΅ΡΠ° SSH Π² Git ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½: git@HOSTNAME:USERNAME/REPONAME.git
ΠΡΠΈΠΌΠ΅Ρ URL-Π°Π΄ΡΠ΅ΡΠ° SSH Π² Git ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄: [email protected]:rhyolight/javascript-data-store.git
, Π° Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
HOSTNAME: bitbucket.org
USERNAME: rhyolight
REPONAME: javascript-data-store
ΠΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π±ΡΠ΄ΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π² Π½ΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ REPONAME, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅: javascript-data-store
. Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ Π³Π»Π°Π²Π½Π°Ρ Π²Π΅ΡΠΊΠ°.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git clone
ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠΎΡΠΌΠ°ΡΠ°Ρ
URL-Π°Π΄ΡΠ΅ΡΠΎΠ² Π² Git ΡΠΌ. Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ git clone.
Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ: git add ΠΈ git commit
Π£ Π²Π°Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΏΡΡΠ΅ΠΌ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²Π΅ΡΡΠΈΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /path/to/project
. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ.
- ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π½Π°
/path/to/project
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»
CommitTest.txt
Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ ~Β«ΡΠ΅ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅ Ρ GitΒ»~ - Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ°ΠΉΠ»
CommitTest.txt
Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² - Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΡΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅
cd /path/to/project echo "ΡΠ΅ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git" >> CommitTest.txt git add CommitTest.txt git commit -m "ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° CommitTest.txt Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ"
ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΠΉΠ» CommitTest.txt
Π΄ΠΎΠ±Π°Π²ΠΈΡΡΡ ΠΊ ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π΄Π²Π΅ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Git: add
ΠΈ commit
. ΠΡΠΎΡ ΠΎΡΠ΅Π½Ρ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ±Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ±ΡΡΡΠ½Π΅Π½Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ
git add ΠΈ git commit. ΠΠΎΠΌΠ°Π½Π΄Ρ git add
ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Ρ ΡΠ»Π°Π³ΠΎΠΌ --all
. ΠΠΎΠΌΠ°Π½Π΄Π° git add --all
Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΠΈ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ°Π·Π½ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
: git push
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠΎΠΏΠΈΡ Π² Git ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ SVN. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ SVN, Π² Git Π½Π΅Ρ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ ΠΊΠΎΠΏΠΈΡΠΌΠΈ ΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ β Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ Git.
ΠΠΎΡΡΠΎΠΌΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π² Git ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² SVN. Π SVN ΡΠ°Π±ΠΎΡΠ° ΡΡΡΠΎΠΈΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ ΠΈ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ, Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² Git ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ. ΠΠΌΠ΅ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ Π² ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ SVN Π² Git Π²Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΠ΅ ΠΈΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ.
ΠΡ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΎΡΠΎΠ±ΡΡ ΡΠΎΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ Git. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠ² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Git ΠΊΠ°ΠΊ Β«ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉΒ», Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Git. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±ΡΠΈΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ΅Π½Π½ΠΎΡΡΠ΅ΠΉ, ΠΎΠ½ Π½Π΅ Π²ΡΡΡΠΎΠ΅Π½ Π² ΡΠ°ΠΌΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΡΡ
ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²
ΠΡΠ»ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ (Β«ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΒ») Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git clone
, Π²Π°Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅. ΠΠΎΠΌΠ°Π½Π΄Π° git clone
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΡΡΡΠΎΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ remote Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ URL-Π°Π΄ΡΠ΅ΡΡ Git, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ» ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»Π° ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π·Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push
, ΡΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git init
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ρ Π½ΡΠ»Ρ, Ρ Π²Π°Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ°ΡΠ°ΡΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ Π½Π° ΡΠ΅ΡΠ²ΠΈΡ Git-Ρ
ΠΎΡΡΠΈΠ½Π³Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Bitbucket) ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ°ΠΌ. ΠΠ°Π½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ URL-Π°Π΄ΡΠ΅Ρ Git, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push
Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° Ρ
ΠΎΡΡΠΈΠ½Π³Π΅. ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ Ρ
ΠΎΡΡΠΈΠ½Π³Π΅ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Β«ΡΠΈΡΡΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉΒ». ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git init
ΠΈ git clone
ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ --bare
. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°: git config
ΠΠΎΡΠ»Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π΅Π³ΠΎ URL-Π°Π΄ΡΠ΅Ρ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» git config
, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΡΡ Π²Π΅ΡΠΊΡ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π²Π΅ΡΠΎΠΊ. Π’Π°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° git remote
.
git remote add
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠ²ΡΠΆΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ ΠΊ ΡΡΡΠ»ΠΊΠ΅ Π² Π²Π°ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
. ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ push.
git push -u
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΌΠ΅ΡΡΠΈΡ Π²Π΅ΡΠΊΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git remote
ΡΠΌ. Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² Git
.
ΠΠΎΠΌΠΈΠΌΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ URL-Π°Π΄ΡΠ΅ΡΠ° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Git, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ. ΠΠΎΠΌΠ°Π½Π΄Π° git config
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ Git (ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ) ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΡΠ±ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ: ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ Π΄ΠΎ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠΈΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
Git Ρ ΡΠ°Π½ΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² ΡΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² (Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ), ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ) ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ):
- ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ:
/.git/config
β Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. - ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ:
/.gitconfig
β Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ΄Π΅ΡΡ Ρ ΡΠ°Π½ΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Ρ ΡΠ»Π°Π³ΠΎΠΌ —global. - Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ:
$(prefix)/etc/gitconfig
β Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π°Π³ --global
.
git config --global user.name
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π΄Π°Π΅Ρ ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° --local
ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠΎΠ²Π½Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ user.name
Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
git config --local user.email
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π΄Π°Π΅Ρ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ Π°Π²ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
git config --global alias.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π±ΡΡΡΡΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git. ΠΡΠΎ ΠΌΠΎΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ Π΄Π»Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Git. ΠΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
git config --global alias.ci commit
Π’Π°ΠΊ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ci
, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git commit
. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± Π°Π»ΠΈΠ°ΡΠ°Ρ
Π² Git ΡΠΌ. Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ git config
.
git config --system core.editor
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠ°ΠΊ git commit
, Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΡΠ³ΡΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, vi). Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
--system
. ΠΡΠ³ΡΠΌΠ΅Π½Ρ --system
ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ΅Ρ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π²ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΠΎΠ²Π½ΡΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΌ. Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ git.
git config --global --edit
Π ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΡΠ½ΡΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π΄Π»Ρ Git ΡΠΌ. Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Git config.
ΠΠΎΡΡΠ½Π΅Π½ΠΈΡ
ΠΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² ΠΎΠ±ΡΡΠ½ΡΡ
ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΡΠ°ΠΉΠ»Π°Ρ
, ΡΠ°ΠΊ ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° git config
β ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Git ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π°ΡΠ°Π»Π΅ ΡΠ°Π±ΠΎΡΡ Π½Π° Π½ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. Π ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π°Π³ --global
. ΠΠ΄Π½ΠΎ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ β Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ Π°Π²ΡΠΎΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π»ΠΈΡΠ½ΡΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ Π΄Π»Ρ Π»ΠΈΡΠ½ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ β Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠΈΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π².
Git Ρ ΡΠ°Π½ΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² ΡΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ , ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
/.git/config
β Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.~/.gitconfig
β Π»ΠΈΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ΄Π΅ΡΡ Ρ ΡΠ°Π½ΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Ρ ΡΠ»Π°Π³ΠΎΠΌ —global.$(prefix)/etc/gitconfig
β Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ , ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡ, Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΠΎΡΠΊΡΠΎΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½Π΅ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:
[user] name = John Smith email = [email protected] [alias] st = status co = checkout br = branch up = rebase ci = commit [core] editor = vim
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡΡΠ½ΡΡ, ΡΡΡΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git config
.
ΠΡΠΈΠΌΠ΅Ρ
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Git ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΈΠΌΡ ΠΈ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ ΡΠΈΠΏΠΈΡΠ½ΠΎΠΉ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π΄Π°Π»Π΅Π΅.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git config
git --global user.name "John Smith" git config --global user.email [email protected]
ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π»ΡΠ±ΠΈΠΌΡΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
git config --global core.editor vim
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π°Π»ΠΈΠ°ΡΡ ΠΏΠΎ ΡΠΈΠΏΡ SVN
git config --global alias.st status git config --global alias.co checkout git config --global alias.br branch git config --global alias.up rebase git config --global alias.ci commit
Π‘ΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠ°ΠΉΠ» ~ /.gitconfig
, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅. ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git config ΡΠΌ. Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Git config.
Π Π΅Π·ΡΠΌΠ΅
ΠΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ: git init ΠΈ git clone. ΠΡΠΈΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΠ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ, ΠΏΡΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΠΎΡΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π±ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git add, git commit, git push ΠΈ git remote ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΎΡΡΠΈΡΠ΅ Π½Π°ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² Git. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ΠΒ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡΒ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΡΡΠΎΠΉ Git ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΒ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π°Β ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π°Β ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Github.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΡΡΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΒ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²Β Π½Π΅Π΅:
mkdir myproject
cd myproject
Π’Π΅ΠΏΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π²Β Π½Π°ΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git init
ΠΒ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²ΡΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΡΡΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠ°Β ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π°:
Initialized empty Git repository in /path/to/myproject/.git/
ΠΒ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ myproject ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΊΡΡΡΠ°Ρ ΠΏΠ°ΠΏΠΊΠ° .git. ΠΠ΅Β ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ls -al
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΠ·Β ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΡΒ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΒ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Git ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²Β ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
cd myproject
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
git init
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²Β ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΒ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ:
git add -A
git commit -m "First commit."
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (Π½Π°Β ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Github)
ΠΡΒ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΠ΅ΠΏΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π°Β Github, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π²ΡΒ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π°Β https://githib.com ΠΈΒ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ Π²Β ΡΠ²ΠΎΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ New repository (ΠΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ). ΠΠ°Β ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΉΡΡ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (Repository name) ΠΈΒ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Create repository.
ΠΒ ΡΠ²ΠΎΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git remote add origin https://github.com/username/myproject.git
ΠΠ°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΒ ΠΈΠΌΠ΅Π½Π΅ΠΌ origin, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°Β Π²Π°Ρ Github-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΠΎΠΊΠ° ΠΌΡΒ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ ΠΎΠ±Β ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push, ΡΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°Β ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
git push -u origin master
ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²Π²Π΅ΡΡΠΈ Π»ΠΎΠ³ΠΈΠ½ ΠΈΒ ΠΏΠ°ΡΠΎΠ»Ρ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° Π²Β Github. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
$ git push -u origin master
Username for 'https://github.com': [email protected]
Password for 'https://[email protected]@github.com':
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 252 bytes | 252.00 KiB/s, done.
Total 4 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for 'master' on GitHub by visiting:
remote: https://github.com/username/myproject/pull/new/master
remote:
To https://github.com/username/myproject.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
ΠΒ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git push ΠΌΡΒ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠ»ΡΡ -u. ΠΠ°Π½Π½ΡΠΉ ΠΊΠ»ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ master ΡΒ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ origin/master (Π²Β Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π½Π΅Β ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ, ΠΎΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π°). Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ²ΡΠ·Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°, ΡΠΎΒ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ git push ΠΈΠ·Β Π²Π΅ΡΠΊΠΈ ΠΌΠ°ΡΡΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π²Π΅ΡΠΎΠΊ. Π’ΠΎΒ Π΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ git push origin master), ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push.
ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΆΠ΅Π»Π°ΡΡΠΈΡ ΡΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Π°ΠΌΠΈ
Git β Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ Π»ΠΈΠ΄Π΅Ρ ΠΏΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π΄ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ. ΠΡΠΎ ΡΠ°Π·Π²ΠΈΡΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΈ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π‘ΠΈΡΡΠ΅ΠΌΠ° Git Π±ΡΠ»Π° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Π² 2005 Π³ΠΎΠ΄Ρ ΠΠΈΠ½ΡΡΠΎΠΌ Π’ΠΎΡΠ²Π°Π»ΡΠ΄ΡΠΎΠΌ β ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ΄ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Linux. Git ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΠ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ , ΡΠ°ΠΊ ΠΈ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ½Π° ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (IDE).
Git β ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π½Π΅ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π²ΡΠΎΠ΄Π΅ CVS ΠΈ Subversion (SVN), Π³Π΄Π΅ ΠΏΠΎΠ»Π½Π°Ρ ΠΈΡΡΠΎΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎΡΡΡΠΏΠ½Π° Π»ΠΈΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π² Git ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠΎΠΏΠΈΡ ΠΊΠΎΠ΄Π° ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ΅.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π² Git ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
Git ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΡΠ΅Π½Ρ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ². ΠΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅ΡΠΎΠΊ, ΡΠ»ΠΈΡΠ½ΠΈΡ ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Git ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Ρ ΡΡΠ΅ΡΠΎΠΌ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ Π·Π½Π°Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π² ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏΠΈΡΠ½ΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ°.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΡΡΡΡΡ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄Π΅ΡΠ΅Π²ΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΈΡΡΠΎΡΠΈΠΈ Π²Π΅ΡΡΠΈΠΉ. ΠΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΠ° Git Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΉΠ»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ°ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ, ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΈ ΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git ΡΠΎΡΠΌΠΈΡΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π΅Π»ΡΡΠ°βΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΎΡΠ»ΠΈΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ) ΠΈ ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΠΈΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ ΡΠ°Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΠΉ.
ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΠ»ΠΈΡ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ½Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π±ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ 2.0, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½Π° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ Π΄Π΅Π»Π°Π΅Ρ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΡΠ΅ΠΌ ΠΠ»ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π° Π²Π΅ΡΠΊΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π²Π΅ΡΡΠΈΠΈ 1.3 ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΠ β ΡΠ°ΠΊ ΠΎΠ½Π° ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π±Π°Π³, Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡΠΈΠΉ ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ. ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΠ»ΠΈΡ ΠΌΠΎΠ³Π»Π° Π²ΡΠΏΡΡΡΠΈΡΡ Π²Π΅ΡΡΠΈΡ 1.3.1 Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ Π²Π΅ΡΡΠΈΠ΅ΠΉ 2.0. ΠΠ°ΡΠ΅ΠΌ ΠΠ»ΠΈΡ Π²Π΅ΡΠ½Π΅ΡΡΡ ΠΊ Π²Π΅ΡΠΊΠ΅ Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΈ 2.0 ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. ΠΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±Π΅Π· Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΈΡΡΠ΅ΠΌΠ° Git ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ Π±ΡΡΡΡΠΎΡΠΎΠΉ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ°ΠΌΠΎΠ»Π΅ΡΠ΅. ΠΠΎΠ³Π΄Π° ΠΠ»ΠΈΡ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ²Π° ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π΅ΠΉ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π»ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ push.
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π² Git ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΡΠΈΠΊΡΠΈΡΡΡΡΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ, Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΡΠ΅Π³Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, Π·Π°ΡΠΈΡΠ΅Π½Ρ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎΠΉΠΊΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ SHA1. ΠΠ½ Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΊΠΎΠ΄ ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΈ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΌΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Git Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π·Π°ΡΠΈΡΠ° ΠΎΡ ΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΉ ΡΠ³ΡΠΎΠ·ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π² Π»ΡΠ±ΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠ΅ΠΉΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΠ.
ΠΠΈΠ±ΠΊΠΎΡΡΡ
ΠΠΈΠ±ΠΊΠΎΡΡΡ β ΠΎΠ΄Π½Π° ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ Git. ΠΠ½Π° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΌΠ°Π»ΡΠΌΠΈ ΠΈ ΠΊΡΡΠΏΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ SVN, ΡΠΈΡΡΠ΅ΠΌΠ° Git ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Ρ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ Π²Π΅ΡΠΎΠΊ ΠΈ ΡΠ΅Π³ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ) ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ΅ Π²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠΎΠΊΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Git
Git β ΡΡΠΎ Π»ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΎΡΠ΅Π½ΠΊΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ. ΠΡ Π»ΠΈΡΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Git.
ΠΡΠ΅Π²ΠΎΡΡ
ΠΎΠ΄Π½ΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΡ Git ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΡΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Ρ Π²ΡΡΠ΅. ΠΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ² ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ, ΡΡΠΎ Git ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ.
Git β ΠΏΡΠΈΠ·Π½Π°Π½Π½ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ
Git ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΈ Π΅Π³ΠΎ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π° ΡΡΠ΄ΠΎΠΌ ΠΏΡΠΈΡΠΈΠ½. Π Atlassian ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² Git.
ΠΠ΅Π»ΠΈΠΊΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΎΠΏΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Git, Π° Π²ΡΠΏΡΡΠΊΠ½ΠΈΠΊΠΈ Π²ΡΡΡΠΈΡ ΡΡΠ΅Π±Π½ΡΡ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π·Π°ΡΠ°ΡΡΡΡ Π·Π½Π°ΠΊΠΎΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ Π½Π° Git Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ (ΠΊΠ°ΠΊ ΡΡΠ°ΡΠ½ΡΠ΅, ΡΠ°ΠΊ Π±ΡΠ΄ΡΡΠΈΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ) ΡΠΆΠ΅ ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Git ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΡ ΡΡΠ΅Π΄ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². Π ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Atlassian. Π ΡΠΈΡΠ»ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Ρ ΠΎΠ΄ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Sourcetree, ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Jira, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ²ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Bitbucket.
ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΡΡ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ ΡΠ΅Π½Π½ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·ΡΡΠΈΡΡ Git ΠΊΠ°ΠΊ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ.
Git β ΡΡΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ
ΠΡΠΎΠ΅ΠΊΡ Git ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΊΡΡΡΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, Π° ΡΠ°ΠΊΠΆΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ 10 Π»Π΅Ρ. ΠΡΡΠ°ΡΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π²Π·Π²Π΅ΡΠ΅Π½Π½ΡΠΉ ΠΈ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π²ΡΠΏΡΡΠΊΠ°Ρ ΡΠ΅Π»ΠΈΠ·Ρ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΠ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ΡΠ΅Π»ΠΎ Π΄ΠΎΠ²Π΅ΡΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌ.
ΠΠΎΠΊΡΡΠ³ Git ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π° ΡΠ°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ: Π²ΡΠ΅ΠΌ ΠΆΠ΅Π»Π°ΡΡΠΈΠΌ Π² ΡΠΈΡΠ»Π΅ ΠΏΡΠΎΡΠ΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΡΠ΅Π±Π½ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π΅Π±βΡΠ°ΠΉΡΡ, ΠΏΠΎΠ΄ΠΊΠ°ΡΡΡ ΠΈ ΠΎΠ±ΡΡΠ°ΡΡΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΡΠΎΠ»ΠΈΠΊΠΈ.
Git β ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈβΠ»ΡΠ±ΠΈΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΅ΠΉ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ. Π ΡΡΠ΅ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Git ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π³Π»Π°Π²Π½ΡΠΌ ΠΏΡΠ΅Π΅ΠΌΠ½ΠΈΠΊΠΎΠΌ ΡΡΠΏΠ΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ SVN ΠΈ CVS.
ΠΡΠΈΡΠΈΠΊΠ° Git
Git Π½Π΅ΡΠ΅Π΄ΠΊΠΎ ΠΊΡΠΈΡΠΈΠΊΡΡΡ Π·Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ: ΠΎΠ΄Π½ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ, Π° Π΄ΡΡΠ³ΠΈΠ΅ β ΠΈΠΌΠ΅ΡΡ ΠΈΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊ, ΠΏΠΎΠ½ΡΡΠΈΠ΅ revert
(Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ) Π² Git ΠΈΠΌΠ΅Π΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΌΡΡΠ», Π½Π΅ΠΆΠ΅Π»ΠΈ Π² SVN ΠΈ CVS. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Git β ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠΎΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡ
ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΉΠΌΠ΅Ρ ΠΊΠ°ΠΊΠΎΠ΅βΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠ²ΠΎΠ΅Π½Π½ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅.
ΠΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠ΅ΡΠ΅ΡΠ΅Π΄ΡΠΈΠ΅ Π½Π° Git Ρ Π½Π΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΠΌΠΎΠ³ΡΡ Π·Π°Ρ ΠΎΡΠ΅ΡΡ ΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Git Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π³Π΄Π΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΈ ΡΡΠΎΠΌ Π² Git ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Β«ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎΒ» ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΠΎΠ»Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π²ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π°ΠΆΠ΅ Π² ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π±ΠΎΠ΅Π² Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΡ Git ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ ΡΠΈΡΠΌΠ΅ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°ΡΡ ΡΠ°Π½ΡΡΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ Git ΠΈ ΡΠ·Π½Π°Π»ΠΈ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ ΡΡΠΎΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Git ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π² ΠΌΠ°ΡΡΡΠ°Π±Π°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ.
Git ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΠ°ΠΉΡΠ° / Π₯Π°Π±Ρ
ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΡΠ°ΡΡΠΉ ΠΏΠΎΡΡ ΡΠ»Π΅ΡΠ΅Π»ΠΎ Π²ΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ Π΅Π³ΠΎ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΡΠΏΡΠ°Π²Π»Ρ.
Π― ΠΏΠΎΡΡΠ°ΡΠΈΠ» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π° Π±ΠΎΡΡΠ±Ρ Ρ Π³Π»ΡΠΊΠ°ΠΌΠΈ Git-svn ΠΈ ΠΎΠ±Π΄ΡΠΌΡΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΠ» ΠΊ ΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Ρ ΡΠ°ΠΉΡΠΎΠΌ β ΠΏΡΠΎΡΡΠΎΠΌΡ, Π³ΠΈΠ±ΠΊΠΎΠΌΡ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠΌΡ Π² ΡΠ°Π±ΠΎΡΠ΅.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
- ΠΠ΅Π»Π°Ρ push ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ live-ΠΊΠΎΠΏΠΈΡ ΡΠ°ΠΉΡΠ°
- ΠΡΠ°Π²ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ°Π·ΡΡΡΠ°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
- ΠΡΠΎΡΡΠΎΡΠ°, Π½Π΅ Π½ΡΠΆΠ½Ρ ΠΎΡΠΎΠ±ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
- ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠΌΡ ΡΠ°ΠΉΡΡ, Π±Π΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ±Π·ΠΎΡ
ΠΠ»Π°Π²Π½Π°Ρ ΠΈΠ΄Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ β ΡΠΎΠ·Π΄Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π΄Π²ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²: ΠΏΡΡΡΠΎΠ³ΠΎ bare-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ρ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΡΠ°ΠΉΡΠ°. ΠΡΠ° ΠΏΠ°ΡΠ° ΡΠ²ΡΠ·Π°Π½Π° ΠΏΠ°ΡΠΎΠΉ ΠΏΡΠΎΡΡΡΡ Ρ ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΡΡ push ΠΈ pull ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠ°ΠΊ, Π΄Π²Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
- Hub β bare-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊΠ»ΠΎΠ½ΠΈΡΡΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ Π½Π΅Π³ΠΎ.
- Prime β ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. Π‘Π°ΠΉΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Π Π°Π±ΠΎΡΠ° Ρ Π΄Π²ΡΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ ΠΏΡΠΎΡΡΠ°Ρ ΠΈ ΠΎΡΠ΅Π½Ρ Π³ΠΈΠ±ΠΊΠ°Ρ. Π£Π΄Π°Π»ΡΠ½Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ssh-Π΄ΠΎΡΡΡΠΏ ΠΌΠΎΠ³ΡΡ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ live-Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΉΡΠ° ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² push Π² Hub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ Π² live-Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² Hub ΠΏΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ΅. Π ΠΎΠ±ΡΠ΅ΠΌ, Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ β ΠΈ Π½Π΅Π²Π°ΠΆΠ½ΠΎ, Π³Π΄Π΅ Π΄Π΅Π»Π°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠ΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠ°ΡΡΠΎΠΌ
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎ Π±Ρ Git Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ Π½Π° Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ shared-Ρ ΠΎΡΡΠΈΠ½Π³Π΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Git β Π²Ρ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ (en).
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π· ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Git Π½Π° ΡΠ²ΠΎΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. Π― ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΎΡΠΎΠ±ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ user.name, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΎΠΌ Π²ΠΈΠ΄Π΅ΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅:
$ git config --global user.name "ΠΠΆΠΎ, ΡΠΈΠ³Π°ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅"
ΠΠΎΠ΅Ρ Π°Π»ΠΈ!
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² live-ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΉΡΠ°. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ Prime-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠΎΠΏΠΈΡ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ , ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΡΠ° Π±ΡΠ΄Π΅Ρ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΡΠ»ΠΈΡΡ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ.
$ cd ~/www
$ git init
$ git add .
$ git commit -m "ΠΠΌΠΏΠΎΡΡ Π²ΡΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ°ΠΉΡΠ°"
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ β Π½Π΅Ρ Π½ΡΠΆΠ΄Ρ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°ΠΉΡ Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Git ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ΄Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΠ· ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π°Ρ ΡΠ°ΠΉΡ ΡΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Git, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ bare-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π³Π΄Π΅-Π½ΠΈΠ±ΡΠ΄Ρ Π²Π½Π΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠ°ΠΉΡΠ°.
$ cd
$ mkdir site_hub.git
$ cd site_hub.git
$ git --bare init
Initialized empty Git repository in /home/joe/site_hub.git
Π£ΡΠ°! Π‘Π½ΠΎΠ²Π° Π²Π΅ΡΠ½ΡΠΌΡΡ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ°ΠΉΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Hub ΠΊΠ°ΠΊ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠ»ΡΡΠΌ Π² Hub ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²Π΅ΡΠΊΠΈ master ΠΈΠ· Prime-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
$ cd ~/www
$ git remote add hub ~/site_hub.git
$ git remote show hub
* remote hub
Β URL: /home/joe/site_hub.git
$ git push hub master
Π₯ΡΠΊΠΈ
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π» Π² Π½Π°ΡΠ°Π»Π΅, Hub ΠΈ Prime ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π²Π° ΠΏΡΠΎΡΡΡΡ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠ΄Π½ΠΎ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Git β Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄Π΅Π»Π°ΠΉΡΠ΅ push Π² ΡΠ΅ΠΏΠΎΠ·ΡΠΈΡΠΈΠΉ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠΎΠΏΠΈΡ. ΠΡ ΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΡΡΠΎΠΌΡ ΠΏΡΠ°Π²ΠΈΠ»Ρ ΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Β«HubΒ». ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΄Π΅Π»Π°ΡΡ push ΠΈΠ· Hub, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ°Π±ΠΎΡΡΡ ΠΊΠΎΠΏΠΈΡ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΡΠ°Π²ΠΈΡ Prime Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ pull ΠΈΠ· Hub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Post-update β Π² Hub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π² Hub ΠΏΠΎΡΡΡΠΏΠΈΡ Π½ΠΎΠ²Π°Ρ ΠΏΠΎΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΡΠ°Π·Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ. ΠΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Prime-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΈ Π²ΡΡΡΠ³ΠΈΠ²Π°Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ½ΠΈΡ ΠΈΠ· Hub’Π°. ΠΡΠΎΡΠ°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (push) Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ pull, Π½Π°Ρ ΠΎΠ΄ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅.
#!/bin/sh
echo
echo "**** ΠΡΡΡΠ³ΠΈΠ²Π°Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Prime [Hub's post-update hook]"
echocd $HOME/www || exit
unset GIT_DIR
git pull hub masterexec git update-server-info
Post-commit β Π² Prime-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈ
ΠΡΠΎΡ ΡΠΊΡΠΈΠΏΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² Prime-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ ΠΏΡΠΎΡΠ°Π»ΠΊΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Hub. Π ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΡΠΌΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠΎ Π² Π½Π°ΡΠ΅ΠΌ Π½Π΅ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ, ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΡΠ°Π»ΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠ°Π·ΡΡΡΠ°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².
#!/bin/sh
echo
echo "**** pushing changes to Hub [Prime's post-commit hook]"
echogit push hub
ΠΡΠ°ΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎΡ Ρ ΡΠΊ, ΠΌΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π² Hub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ Π² master-Π²Π΅ΡΠΊΠ΅ Prime-ΡΠ΅Π·ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΡΠΎΡΠΈΠ΅ Π²Π΅ΡΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠ°ΠΉΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠ΅ΡΠ΅Π· SSH-Π°Π΄ΡΠ΅Ρ ΠΊ Hub, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ push ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠ° Π½Π°ΠΏΡΡΠΌΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ shell’Ρ.
ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡ
Β«ΠΠΎΠ»ΠΎΠΆΠΈΡΡΒ» ΡΠ°ΠΉΡ ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π²ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΡΠ΄Π΅Π»Π°Π½Π½ΠΎΠ΅ Π² Prime Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² Hub ΠΈ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Π±ΡΠ΄ΡΡ ΡΡΠ°Π·Ρ Π²ΠΈΠ΄Π½Ρ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ push ΠΈΠ· ΠΊΠ»ΠΎΠ½ΠΎΠ² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΠΎ Π²ΡΡ ΠΆΠ΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Prime ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Hub’Π°, ΠΈ Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ ΠΌΡ ΡΡΠΎ-ΡΠΎ ΠΏΡΠ°Π²ΠΈΠΌ Π½Π° Prime ΠΈ Π½Π΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π° Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ post-update Π² Hub, ΡΠΎ Π²ΡΠ΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ Β«Entry βfooβ not uptodate. Cannot merge.Β». Π€ΠΈΠΊΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Prime ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π·Π°ΡΠΈΡΡΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΈ post-update Ρ ΡΠΊ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π’Π°ΠΊΠΆΠ΅ Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Prime Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Ρ Hub’ΠΎΠΌ, ΡΠΎ Π½Π°ΠΈΠ»ΡΡΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠΎΠ»ΠΊΠ½ΡΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Prime’Π° Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ Π½Π° Hub. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½Π°Ρ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Prime ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ Π²Π΅ΡΠΊΡ Β«fixmeΒ», ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΡΠΎΡΠ½ΠΈΠΈ Prime-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
$ git push hub master:refs/heads/fixme
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠΊΠ°ΠΆΡΡΡΡ Π² Hub’Π΅, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²Π΅ΡΠΊΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΈΠ· ΠΊΠ»ΠΎΠ½ΠΎΠ², ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΈ ΡΠΌΠ΅ΡΠΆΠΈΡΡ Π²Π΅ΡΠΊΠΈ. ΠΠΎΠΏΡΡΠΊΠ° ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΏΡΡΠΌΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΠΎΡΡΠΈ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Π² ΡΠ°Π±ΠΎΡΠ΅ ΡΠ°ΠΉΡΠ΅ ΠΈΠ·-Π·Π° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ² ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ.
ΠΠ΅ΡΠΆΠΈΠΌ Π²ΡΡ Π² ΡΠΈΡΡΠΎΡΠ΅
ΠΠ°ΡΠ°Π»ΠΎΠ³ .git Prime-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠ°ΠΉΡΠ°, ΠΈ, Π²Π΅ΡΠΎΡΠ½ΠΎ, Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°. Π§ΡΠΎΠ±Ρ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΡΠΌΠΎΠ³ ΡΡΠ½ΡΡΡ ΡΠ²ΠΎΠΉ Π½ΠΎΡ, ΠΊΡΠ΄Π° Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°ΠΉΠ» .htaccess Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ:
# deny access to the top-level git repository:
RewriteEngine On
RewriteRule \.git - [F,L]
ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ°: Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π·Π°ΠΊΡΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅.
ΠΡΠΎΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
ΠΡΠ»ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ push Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
git-receive-pack: command not found
fatal: The remote end hung up unexpectedly
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ export PATH=${PATH}:~/bin
Π² Π²Π°Ρ ΡΠ°ΠΉΠ» .bashrc, Π»Π΅ΠΆΠ°ΡΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅.
git rebase Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ / Π₯Π°Π±Ρ
Π ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ Π½Π° ΡΠ΅ΠΌΡ ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ git, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΡΠ΄Π΅Π»Π°Π» ΡΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠ°ΡΡΠ΅ΠΉ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ PR Π² ΡΡΠΆΠΎΠΉ Open Source ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° GitHub Π΄ΡΠΌΠ°Ρ ΡΡΠΎΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ git rebase.
Π‘Π°ΠΌ Ρ Π² ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡ ΠΈ Π½Π΅ Π»ΡΠ±Π»Ρ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΏΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ Π½ΠΈΠΆΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, Π΄ΠΎΠΏΠΎΠ»Π½Ρ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΡΠ°ΠΊ git ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΊΠΎΠΌΠΈΡΠ°ΠΌΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΈΡ β Π½Π°Π±ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΈΡΠ° Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ hash. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΎΠΊ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ merge:
# git merge "another_branch"
ΡΠΎ Π²ΡΠ΅ ΠΊΠΎΠΌΠΈΡΡ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ β ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΈΡΠ°, Π΅Π³ΠΎ hash + ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΈΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ΅ΡΠ΅Π΄ΠΎΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. ΠΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠΎΠΏΡΡΡΠΈΠΌ Π²Π°Ρ ΠΊΠΎΠΌΠΈΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΎΡΠΊΠ°ΡΠΈΡΡ β Π²ΡΠΈΡΠΊΠΈΠ²Π°ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ Π³Π΄Π΅ Π²Π°Ρ ΠΊΠΎΠΌΠΈΡ, Π° Π³Π΄Π΅ Π½Π΅ Π²Π°Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΡΡΠ½ΠΎ. Π Π²ΠΎΠΎΠ±ΡΠ΅ β Π² ΠΎΠ±ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ Ρ
ΠΎΡΠ΅ΡΡΡ Π²ΠΈΠ΄Π΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π°ΠΆΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π° Π½Π΅ Β«ΠΎΠΉ, Ρ Π·Π°Π±ΡΠ» ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ;Β». ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΈΡΠΎΠ² ΡΠΊΠ»Π΅ΠΈΠ²Π°ΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ rebase. Π₯ΠΎΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ GitHub Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠ° squash & commit β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ pull request (PR) ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² Π΄ΡΡΠ³ΡΡ (ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΈΠ· Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ) ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ squash & commit, ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΈ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ²ΡΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΈΡ.ΠΡΡΠ³ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΈΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½Π― ΡΠ°Π½ΡΡΠ΅ Π΄Π΅Π»Π°Π» ΡΠ°ΠΊ# git checkout master && git pull && git branch -b <ΠΠΎΠ²Π°ΡΠΠ΅ΡΠΊΠ°> && git merge <Π‘ΡΠ°ΡΠ°ΡΠΠ΅ΡΠΊΠ°ΠΠ΄Π΅ΠΠ½ΠΎΠ³ΠΎΠΠΎΠΌΠΈΡΠΎΠ²> --squash
ΠΠΎΡΠΎΠΌ ΡΠΌΠΎΡΡΠ΅Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² IDE, Π΄Π΅Π»Π°Π» ΠΏΡΠ΅Π΄ΠΊΠΎΠΌΠΈΡΠΎΠ²ΡΠ΅ review, ΠΏΠΎΡΠΎΠΌ ΠΊΠΎΠΌΠΈΡΠΈΠ» ΠΈ ΠΏΡΡΠΈΠ» Π½Π° ΡΠ΅ΡΠ²Π΅Ρ.
ΠΠ· ΠΏΠ»ΡΡΠΎΠ² β ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡΡ ΠΊΠΎΠ΄, Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² IDE. ΠΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· web UI, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° GitHub.
ΠΡΡΠΎΡΠΎΠΆΠ½ΠΎ rebase ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡ hash ΠΊΠΎΠΌΠΈΡΠ° ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌ ΡΠ»ΠΈΡΠ½ΠΈΠΉ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ Π½Π°Π΄ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ ΡΡΡΠ΄ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ.
Π₯ΠΎΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎ Π΄Π²ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ rebase:
- ΠΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΈΠ· ΠΎΠ΄Π½Ρ Π²Π΅ΡΠΊΡ Π² Π΄ΡΡΠ³ΡΡ Π½Π΅ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ merge, Π° ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ rebase:
# git rebase "another_branch"
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΈΡΡ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ Π² Π²Π΅ΡΠΊΡ Β«another_branchΒ». Π₯ΡΡΠΈ Π²Π°ΡΠΈΡ ΠΊΠΎΠΌΠΈΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡ. - ΠΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΊΠ°ΠΌΠΈ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΡ
ΠΊΠΎΠΌΠΈΡΠΎΠ² β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΊΠ»Π΅ΠΈΡΡ ΠΈΡ
, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ:
# git rebase -i {HEAD~_commit_count_|commit_hash}
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΡΠΎΠΈΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ git-ΠΎΠΌ, ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠΈΡΠ½ΠΎ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ mcedit.
ΠΡΠ°ΠΊ Π²Ρ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠ½Π΅Π½ΡΠΊΠΎΠΉ Π²Π΅ΡΠΎΡΠΊΠΈ ΠΈ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΡΠΈΠΌ ΠΊΠΎΠΌΠΈΡΠΎΠΌ Ρ ΠΌΠΈΡΠΎΠΌ, Π½ΠΎ ΠΌΠΈΡ Ρ
ΠΎΡΠ΅Ρ ΠΎΡ Π²Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΈΡ. `git rebase -i ` Π·Π°ΠΏΡΡΡΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΈΡΡ (ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΈΡΠΎΠ² β ΡΠ²Π΅ΡΡ
Ρ Π²Π½ΠΈΠ· Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ git log). ΠΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΈΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π΅ΠΈΡΡ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π²Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠΎΠΌΠΈΡ Π½Π°Π΄ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ, Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°pick "commit_hash" "comment" β fixup "commit_hash" "comment"
.
ΠΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π² fixup ΠΊΠΎΠΌΠΈΡΠ°Ρ ΠΏΠΎΡΠ΅ΡΡΡΡΡΡ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΈΡΠ°. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π±ΡΠ»ΠΈ Π΄ΠΎΡΠΎΠ³ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΠΎ ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ squash Π²ΠΌΠ΅ΡΡΠΎ fixup.
ΠΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΡΠ» Π΄ΠΎΠ»ΠΎΠ³, ΡΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π²Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π΄Π΅Π»Π°ΡΡ merge ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ. Π Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ Ρ ΠΎΠ±ΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΈΡΠ°ΠΌΠΈ ΠΈ ΡΠΊΠ»Π΅ΠΈΠ²Π°ΡΡ Π²Π°ΡΠΈ Ρ Π½Π΅ Π²Π°ΡΠΈΠΌΠΈ Π±ΡΠ΄Π΅Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π½Π΅ΠΏΡΠΎΡΡΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ `git rebase -i <>` ΡΡΠΎΠΈΡ ΡΠ΄Π΅Π»Π°ΡΡ `git rebase`. `git rebase` ΠΏΠΎΡΡΠ°Π²ΠΈΡ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΊΠΎΠΌΠΈΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΈΡΠΎΠ² (Π² ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π·Π°ΠΏΡΡΡΠΈΠ² `git log`) ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡ `git rebase -i <HEAD~ΠΠΎΠ»ΠΈΡΠ΅ΡΠ²ΠΎ_Π²Π°ΡΠΈΡ _ΠΊΠΎΠΌΠΈΡΠΎΠ²>`, Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΡΠΎΡΠΊΠ°Ρ ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ pick β {fixup|squash} ΠΈ Π²ΡΠ°Π»Ρ β Ρ Π²Π°Ρ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΈΡ.
ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΈΡΠΎΠ² `git rebase -i <>` Π²Ρ ΠΊΠ°ΠΊ-ΡΠΎ Π½Π°ΠΊΠΎΡΡΡΠΈΠ»ΠΈ, ΡΠΎ Π½Π΅ ΡΡΠΎΠΈΡ ΠΆΠ°ΡΡ Control+C β exit code Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° git Π½Π΅ Π²ΠΎΠ»Π½ΡΠ΅Ρ. ΠΠ½ ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ·ΡΠΌΠ΅Ρ ΡΠ°ΠΉΠ» ΠΈ ΡΠ΄Π΅Π»Π°Π΅Ρ Π²ΡΠ΅ ΠΏΠΎ Π½Π΅ΠΌΡ. ΠΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ Π²ΡΠ΅ ΡΡΡΠΎΡΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅. git ΠΏΠΎΠΉΠΌΠ΅Ρ, ΡΡΠΎ Π²Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΈ.
ΠΠΎΡΠ»Π΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Ρ rebase ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ push Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ -F. ΠΡΠ΅ ΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΈΡΠΎΠ² ΠΈ git Π½Π°Ρ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ΅ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Π΅Ρ.# git push -f
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ git rebaseΠΠ΄ΠΎΠ³ΠΎΠ½ΠΊΡ Π½Π°ΠΏΠΈΡΡ ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ. ΠΠ°Π½ΠΎ β 2 Π²Π΅ΡΠΊΠΈ β master ΠΈ b1. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΊΠΎΠΌΠΈΡΡ:
Initial commit - Π²Π΅ΡΠΊΠ° master - 2fbbe67
b1.1 - Π²Π΅ΡΠΊΠ° b1 - 85eac43
master after b1.1 - Π²Π΅ΡΠΊΠ° ΠΌΠ°ΡΡΠ΅Ρ b505f18
b1.2 - Π²Π΅ΡΠΊΠ° b1 - 2d7d4ea
+1 - Π²Π΅ΡΠΊΠ° master - 8dcef6c
ΠΠΎΠΌΠΈΡΡ Π² master ΠΈ b1 Π±ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°Π½Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ. ΠΠ°ΠΏΠΈΡΠ°Π» Π² ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΈΡΠΎΠΊ, ΡΡΠΎΠ±Ρ Π±ΡΠ» ΠΏΠΎΠ½ΡΡΠ΅Π½ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ΅ Π΄Π΅Π»Π°Π»ΠΎΡΡ. ΠΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΈΡΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π±ΡΠ°Π½ΡΠ΅:
# git checkout master && git log
8dcef6c "+1"
b505f18 "master after b1.1"
2fbbe67 "Initial commit"
# git checkout b1 && git log
2d7d4ea «b1.2»
85eac43 «b1.1»
2fbbe67 «Initial commit»
ΠΠ΅Π»Π°Π΅ΠΌ git merge master Π² b1
# git checkout b1 && git merge master && git log
5383781 "Merge branch 'master' into b1"
8dcef6c "+1"
2d7d4ea "b1.2"
b505f18 "master after b1.1"
85eac43 "b1.1"
2fbbe67 "Initial commit"
ΠΠΎΠ±Π°Π²ΠΈΠ»ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΈΡ
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π΅Π»Π°Π΅ΠΌ rebase
# git checkout b1 && git rebase master && git log
7f18e47 "b1.2"
6fb80cb "b1.1"
8dcef6c "+1"
b505f18 "master after b1.1"
2fbbe67 "Initial commit"
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ β Π½Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΈΡΡ Π²ΡΡΠ°Π»ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠΏΠΈΡΠΊΠ°, Π½ΠΎΠΌΠ΅ΡΠ° ΠΊΠΎΠΌΠΈΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ, ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΈΡ ΠΈΡΡΠ΅Π·.
ΠΡ ΠΈ Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ ΡΠΊΠ»Π΅ΠΈΠ²Π°Π΅ΠΌ Π½Π°ΡΠΈ ΠΊΠΎΠΌΠΈΡΡ Π² ΠΎΠ΄ΠΈΠ½
# git rebase -i HEAD~2
Π€Π°ΠΉΠ» Π±ΡΠ»ΠΎ
pick 6fb80cb b1.1
pick 7f18e47 b1.2
Π€Π°ΠΉΠ» ΡΡΠ°Π»ΠΎ ΠΏΠΎΡΠ»Π΅ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
pick 6fb80cb b1.1
fixup 7f18e47 b1.2
ΠΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ
# git checkout b1 && git log
9062cd7 "b1.1"
8dcef6c "+1"
b505f18 "master after b1.1"
2fbbe67 "Initial commit"
Π’Π°ΠΊΠΈΠ΅ Π΄Π΅Π»Π°
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² GitHub. Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ
Π ΡΡΠΎΠΊΠ΅ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ GitHub, ΡΠ·Π½Π°Π΅ΡΠ΅ ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈ Π·Π° ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ. Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ ΠΈ Π½Π°ΡΡΠΈΡΠ΅ΡΡ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ:
- ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ GitHub;
- Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Markdown.
ΠΠΎΠΌΠΌΠΈΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ, Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Ρ.Π΅. ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, Π³Π΄Π΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ.
- ΠΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΡ?
ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΡ ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΠΊ Π½Π΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π°Π΄ΡΠ΅Ρ https://github.com/tutorialzine/awesome-project, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ Π½Π° GitHub, BitBucket ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅. ΠΡΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅Π±Ρ ΠΎΠΏΡΠ°Π²Π΄ΡΠ²Π°Π΅Ρ, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅, ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½ΡΠΆΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ°ΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
# This is only an example. Replace the URI with your own repository address.
$ git remote add origin https://github.com/tutorialzine/awesome-project.git
ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ Π½Π°ΠΌ, ΡΡΠΎ URI ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π° ΡΠ²ΠΎΠΉ.
ΠΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠ΅Π² β Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ. ΠΠ»Π°Π²Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ origin.
- ΠΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ?
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈ ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ, ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΡ ΡΡΠΎ Π±ΡΠ΄Π΅ΠΌ Π΄Π΅Π»Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ ΠΎΡΠΈΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΈ.
ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ push, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° — ΠΈΠΌΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ origin) ΠΈ Π²Π΅ΡΠΊΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (master β ΡΡΠΎ Π²Π΅ΡΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²).
$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 212 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/tutorialzine/awesome-project.git
* [new branch] master -> master
ΠΡΠ»ΠΈ ΠΌΡ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» hello.txt Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΠ°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
- ΠΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ?
ΠΡΠ»ΠΈ Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ clone:
$ git clone https://github.com/tutorialzine/awesome-project.git
GitHub Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅.
- ΠΠ°ΠΊ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΡ?
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π΅Π»Π°ΡΡ ΠΊΠ»ΠΎΠ½ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠ°ΡΠΈΡ, Π° Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ , ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ pull:
$ git pull origin master
From https://github.com/tutorialzine/awesome-project
* branch master -> FETCH_HEAD
Already up-to-date.
ΠΠ½Π° ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π½Π΅ Π²Π½ΠΎΡΠΈΠ»ΠΈ Ρ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΊΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ, Π½Π΅Ρ.
Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ — GitHub Docs
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ GitHub
ΠΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ
- GitHub.com
ΠΠ°ΡΠΈΠ½Π°Ρ
- ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
- ΠΠ°ΡΡΡΠΎΠΈΡΡ Git
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎ
- Π€ΠΎΡΠΊ ΡΠ΅ΠΏΠΎ
- ΠΡΡΡ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΌ
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ GitHub
- ΠΡΠΎΠ΄ΡΠΊΡΡ GitHub
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠΎΠ² ΡΠ°Π½Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ
- Π’ΠΈΠΏΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² GitHub
- Π§Π°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ Π² ΠΏΠ»Π°Π½Π°Ρ GitHub
- ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ GitHub
- GitHub Desktop
- GitHub Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π΄ΠΎΡΡΡΠΏ Π½Π° GitHub
- ΠΠ»ΠΎΡΡΠ°ΡΠΈΠΉ GitHub
- Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ Git
- Π£ΡΠ΅Π±Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Git ΠΈ GitHub
- Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° GitHub
- Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ GitHub
- ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
.
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² | Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° GitHub
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ | Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° GitHub
ΠΠΎΠ½ΡΠ΅Π½Ρ Π½Π° ΡΡΠΎΠΌ ΡΠ°ΠΉΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ docs.github.com.
ΠΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠ»ΠΈ Π²ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΡ GitHub Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅! ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ Π½ΠΎΠ²ΡΠΌΠΈ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ REST API, GraphQL API ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π² Π±Π»ΠΎΠ³Π΅ GitHub.
ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈβ¦ ΠΠ±Π·ΠΎΡ API
Π’ΠΈΠΏΡ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ° API Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ OAuthΠΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈΠ£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ APIΠΠ΅ΡΡΠΈΠΈΠΠ±Π·ΠΎΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ
Π‘ΠΎΠ±ΡΡΠΈΡΠ’ΠΈΠΏΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅FeedsNotificationsStarringWatchingChecks
ΠΡΠΎΠ²Π΅ΡΠΊΠ° RunsCheck SuitesCode ScanningGists ΠΎΠ±Π·ΠΎΡ
ΠΠ±Π·ΠΎΡ Π΄Π°Π½Π½ΡΡ
Git
BlobsCommitReferencesTagsTreesGitHub ΠΠ΅ΠΉΡΡΠ²ΠΈΡ ΠΠ±Π·ΠΎΡ
ΠΡΡΠ΅ΡΠ°ΠΊΡΡΠ‘Π΅ΠΊΡΠ΅ΡΡΠ‘Π°ΠΌΠΎΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌΡΠ΅ Π±Π΅Π³ΡΠ½ΡΠ Π°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡΠΠ°Π΄Π°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΠ°ΠΏΡΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΠ±Π·ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ GitHub
API ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ OAuthΠ£ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈΠΡΠ΅ΡΡΡΠΏΠ»Π΅Π½ΠΈΡΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈGitHub MarketplaceΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΠ±Π·ΠΎΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ²
ΠΡΠ°Π²ΠΎΠΏΡΠ΅Π΅ΠΌΠ½ΠΈΠΊΠΈΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈΠ‘ΠΎΠ±ΡΡΠΈΡΠΠ΅ΡΠΊΠΈΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡΠΡΠ΅ΠΌΠ΅Π½Π°ΠΡΠΏΡΡΠΊ Π’ΠΈΠΏΡ ΡΠΎΠ±ΡΡΠΈΠΉΠΠ±Π·ΠΎΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΠΌΠΏΠΎΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ Π°Π·Π½ΠΎΠ΅ ΠΎΠ±Π·ΠΎΡ
ΠΠΎΠ΄Π΅ΠΊΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡEmojisGitignoreΠΠΈΡΠ΅Π½Π·ΠΈΠΈMarkdownMetaRate LimitΠΠ±Π·ΠΎΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ), ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ², ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ², Π²Π΅Π±-ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠΈΠΊΠΎΠ², ΠΎΠ±Π·ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
ΠΠ°ΡΡΡΠ‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈΠ‘ΡΠΎΠ»Π±ΡΡΠΠ±Π·ΠΎΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠ·ΡΠ²ΡReview CommentsReview RequestsReactions overview
Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉΠΡΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉΠΡΠΎΡΠΌΠΎΡΡ Π½Π° ΡΠ°ΡΡΡΠ»ΠΊΡ ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΡΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉΠΠ±Π·ΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²
Π€ΠΈΠ»ΠΈΠ°Π»ΡΠ‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈΠ‘ΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠ‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉΠ Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡΠΠΈΠ»ΠΊΠΈΠΠ½Π²ΠΈΡΠ°ΡΠΈΡΠ‘Π»ΠΈΡΠ½ΠΈΠ΅Π‘ΡΡΠ°Π½ΠΈΡΠ Π΅Π»ΠΈΠ·ΡΠ‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ°Π‘ΡΠ°ΡΡΡΡΠ’ΡΠ°ΡΠΈΠΊΠΠ΅Π±-Ρ
ΡΠΊΠΈΠΠΎΠΈΡΠΊ ΠΎΠ±Π·ΠΎΡ
RepositoriesCodeCommitIssuesUsersTopicsText match metadataTeams
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡΠ£ΡΠ°ΡΡΠ½ΠΈΠΊΠΈΠ‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ΡSCIM
ΠΠ±Π·ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉEmailsFollowersGit SSH KeysGPG Keys
.
ΠΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΏΠΎ ΡΠ΅ΠΌΠ°ΠΌ
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ GitHub
ΠΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ
- GitHub.com
ΠΠ°ΡΠΈΠ½Π°Ρ
- ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
- ΠΠ°ΡΡΡΠΎΠΈΡΡ Git
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎ
- Π€ΠΎΡΠΊ ΡΠ΅ΠΏΠΎ
- ΠΡΡΡ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΌ
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ GitHub
- ΠΡΠΎΠ΄ΡΠΊΡΡ GitHub
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠΎΠ² ΡΠ°Π½Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ
- Π’ΠΈΠΏΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² GitHub
- Π§Π°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ Π² ΠΏΠ»Π°Π½Π°Ρ GitHub
- ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ GitHub
- GitHub Desktop
- GitHub Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π΄ΠΎΡΡΡΠΏ Π½Π° GitHub
- ΠΠ»ΠΎΡΡΠ°ΡΠΈΠΉ GitHub
- Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ Git
- Π£ΡΠ΅Π±Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Git ΠΈ GitHub
- Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° GitHub
- Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ GitHub
- ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° GitHub
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ GitHub
ΠΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ
- GitHub.com
ΠΠ°ΡΠΈΠ½Π°Ρ
- ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
- ΠΠ°ΡΡΡΠΎΠΈΡΡ Git
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎ
- Π€ΠΎΡΠΊ ΡΠ΅ΠΏΠΎ
- ΠΡΡΡ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΌ
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ GitHub
- ΠΡΠΎΠ΄ΡΠΊΡΡ GitHub
- ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠΎΠ² ΡΠ°Π½Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ
- Π’ΠΈΠΏΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² GitHub
- Π§Π°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ Π² ΠΏΠ»Π°Π½Π°Ρ GitHub
- ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ GitHub
- GitHub Desktop
- GitHub Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π΄ΠΎΡΡΡΠΏ Π½Π° GitHub
- ΠΠ»ΠΎΡΡΠ°ΡΠΈΠΉ GitHub
- Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ Git
- Π£ΡΠ΅Π±Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Git ΠΈ GitHub
- Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° GitHub
- Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ GitHub
- Π
- ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
.