gpt4 book ai didi

java - 如何在现有存储库上使用 JGit 从源 pull

转载 作者:行者123 更新时间:2023-12-02 11:07:33 26 4
gpt4 key购买 nike

我需要一段可以从源中 pull 并与本地存储库 merge 的代码。我尝试使用本地存储库,它可以获得最后的提交和修订。但是无法从源中 pull 更改。

File gitWorkDir = new File(gitDir);
Git git = Git.open(gitWorkDir);
Repository repo = git.getRepository();
UsernamePasswordCredentialsProvider user = new
UsernamePasswordCredentialsProvider("username", "password");
PullCommand pullCmd = git.pull();
pullCmd.setCredentialsProvider(user);
pullCmd.call();
ObjectId lastCommitId = repo.resolve(Constants.HEAD);
log.info(lastCommitId);

其中 gitDir 是我的本地存储库目录。

最佳答案

您需要提供远程存储库名称和远程分支名称。例如originmaster:

PullResult result = git.pull()
.setCredentialsProvider(user)
.setRemote("origin")
.setRemoteBranchName("master")
.call();

if (result.isSuccessful()) {
...
} else {
...
}

另请注意,pull 命令返回的结果是 PullRequest —它的方法isSuccessful()指示 pull 是否成功。您可能也想在代码中添加此逻辑。

引用文献:

关于java - 如何在现有存储库上使用 JGit 从源 pull ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50851277/

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