我需要一段可以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);
Run Code Online (Sandbox Code Playgroud)
gitDir我的本地存储库目录在哪里。
您需要提供远程存储库名称和远程分支名称。例如origin和master:
PullResult result = git.pull()
.setCredentialsProvider(user)
.setRemote("origin")
.setRemoteBranchName("master")
.call();
if (result.isSuccessful()) {
...
} else {
...
}
Run Code Online (Sandbox Code Playgroud)
还要注意pull命令返回的结果是PullRequest--它的方法isSuccessful()表示pull是否成功。您可能还想在代码中添加此逻辑。
参考:
| 归档时间: |
|
| 查看次数: |
2198 次 |
| 最近记录: |