gpt4 book ai didi

git - JGit: checkout 远程分支

转载 作者:IT王子 更新时间:2023-10-29 01:20:54 25 4
gpt4 key购买 nike

我正在使用 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();

文件已 checkout ,但 HEAD 未指向分支。以下是 git status 输出,

$ git status
# Not currently on any branch.
nothing to commit (working directory clean)

可以在 git 命令行中执行相同的操作,很容易并且有效,

git checkout -t origin/mybranch

这个JGit怎么做?

最佳答案

您必须使用setCreateBranch 来创建一个分支:

Ref ref = git.checkout().
setCreateBranch(true).
setName("branchName").
setUpstreamMode(CreateBranchCommand.SetupUpstreamMode.TRACK).
setStartPoint("origin/" + branchName).
call();

你的第一个命令相当于 git checkout origin/mybranch

(编辑:我向 JGit 提交了补丁以改进 CheckoutCommand 的文档:https://git.eclipse.org/r/8259)

关于git - JGit: checkout 远程分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12927163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com