π ΠΠ°ΠΊ ΡΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Git? π·πΊ ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Git
Π§ΡΠΎΠ±Ρ ΡΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Git, ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΈΠΌ ΡΠ°Π³Π°ΠΌ:
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π».
- ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git config --global core.editor "nano"
, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π° 'nano' (ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΡΡΠΊΠΈΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ Π²ΡΠ±ΠΎΡΡ).
ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΡΠ°Π³ΠΎΠ², Git Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ ΡΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ Π·Π°Π΄Π°Ρ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Git?
Git - ΡΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Git ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ, Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Git.
1. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈΠΌΠ΅Π½ΠΈ ΠΈ email ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ - Π½Π°ΡΡΡΠΎΠΈΡΡ Π²Π°ΡΠ΅ ΠΈΠΌΡ ΠΈ email Π² Git. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git config --global user.name "ΠΠ°ΡΠ΅ ΠΈΠΌΡ"
git config --global user.email "Π²Π°Ρ_email@example.com"
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΈΠΌΠ΅Π½
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git ΠΈΠΌΠ΅Π»ΠΈ ΡΡΡΡΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ Git Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°Π»ΠΈΠ°ΡΠΎΠ². ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π°Π»ΠΈΠ°ΡΡ Π² Π²Π°Ρ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Git (~/.gitconfig):
[alias]
ΡΡΠ°ΡΡΡ = status
Π΄ΠΎΠ±Π°Π²ΠΈΡΡ = add
ΠΊΠΎΠΌΠΌΠΈΡ = commit
Π²Π΅ΡΠΊΠ° = branch
ΡΠ»ΠΈΡΠ½ΠΈΠ΅ = merge
ΠΆΡΡΠ½Π°Π» = log
ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
git ΡΡΠ°ΡΡΡ
git Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ».txt
git ΠΊΠΎΠΌΠΌΠΈΡ -m "ΠΠ½Π΅ΡΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ"
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Git Π²ΡΠ²ΠΎΠ΄ΠΈΠ» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ GIT_CONFIG
Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ .gitconfig
. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅:
export GIT_CONFIG=.gitconfig
Π’Π΅ΠΏΠ΅ΡΡ Git Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» .gitconfig
Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ.
4. ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΡ Π² Π²ΡΠ²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄
Π§ΡΠΎΠ±Ρ Git ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π» ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΡ Π² Π²ΡΠ²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΡΡΠΊΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΠ‘ ΡΡΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅ ΠΆΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΡΡΠΊΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°.
5. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Π°Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π°ΡΡΡΠΎΠ΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ UTF-8. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΡΡΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Git. ΠΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΈΠΌΡ ΠΈ email ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅. ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΡΡΡΠΊΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈ Π²Π°Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ UTF-8. Π£Π΄Π°ΡΠΈ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Git Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅!