我正在使用JGit来检出远程跟踪分支。
Git binrepository = cloneCmd.call()
CheckoutCommand checkoutCmd = binrepository.checkout();
checkoutCmd.setName( "origin/" + branchName);
checkoutCmd.setUpstreamMode(CreateBranchCommand.SetupUpstreamMode.TRACK );
checkoutCmd.setStartPoint( "origin/" + branchName );
Ref ref = checkoutCmd.call();
文件已经被签出,但是HEAD没有指向分支。 以下是git状态输出:
git status
。$ git status
# Not currently on any branch.
nothing to commit (working directory clean)
同样的操作也可以在git命令行中轻松完成,并且它是有效的。
git checkout -t origin/mybranch
如何使用 JGit 进行操作?
setStartPoint
应该能够使用标签名称,否则这就是 JGit 的一个 bug(请报告它)。 - robinstgit checkout <branch/tag>
命令可以切换分支或标签:例如git checkout 2.1.2.Final
或者git checkout master
。 - Adam Siemion