如何修改 GitKraken 中的提交以取消暂存文件?

How can I amend a commit in GitKraken to unstage a file?

我刚刚将三个文件提交给 Git(Class1.java、Class2.java 和 Config.xml)。然后我意识到我犯了一个错误,并且实际上并不想要 Config.xml 在那次提交中。现在我想修改我的提交并取消对 Config.xml 的更改,以便(修改后的)提交仅包含对 Class1.java 和 Class2.java.

的更改

这在 Git Gui 中很容易; select "Amend previous commit","Staged Changes (Will Commit)" 列表显示了上一次提交中更改的所有三个文件。我可以取消暂存 Config.xml 并提交。

但是在 GitKraken 中,当我检查 "Amend" 时,它没有显示上次提交的三个文件;它只是向我展示了一张白纸。没有明确的方法可以从我正在修改的提交中取消暂存其中一个文件。

我知道我可以使用命令行(或 Git Gui)。但是有什么方法可以从 GitKraken 修改之前的提交并简单地从中删除一个文件的更改吗?

你的观察是正确的:你不能。

据我所知,目前无法通过修改从提交中删除更改。您只能向提交添加其他更改(这当然可能会使您之前提交的某些更改无效)。正如您正确观察到的那样,这是因为当您检查 Amend 时 GK 没有向您显示之前的提交,您只能添加未暂存的更改。

纯 GK 解决方法是软重置到先前的提交和仅包含 Class1.javaClass2.java 的新提交。结果是一样的,因为修改也会创建一个新的提交。