Git 向拉取请求添加标记

Git 向拉取请求添加标记,git,github,pull-request,git-tag,Git,Github,Pull Request,Git Tag,我有一份回购协议 我对我的fork做了一些承诺,并添加了一个标记。然后我打开了一个拉请求。此拉取请求仅包括我的提交 如何将已创建的标记包含到Pull请求中 如何将已创建的标记包含到Pull请求中 你不能。拉取请求不包括标记。拉请求只是指向存储库中提交线程(分支)的指针,您正在建议合并另一个存储库 如果您想通知上游存储库应该创建一个标记,也许您应该在pull请求中添加一条注释来解释这一点。这是一篇老文章,但我在搜索类似内容时发现了这一点,我会给您一个更完整的解释 git中的标记和分支称为refer

我有一份回购协议

我对我的fork做了一些承诺,并添加了一个标记。然后我打开了一个拉请求。此拉取请求仅包括我的提交

如何将已创建的标记包含到Pull请求中

如何将已创建的标记包含到Pull请求中

你不能。拉取请求不包括标记。拉请求只是指向存储库中提交线程(分支)的指针,您正在建议合并另一个存储库


如果您想通知上游存储库应该创建一个标记,也许您应该在pull请求中添加一条注释来解释这一点。

这是一篇老文章,但我在搜索类似内容时发现了这一点,我会给您一个更完整的解释

git中的标记和分支称为reference或“refs”。您可以在任何时候移动一个ref以进行新的提交,如果您在时间上向后移动,则会创建松散的提交。甚至最糟糕的是,如果删除这些提交,它们可能会随着时间的推移而丢失,因为它们正在等待

当您提交PR时,实际上是要求某人将由您的分支名称(您的ref)引用的存储库中的提交列表与由ref(基本分支)标识的远程存储库中的提交列表合并。如果您的存储库中没有提交(您不是最新的),并且您的一些提交实际上触及了您这边没有的代码位置,那么需要进行合并以解决冲突。如果您不是最新的,但是您的代码没有触及自那时以来修改过的内容,那么就不会有冲突

最后,当东西被合并到另一个存储库中时,它通常会被压缩以保存提交历史,从而创建一个全新的提交哈希和一个新的提交树结构

根据我到目前为止所解释的,标记只是引用,就像分支一样。如果您在两个存储库的引用(即分支引用)之间打开PR,则无法创建标记,因为您最终不会创建任何新的引用,您只是要求某人将您的提交带到其代码中,并在所有内容合并后将基分支引用向前移动到新提交中


最好也是唯一的方法就是要求维护人员通过标记来发布代码版本,如果他们是这样做的,但这是他们自己的决定

我只是好奇为什么会有这样的限制?(如果您碰巧是github支持人员之一?)拉请求只包含提交。那么标签是为该拉请求准备的,对吗?如果拉取请求只包含提交,为什么这很重要?(我只是想把我的脑袋绕到那个决定上)一个人可以在他/她自己的存储库中为提交添加一个标记。拉请求只引用分支的尖端(即最后一次提交)。这样,标签就不会嵌入到拉请求中。我试图在合并拉请求后创建一个标签,但它在旧标签下?技术上,这仍然是可能的,但很难实现是吗?比如Github可以提出一些标签合并工作流或标签冲突解决方案等,但这只是目前还没有建立,是吗?