Git 仅在特定分支上获取标签?
Git fetch tags only on a specific branch?
我正在使用
git fetch origin feature/blabla
具体说明我想要获取的内容。
- 但是,这不会获取当前位于
feature/blabla
上的标签。
- A
git fetch
仅(假设分支已签出)获取
标签也是。
是否可以使用我的版本并获取标签
沿着? (我不想使用 git fetch --tags
获取所有标签)。
这在另一个分支上尤其有用。
首先检查添加 --tags 是否会导入 all 标签。
如在 git/git commit 5328456 中所见,git fetch
手册页曾经说:
By default, tags are auto-followed.
This means that when fetching from a remote, any tags on the remote that point to objects that exist in the local repository are fetched.
因此,如果您只获取一个分支,则只应获取引用该分支的标签。
OP Gabriel reports 那个:
git fetch --tags --prune --prune-tags origin feature/blabla
尽管它不起作用,因为 --all
仍然会获取所有标签。
所以行为一定有变化,并且不再自动关注标签。
Git 必须考虑每个标签,以检查它是否包含(引用提交)您要获取的分支。
这将大大延迟获取操作本身。
所以目前,--tags
(意思是refs/tags/*
)是唯一的选择。
或者复杂的脚本会:
- 在单独的本地克隆中获取标签
- 在本地检查每个导入的标签是否引用了分支
- 从单独的本地克隆中获取单个标签到您的原始本地克隆存储库。
我正在使用
git fetch origin feature/blabla
具体说明我想要获取的内容。
- 但是,这不会获取当前位于
feature/blabla
上的标签。 - A
git fetch
仅(假设分支已签出)获取 标签也是。
是否可以使用我的版本并获取标签
沿着? (我不想使用 git fetch --tags
获取所有标签)。
这在另一个分支上尤其有用。
首先检查添加 --tags 是否会导入 all 标签。
如在 git/git commit 5328456 中所见,git fetch
手册页曾经说:
By default, tags are auto-followed.
This means that when fetching from a remote, any tags on the remote that point to objects that exist in the local repository are fetched.
因此,如果您只获取一个分支,则只应获取引用该分支的标签。
OP Gabriel reports
git fetch --tags --prune --prune-tags origin feature/blabla
尽管它不起作用,因为 --all
仍然会获取所有标签。
所以行为一定有变化,并且不再自动关注标签。
Git 必须考虑每个标签,以检查它是否包含(引用提交)您要获取的分支。
这将大大延迟获取操作本身。
所以目前,--tags
(意思是refs/tags/*
)是唯一的选择。
或者复杂的脚本会:
- 在单独的本地克隆中获取标签
- 在本地检查每个导入的标签是否引用了分支
- 从单独的本地克隆中获取单个标签到您的原始本地克隆存储库。