π Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅Π³ΠΈ Π² Π³ΠΈΡΠ΅: ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
Π’Π΅Π³ΠΈ Π² Git - ΡΡΠΎ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΌΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅Π»ΠΈΠ·ΠΎΠ².
ΠΠΎΡ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³:
git tag <tag-name>
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³ "v1.0.0", Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
git tag v1.0.0
Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΡΠ΅Π³ΠΈ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git push --tags
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
git: ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅Π³ΠΈ?
Git - ΡΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. Π’Π΅Π³ΠΈ (tags) Π² Git ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π²Π°ΠΆΠ½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³?
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π³ Π² Git, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git tag
Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅Π³Π° ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ
Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ΅ΡΠΊΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π³Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ "v1.0" Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ
ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git tag v1.0
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ΅Π³ΠΎΠ²
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠ΅Π³ΠΎΠ² Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git tag
Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
git tag
ΠΡΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠ΅Π³ΠΎΠ² Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π³ΠΎΠ² Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ
ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π°Π³ -n
:
git tag -n
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ΅Π³
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ΅Π³ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄Ρ git checkout
Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅Π³Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΡΠ΅Π³ "v1.0", Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅
ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
git checkout v1.0
ΠΠ½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈ Π»Π΅Π³ΠΊΠΈΠ΅ ΡΠ΅Π³ΠΈ
Git ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠ΅Π³ΠΎΠ²: Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ (annotated) ΠΈ Π»Π΅Π³ΠΊΠΈΠ΅ (lightweight). ΠΠ½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅Π³ΠΈ Ρ ΡΠ°Π½ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Git ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ°ΠΊΡΡ ΠΊΠ°ΠΊ ΠΈΠΌΡ ΡΠ΅Π³Π°, Π°Π²ΡΠΎΡ, Π΄Π°ΡΠ° ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠ΅Π³ΠΊΠΈΠ΅ ΡΠ΅Π³ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π³Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π°Π³ -a
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
git tag -a v1.0 -m "ΠΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ"
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅Π³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ "v1.0" ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ "ΠΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ".
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π»Π΅Π³ΠΊΠΈΠΉ ΡΠ΅Π³, ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ ΡΠ΅Π³Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
git tag v1.0
ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅Π³ΠΎΠ² Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π³Π° Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git push
Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅Π³Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
git push origin v1.0
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΎΠ²
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π³ Π² Git, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git tag -d
Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅Π³Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
git tag -d v1.0
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅Π³ ΠΈΠ· ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: ΠΎΠ΄Π½Ρ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³Π° ΠΈ Π΄ΡΡΠ³ΡΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ΅Π³Π° Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
git tag -d v1.0
git push origin :refs/tags/v1.0
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅Π³ΠΈ Π² Git - ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²Π°ΠΆΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ΅Π³ΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π²Π°ΠΆΠ½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π΄Π΅Π»ΠΈΡΡΡΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ.