πΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³ Π² git: ΠΏΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈ ΡΠΎΠ²Π΅ΡΡ
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³ Π² Git?
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³ Π² Git, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git tag
. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΡ:
- ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ΅Π³Π°:
git tag Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΡΠ΅Π³Π°
- ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π³Π°:
git tag -a Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΡΠ΅Π³Π° -m "Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅"
- ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π³Π° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅:
git tag Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΡΠ΅Π³Π° ΠΊΠΎΠΌΠΌΠΈΡ
ΠΡΠΈΠΌΠ΅ΡΡ:
git tag v1.0 # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ΅Π³Π°
git tag -a v2.0 -m "ΠΠ΅ΡΡΠΈΡ 2.0" # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π³Π°
git tag v3.0 abcdefg # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π³Π° Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΠ΅ abcdefg
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π³Π°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push
Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ΅Π³Π° Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³ Π² Git
Git - ΡΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΠΆΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Git ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΊΠ°ΠΊ Π²Π°ΠΆΠ½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³ Π² Git.
Π¨Π°Π³ 1: ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅Π³, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git log
, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ Π½Π°ΠΉΡΠΈ Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΠΎΠΌΠ°Π½Π΄Π° git log
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½Π°Π·Π²Π°Π½ΠΈΡ Π°Π²ΡΠΎΡΠΎΠ², Π΄Π°ΡΡ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠ°ΠΌΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git log
ΠΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ Π»ΠΎΠ³Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²:
j
: ΠΡΠΎΠΊΡΡΡΠΈΡΡ Π²Π½ΠΈΠ· ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²k
: ΠΡΠΎΠΊΡΡΡΠΈΡΡ Π²Π²Π΅ΡΡ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²q
: ΠΡΠΉΡΠΈ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ, Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
Π¨Π°Π³ 2: Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git tag
.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git tag
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
git tag <tag-name> <commit>
ΠΠ΄Π΅ΡΡ <tag-name>
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅Π³Π°, Π° <commit>
- ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΡΠ΅Π³.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ "v1.0" Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° "abc123", Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git tag v1.0 abc123
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΡΠ΅Π³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ "v1.0", ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ "abc123".
Π¨Π°Π³ 3: ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ΅Π³
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ΅Π³ Π±ΡΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git show
.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git show
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
git show <tag-name>
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π³Π΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ "v1.0", Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git show v1.0
ΠΠΎΠΌΠ°Π½Π΄Π° git show
ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π³Π΅, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½ ΠΏΡΠΈΠ²ΡΠ·Π°Π½, Π°Π²ΡΠΎΡΠ°, Π΄Π°ΡΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
Π¨Π°Π³ 4: ΠΡΠΏΡΠ°Π²ΠΊΠ° ΡΠ΅Π³ΠΎΠ² Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ)
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ΅Π³ΠΈ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΡΡΠΎΠ±Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠΌΠ΅Π»ΠΈ ΠΊ Π½ΠΈΠΌ Π΄ΠΎΡΡΡΠΏ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push
.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
git push origin <tag-name>
ΠΠ΄Π΅ΡΡ <tag-name>
- ΡΡΠΎ ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅Π³Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ΅Π³ "v1.0" Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git push origin v1.0
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅Π³ "v1.0" Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³ Π² Git. Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π²ΡΡΠ΅ ΡΠ°Π³Π°ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ Π²Π°ΠΆΠ½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π’Π΅Π³ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π²Π°ΠΌ ΠΈ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ.