gpt4 book ai didi

java - JGIT:git 结账 --

转载 作者:太空宇宙 更新时间:2023-11-04 06:47:13 26 4
gpt4 key购买 nike

我有一个未暂存的修改文件,我想放弃更改。

在 git 中它会是这样的

git checkout -- .

如何使用 JGit 模拟此行为?

提前致谢。

最佳答案

要恢复单个文件,您可以使用 CleanCommand:

Set<String> paths = new HashSet<String>();
paths.add( ... );
git.clean().setPaths( paths ).call();

不幸的是有一个bug防止 CleanCommand 重置子目录中的文件。

如果我解释“.”在git checkout -- .正确地,您想要恢复工作目录中的所有更改。 ResetCommand 的作用是:

git.reset().setMode( ResetType.HARD ).call();

这也会用 HEAD 中的内容覆盖索引。

如果你不关心索引,你也可以从 HEAD 提交中读取文件内容,然后自己将它们写入工作目录。如果您对此感兴趣,请告诉我,我将尝试编写一个片段来实现这一点。

关于java - JGIT:git 结账 --,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23819900/

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