我正在尝试使用grdale grgit从git checkout 一个远程分支。这是我的代码

def gitRepo = Grgit.open(dir: '.')
task checkoutBranch(){
    doLast {
        gitRepo.checkout(branch: 'remoteTestBranch', createBranch: false);

    }
}

它失败,并显示错误“问题 check out ”。如果我已经有一个名为“remoteTestBranch”的本地分支,则此方法有效

但是当我这样做
git checkout remoteTestBranch

从命令行,它的工作原理
"Branch remoteTestBranch set up to track remote branch remoteTestBranch from origin.
Switched to a new branch 'remoteTestBranch'"

但是gradle脚本不起作用。我究竟做错了什么 ?

最佳答案

以下代码对我有用,请尝试:

if(gitRepo.branch.list().find { it.name == 'remoteTestBranch' })
  gitRepo.checkout(branch: 'remoteTestBranch')
else
  gitRepo.checkout(branch: 'remoteTestBranch', startPoint: 'origin/remoteTestBranch', createBranch: true)

08-18 16:23