我的问题是两部分问题
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.
});
答案 0 :(得分:2)
不,目前无法通过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" });
UPDATE :从Cake.Git插件版本0.18.0开始,现在可以使用新的GitCreateBranch别名来执行此操作。