问题标签 [git-tag]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3417 浏览

git - 将 git 分支转换为 git 标签

我正在寻找将 git 分支转换为 git 标签的最佳和最安全的方法。当手动移植一个 svn 存储库时,我基本上复制了我们所有的分支,并且每个次要版本(1.1、1.2、1.3)都有一个分支,老实说,这可能不是最好的方法,但为了速度,当时我更喜欢使用分支而不是标签。我现在有分支 1.5、1.6、1.7、1.8 但是由于我们在任何给定时间只部署了一个版本的代码,我可能只需要最后一个版本作为分支,以防任何热修复需要进入那个版本已部署。所以我正在寻找将 git 分支转换为 git 标签的最佳方法。我想我有办法,但确定它有多好。

到目前为止我所做的是对于我想要转换为标签的每个分支,我已经检查以确保在那些不在 master 分支中的分支中没有提交,所以我做了:

所有这些都没有给我任何回报,我认为这意味着这些分支中的所有提交都存在于 master 中。我这样做是因为我假设如果在那些不在 master 中的分支中有提交,那么在将分支转换为标签时我会丢失它们,因为标签只是指向一个提交而不是开发线的“指针”。看起来不错,我的假设是我只需要这样做:

然后我只需要在本地删除分支并将这些更改推送到远程存储库。这是将 git 分支转换为 git 标签的最佳方式吗?

我还有一个担心是,如果有人从 1.7(没有人应该这样做)创建了一个分支,并且他们提取了删除该分支的更改,他们是否能够将这些更改合并到另一个分支(比如 master)或者那种打破他们创建的分支?这是不应该发生的情况,因为除了最后一个版本(在本例中为 1.8)之外,不应从任何分支版本创建分支,但人们并不总是正确地遵循程序,所以我想确保有一种方法如果发生这种情况来解决这个问题。

0 投票
2 回答
1162 浏览

git - git标签和时间

我的印象是一个标签就像一个提交,如果我有一个基于旧提交的克隆,我不希望在 git 标签输出中看到新标签。

然而,这个假设显然是错误的。它破坏了我计划使用标签的方式。我正在使用简单的标签。随着时间的推移,其他类型的标签的工作方式会有所不同吗?

0 投票
3 回答
8029 浏览

git - 是否有将分支转换为标签的简单命令?

我即将完成将“哑快照”转换为 git 的繁琐过程。这个过程进展顺利(多亏了这个重命名过程),但现在我意识到我创建的一些分支不值得一个branch,而是一个tag.

由于一切仍然是本地的(从未推送到存储库),我发现这个问题(和相关的答案)比我喜欢的要麻烦一些,所以我想知道我是否可以通过一些简单的“convert-from-branch-to”来走捷径-tag”命令?

有没有这么简单的命令可以将分支转换为标签?

(我知道我可以让它保持原样,但我真的很喜欢gitk突出标签的方式,帮助我轻松识别它们)。

更新:感谢@Andy 在下面的回答,我设法想出了一个 shell 脚本,它可以方便、轻松地完成这一切。我分享这个脚本是为了所有人的利益,并特别感谢这个伟大的社区,他们让我从 CVS 迁移到 git 成为可能:

0 投票
2 回答
1008 浏览

git - 在 gitk 上推送 git 存储库缺少分支和标签名称

我刚刚做了我的第一次git push

似乎进展顺利,但是当gitk在新的(裸)gitrepo 中触发时,我只看到提交评论:分支和标签名称消失了!

为什么?

有没有办法让他们回来?

0 投票
2 回答
1563 浏览

git - 在 git push 上需要带注释的标签并拒绝轻量级标签

是否可以在 git repo 上设置一个策略,禁止将轻量级标签推送到它?

0 投票
2 回答
4220 浏览

git - Git:将标签转换为远程仓库中的分支

我有一个名为latest的标签,我希望它成为一个分支。与此相反。我也需要从远程仓库中删除它。

背景:这是目前许多golang包的问题,​​goinstall 会查找与该语言的最新官方版本相对应的发布标签或分支。与其他 VCS 类比,许多人在应该使用 git分支时错误地使用了 git标签

0 投票
3 回答
261 浏览

git - Git 标签 - 结帐问题

如果 Git 项目中有多个标签可用,我们如何检查,这是所有当前标签中的已签出标签。

git tag将列出所有标签,并且条目将出现在 .git/refs/tags

例如: - 今天我们从主存储库进行了存储库同步并获得了标签 1,我们签出了标签 1 并开始处理它,几周后我们同步了内容并签出了新标签。

现在,如果我想检查最新状态,即当前签出标签 - 我们该怎么做?

0 投票
1 回答
373 浏览

git - 确定最新收到的 git 标签

我需要为我们的项目编写一个自动更新脚本。我什么都有,除了我无法确定最新收到的标签的名称。我尝试使用 git describe,但它告诉我最新的签出标签。我当然不需要那个,我必须得到下一个可到达的标签才能结帐。任何的想法?

0 投票
2 回答
159 浏览

git - 为什么我的本地 git 标签从“hello”变为“hello-1-48281”

说什么?额外的东西是什么?看起来不像 SHA1 ......是否有可能只是让“你好”回来?

0 投票
4 回答
12045 浏览

git - 可以进行 git submodule update 以获取子模块中的标签吗?

我有一个 git 存储库,它使用一个子模块,我想指向一个带注释的标签,但是当我这样做时,git submodule update新标签不会被获取。我可以通过 cd-ing 进入子模块并在git fetch --tags那里进行操作来获得子模块中的新标签,但我真的很想从外部完成所有这些,因为它是脚本化的。

我在 git 文档中找不到任何建议git submodule update包含标签的方法(我的 git 版本是 1.7.3.5)。

显然还有另一种可能性 - 将子模块指向标签指向的提交而不是标签本身,但这似乎并不整洁。

有没有办法git submodule update包含标签?