我已经完成"git reset --soft HEAD^"
从提交中删除了一些文件,但是我遇到了一些问题。
命令"git status"
显示文件列表(已修改 - 绿色)。但是,如果我想用命令"git diff"
显示更改,git什么都不显示。
此外,当我尝试按"git checkout <FILE>"
还原更改时,它不会产生任何结果。
如果我打开任何这些文件,我会看到我的更改。
答案 0 :(得分:2)
我做过&#34; git reset --soft HEAD ^&#34;从提交中删除一些文件,但我有一些问题。 命令&#34; git status&#34;显示文件列表(已修改 - 绿色)。
根据文档的预期行为:
- 软
根本不触摸索引文件或工作树(但将头重置为,就像所有模式一样)。这留下了所有 你改变的文件&#34;要提交的更改&#34;,就像git状态一样 它
将来使用--mixed
标志将文件移动到非分段区域
git reset --mixed HEAD^
或者只是:
git reset HEAD^
因为默认使用--mixed
目前的情况可以通过以下方式解决:
git reset HEAD -- <file>
这将使文件不受限制。或者没有-- <file
适用于所有文件。
或使用git diff --cached
显示分阶段文件的差异。
当我尝试通过&#34; git checkout&#34;恢复更改时它没有结果。
git checkout <FILE>
适用于文件未分页的情况。
答案 1 :(得分:1)
git reset --soft
将文件保留为暂存状态,因此您需要使用git diff --cached
来显示暂存更改的差异。