Git හි පැරණි බැඳීමක් සටහන් කරන්නේ කෙසේද?


967

අපි git සඳහා අළුත් වන අතර, අපගේ ගබඩාවේ ආරම්භයේදීම ටැගයක් සැකසීමට මට අවශ්‍යය. අපගේ නිෂ්පාදන කේතය ආරම්භක නිධිය හා සමාන වේ, නමුත් අපි එතැන් සිට කොමිස් කර ඇත. ආරම්භයේ ඇති ටැගයක් මඟින් නිෂ්පාදනය දන්නා, ස්ථාවර තත්වයකට “පෙරළීමට” ඉඩ දෙනු ඇත.

ඉතින් අත්තනෝමතික, පැරණි බැඳීමකට ටැගයක් එකතු කරන්නේ කෙසේද?


මා මෙහි පැමිණියේ දේශීය ටැගයක් දේශීයව සහ දුරස්ථව මකාදැමීම සඳහාය. අවසානයේදී මෙය ප්‍රයෝජනවත් විය. සමහර විට එය වෙනත් කෙනෙකුටද
ඇලෙක්සැන්ඩර් ලිඩ්ට්කේ

1
අමතක නොකරන්න Git භාවිතා කර දුරස්ථ ගබඩාවකට ටැගයක් තල්ලු කරන්නේ කෙසේද? විශේෂ දෙයක් නොකර Git ටැගයක් තල්ලු නොකරන නිසා.
jww

Answers:


1543

උදාහරණයක්:

git tag -a v1.2 9fceb02 -m "Message here"

9fceb02බැඳීම් හැඳුනුම්පතේ ආරම්භක කොටස කොහිද?

එවිට ඔබට ටැගය භාවිතයෙන් තල්ලු කළ හැකිය git push origin v1.2.

git logඔබගේ වර්තමාන ශාඛාවේ ඇති සියලුම බැඳීම් හැඳුනුම්පත් පෙන්වීමට ඔබට කළ හැකිය .

Pro Git පොතේ ටැග් කිරීම පිළිබඳ හොඳ පරිච්ඡේදයක් ද ඇත .

අවවාදයයි: මෙය වත්මන් දිනය සමඟ ටැග් නිර්මාණය කරයි (එම අගය GitHub නිකුතු පිටුවක පෙන්වනු ඇත, උදාහරණයක් ලෙස). ටැගය කැපවූ දිනය සමඟ යාවත්කාලීන කිරීමට ඔබට අවශ්‍ය නම්, කරුණාකර වෙනත් පිළිතුරක් දෙස බලන්න .


46
ඔබට මෙය gitk හි දකුණු-ක්ලික් මෙනුවෙන් කළ හැකිය - කෙසේ හෝ ඔබ SHA1 සොයා ගන්නේ නම් පහසුය.
කැස්කබෙල්

67
පළමුෙවන් මේ -aහා -m "Message here": කොටස් ඔබ පණිවිඩයක් එකතු කිරීමට අවශ්ය නම් නැහැgit tag v1.2 9fceb02
devius

3
ඔබට සම්පූර්ණ බැඳීම් හැඳුනුම්පතද භාවිතා කළ හැකිය.
j08lue

1
@devius කුමක්ද භාවිතා අතර වෙනස -aහා -m. මෑන් පිටුව භාවිතා කරන -aවිට ඇඟවුම් කර ඇති බව පෙනේ -m.
ජෝන් ස්ට්‍රූඩ්

11
git push --tags origin masterප්‍රාදේශීය ශාඛාවේ ඇති සියලුම ටැග් දුරස්ථයට තල්ලු කරයි. git push origin <tag_name>සාදන ලද ටැගය තල්ලු කිරීමට කැමති වන්න . යොමුවන්න: stackoverflow.com/a/5195913/452708 , git-scm.com/book/en/v2/Git-Basics-Tagging
Abhijeet

147

කේතය පමණි

# Set the HEAD to the old commit that we want to tag
git checkout 9fceb02

# temporarily set the date to the date of the HEAD commit, and add the tag
GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" \
git tag -a v1.2 -m"v1.2"

# set HEAD back to whatever you want it to be
git checkout master

විස්තර

Kdkinzer විසින් දෙන ලද පිළිතුර ටැගයන් නිර්මාණය කරන්නේ වත්මන් දිනය (ඔබ git tagවිධානය ක්‍රියාත්මක කරන විට) මිස කැපවීමේ දිනය නොවේ . සඳහා Git උදව් tagකොටසක් ඇත "පසුදාතම් ටැග දින" : කියන

ඔබ වෙනත් VCS වෙතින් යම් යම් වෙනස්කම් ආනයනය කර ඇත්නම් සහ ඔබේ කාර්යයේ ප්‍රධාන නිකුතු සඳහා ටැග් එක් කිරීමට කැමති නම්, ටැග් වස්තුව ඇතුළත කාවැද්දීමට දිනය නියම කිරීමට හැකිවීම ප්‍රයෝජනවත් වේ; ටැග් වස්තුවෙහි එවැනි දත්ත, උදාහරණයක් ලෙස, gitweb අතුරුමුහුණතේ ටැග් අනුපිළිවෙලට බලපායි.

අනාගත ටැග් වස්තු සඳහා භාවිතා කරන දිනය සැකසීමට, පරිසර විචල්‍යය සකසන්න GIT_COMMITTER_DATE(හැකි අගයන් පිළිබඳ පසුකාලීන සාකච්ඡාව බලන්න; වඩාත් පොදු ස්වරූපය වන්නේ "YYYY-MM-DD HH: MM").

උදාහරණයක් වශයෙන්:

$ GIT_COMMITTER_DATE="2006-10-02 10:31" git tag -s v1.0.1

"Git හි ටැග් කරන්නේ කෙසේද" යන පිටුව අපට පෙන්වන්නේ අපට HEAD කැපවීමේ කාලය උපුටා ගත හැකි බවයි:

git show --format=%aD  | head -1
#=> Wed, 12 Feb 2014 12:36:47 -0700

නිශ්චිත බැඳීමක දිනය අපට උපුටා ගත හැකිය:

GIT_COMMITTER_DATE="$(git show 9fceb02 --format=%aD | head -1)" \
git tag -a v1.2 9fceb02 -m "v1.2"

කෙසේ වෙතත්, බැඳීම දෙවරක් පුනරාවර්තනය කරනවා වෙනුවට, එම කැපවීමට HEAD වෙනස් කිරීම පහසු වන අතර එය විධාන දෙකෙහිම ව්‍යංගයෙන් භාවිතා කරයි:

git checkout 9fceb02 

GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" git tag -a v1.2 -m "v1.2"

4
Ol කොලොනල් පැනික්, ඔබේ පැතුම මගේ අණයි! github.com/lucasrangit/git-custom-commands/blob/master/…
ලූකස්

නිකුතු කළමනාකරණය කිරීමට සහ ඔබේ ව්‍යාපෘතියේ / ටැග් පිටුවේ පෙන්වා ඇති දිනය ගැන සැලකිලිමත් වීමට ඔබ ගිතුබ් භාවිතා කරන්නේ නම්, GIT_COMMITTER_DATE සැකසීම විශේෂයෙන් වැදගත් වේ!
ලෙස්ලි

2
OlCollonelPanic මම ඔබට ද pun ුවම සඳහා උච්චාරණයක් ලබා දුන් අතර, කේතය සඳහා දෙවැන්න ඔබට ලබා දිය හැකි යැයි මම ප්‍රාර්ථනා කරමි, නමුත් ගිතුබ් තරුවකට එය කිරීමට සිදුවේ.
andyhasit

105

මෙය කළ හැකි සරලම ක්‍රමය නම්:

git tag v1.0.0 f4ba1fc

සමග f4ba1fcම හැෂ් මුල වීම ඔබ ටැගය සහ අවශ්ය සිදු v1.0.0ඔබ ටැගය කිරීමට අවශ්ය අනුවාදය වීම.


40

හරි , ඔබට සරලවම කළ හැකිය:

git tag -a <tag> <commit-hash>

එබැවින් ඔබට ටැගය එක් කිරීමට අවශ්‍ය නම් : 1.0.2 කැපවීමට e50f795, සරලවම කරන්න:

git tag -a 1.0.2 e50f795

මේ වගේ දෙයක් භාවිතා කරමින් ඔබ අවසානයේ පණිවිඩයක් එක් කරනවා-m :

git tag -a 1.0.2 e50f795 -m "my message"

සියල්ලට පසු, ඔබ එය වෙතට තල්ලු කළ යුතුය remote, එය කිරීමට , සරලව කරන්න:

git push origin 1.0.2 

ඔබට ටැග් බොහෝමයක් තිබේ නම් ඒවා එකින් එක සඳහන් කිරීමට ඔබට අවශ්‍ය නැත.

git push origin --tags

සියලුම ටැග් එකට තල්ලු කිරීමට ...

තවද, පියවර වඩාත් පැහැදිලි කිරීම සඳහා මම පහත රූපයේ පියවර නිර්මාණය කළෙමි: බැඳීම් හැෂ් එකක ටැගය නිර්මාණය කිරීම

පෙර පියවර මඟ හැරීම සඳහා ඔබට හබ් හි ටැගය dd කිරීමට හෝ SourceTree වැනි මෙවලම් භාවිතා කළ හැකිය , මම මේ අවස්ථාවේ දී මගේ බිට්බකට් වෙත පිවිසී එය එතැන් සිට කරමි:

  1. ඔබේ ශාඛාවට ගොස් ඔබට ටැගය එක් කිරීමට අවශ්‍ය කැපවීම සොයාගෙන එය මත ක්ලික් කරන්න:

ඔබේ කැපවීම බිට්බකට් වලින් සොයා ගන්න

  1. තුළ සිදු පිටුව , හරි, එය පවසයි එහිදී සොයා No tagsමත ක්ලික් කරන්න +අයිකනය:

ටැග් නැතැයි පවසන තැන සොයා ගන්න

  1. ටැග් නාම කොටුව තුළ, ඔබේ ටැගය එක් කරන්න:

ටැග් නම එක් කරන්න

  1. ටැගය සාර්ථකව නිර්මාණය කර ඇති බව දැන් ඔබට පෙනේ:

රූප විස්තරය මෙහි ඇතුළත් කරන්න


39

විධානය භාවිතා කරන්න:

git tag v1.0 ec32d32

V1.0 යනු ටැග් නාමය වන අතර ec32d32 යනු ඔබට ටැග් කිරීමට අවශ්‍ය බැඳීමයි

එය අවසන් වූ පසු ඔබට ටැග් තල්ලු කළ හැකිය:

git push origin --tags

යොමුව:

Git (ප්‍රතිශෝධන පාලනය): GitHub හි නිශ්චිත පෙර බැඳීම් ලක්ෂ්‍යයක් සලකුණු කරන්නේ කෙසේද?


11

මෙය පැරණි ප්‍රශ්නයක් වන අතර, පිළිතුරු සියල්ලම දැනටමත් ලබා දී ඇත, නමුත් සලකා බැලිය හැකි නව විකල්පයක් ද ඇත.

ඔබේ git නිධි කළමනාකරණය කිරීමට ඔබ SourceTree භාවිතා කරන්නේ නම්, ඔබට ඕනෑම බැඳීමක් මත දකුණු-ක්ලික් කර එයට ටැගයක් එක් කළ හැකිය. වෙනත් මූසික ක්ලික් කිරීමක් මඟින් ඔබට ටැගය ආරම්භයේදීම ශාඛාවට කෙලින්ම යැවිය හැකිය.


6

අනෙක් අයගේ පිළිතුරු මත පදනම්ව, ටැග් දිනය සැබවින්ම සිදු වූ දිනය නියම කරන, විවරණය කළ ටැගය භාවිතා කරන සහ අවශ්‍ය නොවන එක්-ලයිනර් විසඳුමක් මෙන්න git checkout:

tag="v0.1.3" commit="8f33a878" bash -c 'GIT_COMMITTER_DATE="$(git show --format=%aD $commit)" git tag -a $tag -m $tag $commit'
git push --tags origin master

එහිදී tagඅපේක්ෂිත ටැග් නූලට සහ commitබැඳීම් හැෂ් වෙත සකසා ඇත .


3

HPhrogz ගේ පිළිතුර විශිෂ්ටයි, නමුත් වින්ඩෝස් මත ක්‍රියා නොකරයි. පවර්ෂෙල් භාවිතයෙන් බැඳීමේ මුල් දිනය සමඟ පැරණි බැඳීමක් සටහන් කරන්නේ කෙසේද යන්න මෙන්න:

git checkout 9fceb02
$env:GIT_COMMITTER_DATE = git show --format=%aD | Select -First 1
git tag v1.2
git checkout master
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.