Ben*_*ngs 21 git git-remote git-tag
我想看看我在本地哪些标签在特定遥控器上不可用.我怎样才能做到这一点?我知道我可以做到git push --tags推动所有这些.但是,如果有一些我不想推的标签,我该如何确保我没有错过一些呢?
Ben*_*ngs 29
您可以使用以下内容查看本地存在但不在指定远程中的标记:
git show-ref --tags | grep -v -F "$(git ls-remote --tags <remote name> | grep -v '\^{}' | cut -f 2)"
Run Code Online (Sandbox Code Playgroud)
请注意,它git ls-remote显示了带注释的标记及其指向的提交^{},因此我们需要删除重复项.
另一种方法是使用--dry-run/ -nflags来git push:
git push --tags --dry-run
Run Code Online (Sandbox Code Playgroud)
这将显示将推送的更改,但实际上不会进行这些更改.