我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没跑呢git commit
。我如何撤销这些修改,使这些修改不包含在承诺中?
我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没跑呢git commit
。我如何撤销这些修改,使这些修改不包含在承诺中?
当前回答
对于特定文件 :
- git 重置我的文件_ file. txt
- git 检出我的文件. txt
对于所有添加的文件 :
- git 重置 。
- Git退房。
注:退出更改文件中的代码, 并移动到上次更新( 承诺) 状态 。重设重置代码不会改变,它只是重置信头。
其他回答
如上文所述,从中转区删除新文件(仅在出现新文件的情况下):
git rm --cached FILE
使用 rm -- -- 刻录仅用于新文件不小心添加 。
正如其他人在相关问题中所指出的(见A/CN.9/WG.III/WG.II),在这里, 在这里, 在这里, 在这里, 在这里, 在这里, 和在这里现在可以了取消一个单独的文件与:
git restore --staged <file>
和取消所有文件以下列方式写成:
git restore --staged .
git restore
于2019年7月以2.23版本发布。
与--staged
旗帜, 它会恢复索引的内容( 在此询问什么 ) 。
运行时git status
与 Saged 未经发送文件一起, Git 现在建议用这个来解开 Page 文件( 而不是git reset HEAD <file>
在 v2.23 之前使用过。
撤消撤消git add
用于未承诺更改的更改 :
git reset <file>
这将将文件从当前索引( “ 即将被承诺” 列表) 中删除, 而不更改其它内容 。
取消所有文件的所有更改 :
git reset
在旧的 Git 版本中,上述命令相当于git reset HEAD <file>
和git reset HEAD
或将失效,如果HEAD
未定义(因为你尚未在仓库中做出任何承诺)或模糊(因为你创建了一个分支,称为:HEAD
这是你不该做的蠢事在Git 1.8.2中更改。,所以在现代版本的 Git 中,你可以使用上面的命令,甚至在你第一次做出承诺之前:
当您在历史中没有任何承诺时, “ 将重置” (没有选项或参数) 用于错误退出, 但它现在给了您一个空索引( 匹配不存在的重置, 您甚至没有在 ) 。
文 件:git 重设
此命令将卸载您的更改 :
git reset HEAD filename.txt
您也可以使用
git add -p
以添加文件的部分。