我有一个git存储库,它使用一个子模块,我想指向一个带注释的标签,但是当我做git submodule update新的标签时,不会被提取.我可以通过cd进入子模块并在git fetch --tags那里做一个子模块中的新标签,但我真的很想从外部完成所有这些,因为它是脚本化的.
我在git文档中找不到任何建议git submodule update包含标记的方法(我的git版本是1.7.3.5).
显然还有另一种可能性 - 将子模块指向标签指向的提交而不是标签本身,但这看起来并不整齐.
有没有办法git submodule update包含标签?
我在 Windows 7 中使用 Git BASH 并尝试创建一个标签:
git tag -a v2.44.13 -m "[before prod] bla bla bla"
Run Code Online (Sandbox Code Playgroud)
并失败:
$'\226git': command not found
Run Code Online (Sandbox Code Playgroud)
相同的命令适用于 Git CMD。为什么会发生这种情况以及如何解决?
git 版本 2.11.0.windows.1
是否有可能找到谁从存储库中删除了git标签?
假设您有一个包含贡献者的存储库.该仓库有dev标签和版本:v0.1.0,v0.1.1等等.
有人删除了一个标签.你怎么会找到谁删除了git标签?
我想在我的存储库中列出所有轻量级标签; 我能想到的最好的东西包括结合git for-each-ref,grep和cut,但似乎它会有点狡猾......
(虽然我们正在谈论它,但我们不妨谈论注释标签的相同事情:有人肯定会在某处对此感到疑惑.)
编辑:
通过lightweight标签,我的意思是那些不引用标签对象的标签引用.(换句话说,未注释的标签.)
从cli我推这样的标签
git tag 1.0.1 && git push origin 1.0.1
Run Code Online (Sandbox Code Playgroud)
从Xcode 9我可以标记提交.但是,如何将该标记从Xcode推送到源?
我已成功制作,提交并推送更改到中央git存储库.我现在意识到我要标记所有文件的当前版本.所以我这样做:
git tag -a 0.5
Run Code Online (Sandbox Code Playgroud)
这成功了.但现在我尝试了一下git push,我被告知没有什么可以承诺的.如何将新标签推送到中央存储库?
(注意git tag显示标记0.5,但仅在本地)
我用git标记弄湿了,但我之前的背景是Subversion,其中"标签"实际上只是副本,而不是"真正的"标签......
如果我将标签添加到git仓库,它是应用于所有分支还是仅应用于当前分支?
例如,如果我目前有这些分支(git branch -v):
* master deadbeef My master head comment
dev baddfeed My def head comment
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,当前已检出的分支是主分支.现在假设我git tag -a TAGNAME,TAGNAME仅适用于deadbeef(主分支)或baddfeed(dev分支)?
例如,假设我在签出标签之前切换到dev分支(即,不是创建标签的分支):
git checkout dev
git checkout TAGNAME
Run Code Online (Sandbox Code Playgroud)
然后,我最终结账baddfeed或将标签结帐(第二行)切换回主分支(标签创建的位置)并给我一个结帐deadbeef?(或者第三种选择,是我对创建和恢复标签的理解太缺陷或过于简单,答案就像这两个选项中的一个一样简单?)
另外,如果我使用轻量级标签(git tag TAGNAME)而不是带注释的标签,我的问题的答案是否会改变?
git-tag ×10
git ×9
branch ×1
dvcs ×1
git-bash ×1
git-branch ×1
git-push ×1
teamcity ×1
xcode ×1
xcode9-beta ×1