grgit:签出一个远程分支

时间:2015-09-18 07:10:06

标签: git gradle android-gradle build.gradle gradle-plugin

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

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

    } 
}

失败并显示“问题检出”错误。如果我已经有一个名为“remoteTestBranch”

的本地分支,则此方法有效

但是当我做的时候

git checkout remoteTestBranch
从命令行

起作用

"Branch remoteTestBranch set up to track remote branch remoteTestBranch from origin.
Switched to a new branch 'remoteTestBranch'"

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

1 个答案:

答案 0 :(得分:2)

以下代码适用于我,请尝试一下:

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