我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没有执行 git 承诺 。 我如何撤销此操作, 使这些更改不被包含在承诺中 ?
我使用命令错误地将文件添加到 Git :
git add myfile.txt
我还没有执行 git 承诺 。 我如何撤销此操作, 使这些更改不被包含在承诺中 ?
当前回答
如上文所述,从中转区删除新文件(仅在出现新文件的情况下):
git rm --cached FILE
使用 rm -- -- 刻录仅用于新文件不小心添加 。
其他回答
要撤销 git 添加, 请使用 :
git reset filename
使用 * 命令来一次处理多个文件 :
git reset HEAD *.prj
git reset HEAD *.bmp
git reset HEAD *gdb*
等
我将使用 git 恢复 -- paged. 或 git 恢复 -- paged < filename >
您也可以使用 git rm -- ccared, 但是, git rm 命令最好用于已经跟踪的文件 。
问题未明确提出。 原因是Git添加有两个含义:
将新文件添加到中转区, 然后用 git rm -- checked 文件撤消。 向中转区添加一个修改过的文件, 然后用 git 重置 HEAD 文件撤消 。
如果有疑问,使用
git reset HEAD file
因为它在两种情况下都做了预期的事
警告: 如果您在已修改的文件上做了 git rm -- checked 文件( 之前在仓库中存在过的文件) , 文件将会在 git 承诺时被删除 ! 它将仍然存在于您的文件系统中, 但是如果有其他人拉动您的执行, 文件将会被从工作树上删除 。
git status 会告诉您文件是新文件还是已修改 :
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: my_new_file.txt
modified: my_modified_file.txt
git 添加我的文件. txt # 这将将您的文件添加到待发列表中
与这个命令完全相反的是,
git reset HEAD myfile.txt # This will undo it.
因此,您将处于上一个状态。指定的状态将再次出现在未跟踪的列表中(先前的状态)。
它会用指定的文件重置你的头。 所以, 如果您的头没有它意味着, 它只会重置它 。