我已经完成了"git reset --soft HEAD^"
以摆脱一些文件提交,但我有一些问题。git status显示修改后的文件,但git diff没有显示任何内容
命令"git status"
显示文件列表(修改为绿色)。但如果我想用命令"git diff"
显示更改,git什么都不显示。 另外,当我试图恢复"git checkout <FILE>"
所做的更改时,它没有任何结果。
如果我打开这些文件中的任何一个,我会看到我的更改。
我已经完成了"git reset --soft HEAD^"
以摆脱一些文件提交,但我有一些问题。git status显示修改后的文件,但git diff没有显示任何内容
命令"git status"
显示文件列表(修改为绿色)。但如果我想用命令"git diff"
显示更改,git什么都不显示。 另外,当我试图恢复"git checkout <FILE>"
所做的更改时,它没有任何结果。
如果我打开这些文件中的任何一个,我会看到我的更改。
我已经完成了“git reset --soft HEAD ^”来摆脱一些文件提交,但我有一些问题。 命令“git status”显示文件列表(修改为绿色)。
根据文档此预期的行为:
--soft
不触及索引文件或所有工作树(但头重置,就好像所有的模式做)。这会使所有 更改文件“更改为提交”,因为git状态会将其放入 它。
在未来使用--mixed
标志,将文件移动到没有上演区
git reset --mixed HEAD^
或者只是:
git reset HEAD^
因为--mixed
默认使用
的当前s可通过以下方式修复计算:
git reset HEAD -- <file>
这将使文件不分离。或者没有-- <file
适用于所有文件。
或使用git diff --cached
来显示分级文件的差异。
此外,当我试图恢复被改变“混帐结账”它没有给出结果。
git checkout <FILE>
如果文件未分离则工作。
git reset --soft
将文件保留为分段,因此您需要使用git diff --cached
来显示分段更改的差异。
它的工作原理。但我仍然需要恢复一些文件。 – Marcin 2015-04-03 07:40:02
谢谢。我做'git reset HEAD ^'(没有--soft),所有的命令(diff,checkout)按我的预期工作。 – Marcin 2015-04-03 07:43:36