0

使用以下链接克隆源

http://cakebuild.net/api/Cake.Git/GitAliases/2ACDDC0F

GitClone("https://github.com/cake-build/cake.git", 
    "c:/temp/cake", 
    "username", 
    "password",
    new GitCloneSettings{ BranchName = "development" });

它适用于克隆分支源。

当我使用标签名称(tags/12.4.2.1)而不是面临以下问题的分支名称时

未找到参考“refs/remotes/origin/tags/12.4.2.1”

注意: tags/12.4.2.1 存在

4

1 回答 1

0

作为起点,目前找到唯一的解决方法,通过 cmd StartProcess执行git clone 特定标签命令

    Task("Default")
        .Does(() =>
        {
            GitClone("https://github.com/cake-build/cake.git", 
                "d:/temp/cake", 
                "userName", 
                "password",
                new GitCloneSettings{ BranchName = "main" });

            Cmd("cd /D D:\\temp\\cake",
                " & git checkout v0.8.0",
                " & git branch -D main",
                " & git checkout -b main");
        });

private void Cmd(params object[] parameters)
{
    if (parameters.Any())
    {
        var args =  new ProcessArgumentBuilder()
            .Append(@"/c");

        foreach (var param in parameters)
            args.Append($"{param}");

        StartProcess("cmd", new ProcessSettings { Arguments = args });
    }
}   
于 2017-05-26T11:54:23.223 回答