编程语言
首页 > 编程语言> > c# – 是否可以从CakeBuild创建和签出新的git分支?

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.
});

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