如何将多个已创建的标签添加到特定提交中? (GIT)
How to add multiple already created tags into specific commit? (GIT)
我面临的问题是我想为特定提交(最后一次或历史记录)使用更多标签。
例如,我希望提交包含标签:“v1.2”和“Release”或“XF-update”。
第一步是创建和推送标签:
我可以创建标签:
git tag v1.2
git tag Release
git tag XF-update
我可以推它们(为了安全每个都分开):
git push remote v1.2
git push remote Release
...
或一起
git push --tags
注意:标签 Release 或 XF-update 只会被推送一次,不会再被推送,它们将在许多地方的分支中重复使用。所以我想说我想用相同的标签标记许多提交。所以一个月后,我将只创建新标签“v1.4”,不再创建 XF-update 标签,但仍想使用该标签进行提交。
第二步是提交更改:
- 只是定期更改代码并提交它们。
注意:问题是在这种提交的情况下,我已经可以放置标签并推送它。但老实说,我更愿意完成提交,将其推送到远程,然后在下一步开始将标签连接到特定提交。
第三步应该是在历史中已经创建的标签和提交之间建立联系。
- 通过历史上的提交我的意思是即使是最后一次提交,或者一周前的提交(总是通过哈希 id)
这就是问题所在。我不知道如何对 git 说使用散列“xxxxxxxxxxxxxxxxxxxxxxxxxxx”提交的内容应该使用标签“v1.2”以及标签“XF-update”(已经创建和推送)进行标记。
我可以想象即使在不同的步骤中也能做到:
- 为一个特定的提交添加一个特定的标签
- 将第二个特定标记添加到同一个特定提交
- .....
有什么建议吗?
我正在使用 fork 并且在 GUI 中我无法手动单击它,所以我需要使用集成在那里的 git bash 。 (写几行没什么大不了的,就是不知道这个具体步骤应该是什么)
谢谢!
就个人而言,我将标签视为提交的标签
要向特定提交添加标签,我 git checkout
提交并创建我的标签
git checkout xxxxxxxxxxxxxxxxxxxxxxxxxxx
git tag v1.2
git tag XF-update
如果tag
已经被使用,我之前将其删除,这是我用来删除的命令:
- 本地 git 标签:
git tag -d <tag_name>
- 远程 git 标签:
git push --delete origin <tag_name>
你的问题比较混乱,因为你一直在两个不同的事物之间来回跳转:
- 向单个提交添加多个标签。这很容易,您已经使用示例命令完成了。您可以使用
git tag new_tag existing_tag
创建一个指向与另一个标签相同的提交的标签,或者指向您知道散列的提交,例如git tag new_tag abc123def
- 将多个 提交 添加到单个 标签。这是不可能的,因为那不是标签。标签是一种在您的历史记录中查找特定提交的方法——最常见的用途是标记稳定版本,这样您就可以始终知道“此提交是发布为 v1.2.3 的版本”。您可以在大多数使用提交哈希的地方使用标签名称,因为它专门指向一次提交。
听起来您正在寻找的是某种可以应用于一组提交的标签,在 这些提交创建之后。显然有一个名为 git notes which allows you to add free text notes to existing commits. I don't know anything more about it, but it might be usable for your use case. (Hat tip to jthill 的设施用于指出它的存在。)
我面临的问题是我想为特定提交(最后一次或历史记录)使用更多标签。 例如,我希望提交包含标签:“v1.2”和“Release”或“XF-update”。
第一步是创建和推送标签:
我可以创建标签:
git tag v1.2
git tag Release
git tag XF-update
我可以推它们(为了安全每个都分开):
git push remote v1.2
git push remote Release
...
或一起
git push --tags
注意:标签 Release 或 XF-update 只会被推送一次,不会再被推送,它们将在许多地方的分支中重复使用。所以我想说我想用相同的标签标记许多提交。所以一个月后,我将只创建新标签“v1.4”,不再创建 XF-update 标签,但仍想使用该标签进行提交。
第二步是提交更改:
- 只是定期更改代码并提交它们。 注意:问题是在这种提交的情况下,我已经可以放置标签并推送它。但老实说,我更愿意完成提交,将其推送到远程,然后在下一步开始将标签连接到特定提交。
第三步应该是在历史中已经创建的标签和提交之间建立联系。
- 通过历史上的提交我的意思是即使是最后一次提交,或者一周前的提交(总是通过哈希 id)
这就是问题所在。我不知道如何对 git 说使用散列“xxxxxxxxxxxxxxxxxxxxxxxxxxx”提交的内容应该使用标签“v1.2”以及标签“XF-update”(已经创建和推送)进行标记。 我可以想象即使在不同的步骤中也能做到:
- 为一个特定的提交添加一个特定的标签
- 将第二个特定标记添加到同一个特定提交
- .....
有什么建议吗? 我正在使用 fork 并且在 GUI 中我无法手动单击它,所以我需要使用集成在那里的 git bash 。 (写几行没什么大不了的,就是不知道这个具体步骤应该是什么)
谢谢!
就个人而言,我将标签视为提交的标签
要向特定提交添加标签,我 git checkout
提交并创建我的标签
git checkout xxxxxxxxxxxxxxxxxxxxxxxxxxx
git tag v1.2
git tag XF-update
如果tag
已经被使用,我之前将其删除,这是我用来删除的命令:
- 本地 git 标签:
git tag -d <tag_name>
- 远程 git 标签:
git push --delete origin <tag_name>
你的问题比较混乱,因为你一直在两个不同的事物之间来回跳转:
- 向单个提交添加多个标签。这很容易,您已经使用示例命令完成了。您可以使用
git tag new_tag existing_tag
创建一个指向与另一个标签相同的提交的标签,或者指向您知道散列的提交,例如git tag new_tag abc123def
- 将多个 提交 添加到单个 标签。这是不可能的,因为那不是标签。标签是一种在您的历史记录中查找特定提交的方法——最常见的用途是标记稳定版本,这样您就可以始终知道“此提交是发布为 v1.2.3 的版本”。您可以在大多数使用提交哈希的地方使用标签名称,因为它专门指向一次提交。
听起来您正在寻找的是某种可以应用于一组提交的标签,在 这些提交创建之后。显然有一个名为 git notes which allows you to add free text notes to existing commits. I don't know anything more about it, but it might be usable for your use case. (Hat tip to jthill 的设施用于指出它的存在。)