उपनाम एक टैग को एक अलग प्रतिबद्ध में स्थानांतरित करने के लिए।
अपने नमूने में, हैश e2ea1639 के साथ कमिट करने के लिए git tagm v0.1 e2ea1639
:।
पुश किए गए टैग के लिए, का उपयोग करें git tagmp v0.1 e2ea1639
।
दोनों अन्य नाम आपको मूल तारीख और संदेश देते हैं। यदि आप उपयोग करते हैं git tag -d
तो आपने अपना मूल संदेश खो दिया है।
उन्हें अपनी .gitconfig
फ़ाइल पर सहेजें
# Return date of tag. (To use in another alias)
tag-date = "!git show $1 | awk '{ if ($1 == \"Date:\") { print substr($0, index($0,$3)) }}' | tail -2 | head -1 #"
# Show tag message
tag-message = "!git show $1 | awk -v capture=0 '{ if(capture) message=message\"\\n\"$0}; BEGIN {message=\"\"}; { if ($1 == \"Date:\" && length(message)==0 ) {capture=1}; if ($1 == \"commit\" ) {capture=0} }; END { print message }' | sed '$ d' | cat -s #"
### Move tag. Use: git tagm <tagname> <newcommit>
tagm = "!GIT_TAG_MESSAGE=$(git tag-message $1) && GIT_COMMITTER_DATE=$(git tag-date $1) && git tag-message $1 && git tag -d $1 && git tag -a $1 $2 -m \"$GIT_TAG_MESSAGE\" #"
### Move pushed tag. Use: git tagmp <tagname> <newcommit>
tagmp = "!git tagm $1 $2 && git push --delete origin $1 && git push origin $1 #"
git push origin :refs/tag/<tagname>
और फिर करेंgit tag -fa <tagname>
और फिर करेंgit push origin master --tags
। अन्यथा आप ^ और {} वर्णों के साथ रिमोट पर रेफरी सूची में अजीब सामान के साथ समाप्त हो सकते हैं। इसे इंगित करने के लिए codebasehq.com पर Dan को धन्यवाद।