我在用
git fetch origin feature/blabla
Run Code Online (Sandbox Code Playgroud)
真正具体地说明我想要获取什么。
feature/blabla
。git fetch
only(假设分支已签出)也获取标签。是否可以使用我的版本并同时获取标签?(我不想用 获取所有标签git fetch --tags
)。尤其是在另一个分支上时,这非常有用。
首先检查添加 --tags 是否导入所有标签。
正如git/git commit 5328456中所示,git fetch
手册页过去常说:
默认情况下,标签是自动跟随的。
这意味着当从远程获取时,将获取远程上指向本地存储库中存在的对象的任何标记。
因此,如果您只获取一个分支,则只应获取引用该分支的标签。
git fetch --tags --prune --prune-tags origin feature/blabla
Run Code Online (Sandbox Code Playgroud)
尽管它不起作用,但--all
仍然会获取所有标签。
因此,行为必须发生变化,并且标签不再自动跟随。
Git 必须考虑每个标签,以检查它是否包含(引用其提交)您想要获取的分支。
这会大大延迟获取操作本身。
所以目前,--tags
(意思是refs/tags/*
)是唯一的选择。
或者一个复杂的脚本: