Git只在一个特定的分支上获取标签?



我使用

git fetch origin feature/blabla

是我想要获取的具体内容

  • 然而,这不会获取当前在feature/blabla上的标签。
  • git fetch(假设分支已签出)获取标签。

是否可以使用我的版本,也获取标签一起吗?(我不想用git fetch --tags获取所有标签)。这在另一个分支上尤其有用。

先检查添加——tags是否导入所有标签。

在git/git commit 5328456中可以看到,git fetch手册页曾经说过:

默认情况下,标签是自动跟随的。

这意味着当从远程获取时,远程上指向本地存储库中存在的对象的任何标记都将被获取。

如果只获取一个分支,则只获取指向该分支的标签。

OP Gabriel在评论中报告说:

git fetch --tags --prune --prune-tags origin feature/blabla

虽然它不工作,因为--all仍然获取所有的标签。

所以行为必须改变,d和标签不再自动跟随。
Git必须考虑每个标签,以检查它是否包含(引用一个提交)你想要获取的分支。
这将大大延迟读取操作本身。

所以现在,--tags(意思是refs/tags/*)是唯一的选择。

或者一个复杂的脚本,它将:

  • 在单独的本地克隆中获取标签
  • 本地检查每个导入的标签是否引用了分支
  • 从单独的本地克隆获取单个标记到原始的本地克隆存储库。

相关内容

  • 没有找到相关文章

最新更新