我需要使用libgit2sharp将本地存在的标签推送到远程。但是我找不到怎么做。
我在libgit2sharp的github仓库(问题和测试用例)中进行了大量搜索,但没有发现任何问题。
有一些关于替代方法的讨论git push --tags,人们说此命令只是git push <remote> refs/tags/*:refs/tags/*对它的一种语法糖,而这正是您需要在libgit2sharp中执行的操作才能使标签被推送。
但是我怎么翻译这个命令
git push <remote> refs/tags/*:refs/tags/*
Run Code Online (Sandbox Code Playgroud)
放入libgit2sharp代码?
谢谢你们。
好吧,我在方法中发现了问题。我正在做这样的事情:
repo.Network.Push(repo.Network.Remotes["origin"], @"refs/tags/*", options);
Run Code Online (Sandbox Code Playgroud)
但是libgit2sharp不允许使用通配符(*)。然后,我进行了一个测试,删除了通配符,并用我的标签之一的名称对其进行了更改,然后它起作用了。
但是我仍然需要向远程发送多个标签,我通过使用foreach循环进行了变通,如下所示:
foreach (var tag in repositorio.Tags)
{
repo.Network.Push(repo.Network.Remotes["origin"], tag.CanonicalName, options);
}
Run Code Online (Sandbox Code Playgroud)
还有另一种(更好或更正确的)方法吗?
| 归档时间: |
|
| 查看次数: |
729 次 |
| 最近记录: |