π Git: ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ Π² Π²Π΅ΡΠΊΡ?
Π§ΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ Π² Π²Π΅ΡΠΊΡ Git, ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΈΠΌ ΡΠ°Π³Π°ΠΌ:
- Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git branch
. - ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git add
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅git add .
. - Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
git commit
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ "ΠΠΎΠ±Π°Π²ΠΈΠ» Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ", Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅git commit -m "ΠΠΎΠ±Π°Π²ΠΈΠ» Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ"
.
ΠΡΠΈΠΌΠ΅Ρ:
git branch # ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ
git add . # ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΈΠ½Π΄Π΅ΠΊΡ
git commit -m "ΠΠΎΠ±Π°Π²ΠΈΠ» Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ" # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
Git: ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ Π² Π²Π΅ΡΠΊΡ
ΠΠ΅ΡΠΊΠΈ Π² Git ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Git Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Π² Π²Π΅ΡΠΊΡ Π² Git.
Π¨Π°Π³ΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² Π²Π΅ΡΠΊΡ Π² Git ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π° Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΠΊΡ
- ΠΠ½Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³-ΠΎΠ±Π»Π°ΡΡΡ
- ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ
Π¨Π°Π³ 1: Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π° Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΠΊΡ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΠΊΡ, ΡΠΏΠ΅ΡΠ²Π° Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π½Π΅Π΅. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²Π΅ΡΠΊΠ° "feature" ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π½Π΅Π΅.
git branch feature # ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ "feature"
git checkout feature # ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π²Π΅ΡΠΊΡ "feature"
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π½Π° Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΠΈΠ½Π°ΡΡ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π¨Π°Π³ 2: ΠΠ½Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π½Π° Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ·ΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π΄ΠΎΠ±Π°Π²Π»ΡΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄, ΡΠ΄Π°Π»ΡΠΉΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
Π¨Π°Π³ 3: ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³-ΠΎΠ±Π»Π°ΡΡΡ
ΠΠΎΡΠ»Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ
Π² ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³-ΠΎΠ±Π»Π°ΡΡΡ Git. ΠΠΎΠΌΠ°Π½Π΄Π° git add
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³-ΠΎΠ±Π»Π°ΡΡΡ, Π° git add .
Π΄ΠΎΠ±Π°Π²ΠΈΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
git add . # Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³-ΠΎΠ±Π»Π°ΡΡΡ
Π¨Π°Π³ 4: ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ
ΠΠΎΠ³Π΄Π° Π²Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³-ΠΎΠ±Π»Π°ΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΌ Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
git commit -m "ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°" # Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ
ΠΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ Git.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ°Π³ΠΎΠ²
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠΈΡΡΠ°ΡΠΈΡ. Π£ Π½Π°Ρ Π΅ΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git Ρ Π²Π΅ΡΠΊΠΎΠΉ "feature", Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ ΠΈΡ . ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
git branch feature # ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ "feature"
git checkout feature # ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π²Π΅ΡΠΊΡ "feature"
# Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Ρ
# ΠΡΠΈΠΌΠ΅Ρ: ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ» example.py
git add . # Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³-ΠΎΠ±Π»Π°ΡΡΡ
git commit -m "ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π² example.py" # Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π²Π΅ΡΠΊΡ "feature", ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ Π½Π° Π½Π΅Π΅, Π²Π½Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» "example.py", Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³-ΠΎΠ±Π»Π°ΡΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π½Π°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π΅ΡΠΊΡ Π² Git. ΠΠ°ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠΈΠΌ ΡΠ°Π³Π°ΠΌ ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎ, ΡΡΠΎΠ±Ρ Π²Π°ΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π±ΡΠ»ΠΎ Π»Π΅Π³ΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ. Π£Π΄Π°ΡΠΈ Π² Π²Π°ΡΠ΅ΠΌ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Git!