我需要使用libgit2sharp将本地存在的标签推送到远程。但是我找不到怎么做。
我在libgit2sharp的github仓库(问题和测试用例)中进行了大量搜索,但没有发现任何问题。
There are some discussions关于git push --tags
的替代方法,人们说此命令只是git push <remote> refs/tags/*:refs/tags/*
的语法糖,而这正是您需要在libgit2sharp中执行的操作,以推动标记。
但是我怎么翻译这个命令
git push <remote> refs/tags/*:refs/tags/*
放入libgit2sharp代码?
谢谢你们。
最佳答案
好吧,我在方法中发现了问题。我正在做这样的事情:
repo.Network.Push(repo.Network.Remotes["origin"], @"refs/tags/*", options);
但是libgit2sharp不允许使用通配符(*)。然后,我进行了一个测试,删除了通配符,并用我的标签之一的名称对其进行了更改,然后它起作用了。
但是我仍然需要向远程发送多个标签,我通过使用foreach循环进行了变通,如下所示:
foreach (var tag in repositorio.Tags)
{
repo.Network.Push(repo.Network.Remotes["origin"], tag.CanonicalName, options);
}
还有另一种(更好或更正确的)方法吗?
关于c# - 如何使用libgit2sharp推送标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37734855/