Java JGit显示远程更改,如git diff——名称状态主源/主
我正在试着用它。 它的工作非常好,但在进行拉取之前,我还没有发现如何在远程git上显示更改。 在终端中,我通过以下步骤解决了问题:Java JGit显示远程更改,如git diff——名称状态主源/主,java,git,jgit,Java,Git,Jgit,我正在试着用它。 它的工作非常好,但在进行拉取之前,我还没有发现如何在远程git上显示更改。 在终端中,我通过以下步骤解决了问题: git fetch git diff——名称状态主机原点/主机 如何使用JGit获取远程更改?有人有主意吗 我认为线程可以帮助,但我不知道如何获取远程头。我找到了如何获取远程头(FETCH\u HEAD)。 现在我的代码如下: git.fetch().call(); Repository repo = git.getRepository(); Objec
git fetch
git diff——名称状态主机原点/主机
我认为线程可以帮助,但我不知道如何获取远程头。我找到了如何获取远程头(FETCH\u HEAD)。 现在我的代码如下:
git.fetch().call();
Repository repo = git.getRepository();
ObjectId fetchHead = repo.resolve("FETCH_HEAD^{tree}");
ObjectId head = repo.resolve("HEAD^{tree}");
ObjectReader reader = repo.newObjectReader();
CanonicalTreeParser oldTreeIter = new CanonicalTreeParser();
oldTreeIter.reset(reader, head);
CanonicalTreeParser newTreeIter = new CanonicalTreeParser();
newTreeIter.reset(reader, fetchHead);
List<DiffEntry> diffs= git.diff().setShowNameAndStatusOnly(true)
.setNewTree(newTreeIter)
.setOldTree(oldTreeIter)
.call();
for(DiffEntry entry : diffs) {
System.out.println(entry.toString());
}
git.fetch().call();
Repository repo=git.getRepository();
ObjectId fetchHead=repo.resolve(“FETCH_HEAD^{tree}”);
ObjectId head=repo.resolve(“head^{tree}”);
ObjectReader=repo.newObjectReader();
CanonicalTreeParser OldTreeItemer=新CanonicalTreeParser();
重置(读卡器、磁头);
CanonicalTreeParser newtreiter=新CanonicalTreeParser();
复位(读卡器、取头);
List diff=git.diff().setShowNameAndStatusOnly(true)
.setNewTree(newtreiter)
.setOldTree(oldTreeIter)
.call();
对于(差异条目:差异){
System.out.println(entry.toString());
}
它向我显示了我想要的远程更改,但它不正确。如果我在工作副本中创建一个新文件并提交该文件(无需推送),那么diff将显示新文件已在FETCH_头中删除。
如何筛选此错误的删除消息