c# – 是否可以从CakeBuild创建和签出新的git分支?
作者:互联网
我的问题是两部分问题
1)我需要通过蛋糕构建来创建和签出新的git分支.在git中,这与我们完全一样
git branch Foo
git checkout Foo
Cake.Git插件提供了当前分支名称的信息,但我怀疑它是否具有分支和结帐功能.
2)现有的GitCheckout方法抛出异常.这个仓库有一个现有的ReleaseRC分支,它仍然会抛出异常.我在这里错过了什么?
Task("Checkout")
.Does(() =>
{
var repositoryPath = "../../.foo";
Information(GitBranchCurrent(repositoryPath).FriendlyName); //Prints 'master'
GitCheckout(repositoryPath, "ReleaseRC", new FilePath[] {}); //Throws error.
});
解决方法:
不,这目前无法通过Cake.Git插件实现.但是在Cake.Git插件中添加此功能存在问题,您可以在此处找到:
https://github.com/cake-contrib/Cake_Git/issues/52
通过使用StartProcess别名直接调用git可执行文件并提供所需的参数,可以完成这项工作.
https://cakebuild.net/api/Cake.Common/ProcessAliases/81E648CC
例如:
var exitCodeWithArgument = StartProcess("git", new ProcessSettings{ Arguments = "branch foo" });
更新:从Cake.Git插件的0.18.0版开始,现在应该可以使用新的GitCreateBranch别名来执行此操作.
标签:c,git,libgit2sharp,cakebuild 来源: https://codeday.me/bug/20190701/1347494.html