我已经看到很多项目v1.2.3用作git中标签的命名约定.我也看到了一些用途1.2.3.是否有正式认可的风格,还是有任何好的论据可以使用?
我们的git存储库中有几个带注释的标签.较旧的标签有伪造的消息,我们想要更新为我们的新风格.
% git tag -n1
v1.0 message
v1.1 message
v1.2 message
v2.0 Version 2.0 built on 15 October 2011.
Run Code Online (Sandbox Code Playgroud)
在此示例中,我们希望使v1.x消息看起来像v2.0消息.有谁知道我们会怎么做?
我无法找到当前检出的标签.
当我做:
git checkout tag1
git branch
Run Code Online (Sandbox Code Playgroud)
我似乎无法找出我在哪个标签上.它只记录:
* (no branch)
master
Run Code Online (Sandbox Code Playgroud)
是否有可能找出签出的标签?在上面的例子中,这将是tag1.
我想删除Git存储库中的所有标记.我怎样才能做到这一点?
使用git tag -d tagname在tagname本地删除标记,并使用git push --tags我更新git提供程序上的标记.
我试过了:
git tag -d *
Run Code Online (Sandbox Code Playgroud)
但我看到这*意味着当前目录中的文件.
$ git tag -d *
error: tag 'file1' not found.
error: tag 'file2' not found.
...
Run Code Online (Sandbox Code Playgroud)
考虑我有很多标签,我想删除它们.
自从我创建了我的存储库后,看来我创建的标签没有被推送到存储库.当我git tag在本地目录上执行所有标记时,但是当我登录到远程存储库并执行操作时git tag,只显示前几个标记.
问题是什么?
我正在为我的git项目开发一个部署脚本,我刚开始使用标签.我添加了一个名为的新标签v2.0:
git tag -a v2.0 -m "Launching version 2.0"
Run Code Online (Sandbox Code Playgroud)
我已将此标记推送到远程存储库
git push --tags
Run Code Online (Sandbox Code Playgroud)
当我尝试执行部署脚本并签出v2.0标记时,我收到以下消息:
你处于"独立的HEAD"状态.您可以环顾四周,进行实验性更改并提交它们,并且您可以放弃在此状态下进行的任何提交,而不会通过执行另一次检出来影响任何分支.如果要创建新分支以保留您创建的提交,可以再次使用-b和checkout命令(现在或以后).示例:git checkout -b new_branch_name HEAD现在位于
这是正常的吗?存储库处于不确定状态,因为如果我这样做:
git branch
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
* (no branch)
master
Run Code Online (Sandbox Code Playgroud)
对不起,如果这是显而易见的,但我无法理解.
如何查看rspec软件包的版本/标签1.1.4 ?
cd ~/Library/Application\ Support/TextMate/Bundles/
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'
Run Code Online (Sandbox Code Playgroud)
--branch也可以在结果存储库中的提交处获取标记并分离HEAD.
我试过了
git clone --branch <tag_name> <repo_url>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.它返回:
warning: Remote branch 2.13.0 not found in upstream origin, using HEAD instead
Run Code Online (Sandbox Code Playgroud)
如何使用此参数?
运行以下步骤后出现以下错误:
To git@provider.com:username/repo-name.git
! [rejected] dev -> dev (already exists)
error: failed to push some refs to 'git@provider.com:username/repo-name.git'
hint: Updates were rejected because the tag already exists in the remote.
Run Code Online (Sandbox Code Playgroud)
dev:git tag devgit push --tags删除标签dev,再次创建并推送标签:
git tag -d dev
git tag dev
git push --tags
Run Code Online (Sandbox Code Playgroud)为什么会这样?
我在Mac上.我使用Linux(Ubuntu)的朋友没有这个问题.我知道我可以git push --tags -f用来强制标记更新,但这很危险(例如,只在标记中重写提交,而不是在分支中).
git-tag ×10
git ×9
deployment ×1
git-checkout ×1
git-clone ×1
git-merge ×1
github ×1
repository ×1