我要unstage文件,但不是打字:这个“git reset”命令是做什么的?
git reset file.sh
我输入:
git reset file.sh head
输出功率为:
Unstaged changes after reset:
M path/file1
M path/file2
M path/file2
....
^C
我从git的文档知道git的复位有三种形式
git reset [-q] [<tree-ish>] [--] <paths>...
git reset (--patch | -p) [<tree-ish>] [--] [<paths>...]
git reset [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]
但我的命令不符合三种形式中的任何一种。
我的问题是:这里发生了什么?为什么命令在我所有的存储库上运行?
编辑:其实,file.sh存在,但头没有。如果我使用
git reset existing.file nonexisting.file
它会改变指数existing.file,而忽略第二个文件,并显示不分阶段的文件的完整列表(正常,但导致了位恐慌)。
如果键入:
git reset nonexisting.file existing.file
就会失败。 http://paste.ubuntu.com/12780596/。
由于@sehe以指向正确的解决方案。
输出表示它。它将变化(到指定路径)取消。 – sehe
好的,但是我提供的参数呢?它是否忽略了“file.sh”和“head”部分? –
的可能的复制[你能解释一下“混帐复位”做简单的英语?](http://stackoverflow.com/questions/2530060/can-you-explain-what-git-reset-does-in-plain-英文) – shafeen