我正在使用Git,我已经用以下方法提交了一些文件
git commit -a
后来,我发现有一个文件被错误地添加到了提交中。
怎样才能从最后一次提交中删除一个文件?
注意!如果你只想从之前的提交中删除一个文件,并将其保留在磁盘上,请阅读上面的juzzlin'的回答。
如果这是你的最后一次提交,你想**从本地和远程版本库中完全删除该文件,你可以。
1.删除该文件 git rm。 2.用修正标志提交:git commit --amend。
git rm
git commit --amend
amend标志告诉git再次提交,但要将这次提交与上次提交合并(不是合并两个分支的意思)。
正如评论中所说,在这里使用git rm就像使用rm命令本身!"。
rm
如果你没有在服务器上推送更改,你可以使用
git reset --soft HEAD~1
它将重置所有的修改,并恢复到一次提交后的状态
如果你已经推送了你的修改,那么请按照@CharlesB的回答进行操作。
使用rm删除文件,就会删除它!
在git中,你总是在添加提交内容,而不是删除,所以在这种情况下,将文件返回到第一次提交之前的状态(如果文件是新的,这可能是一个删除'rm'的动作),然后重新提交,文件就会消失。
要把文件返回到以前的某个状态。
git checkout <path_to_file>
或将其返回到远程HEAD的状态。
git checkout origin/master <path_to_file>
然后修改提交,你会发现该文件已经从列表中消失了(而不是从你的磁盘中删除!)。
注意!如果你只想从之前的提交中删除一个文件,并将其保留在磁盘上,请阅读上面的juzzlin'的回答。
如果这是你的最后一次提交,你想**从本地和远程版本库中完全删除该文件,你可以。
1.删除该文件
git rm
。 2.用修正标志提交:git commit --amend
。amend标志告诉git再次提交,但要将这次提交与上次提交合并(不是合并两个分支的意思)。
正如评论中所说,在这里使用
git rm
就像使用rm
命令本身!"。如果你没有在服务器上推送更改,你可以使用
它将重置所有的修改,并恢复到一次提交后的状态
如果你已经推送了你的修改,那么请按照@CharlesB的回答进行操作。
使用rm删除文件,就会删除它!
在git中,你总是在添加提交内容,而不是删除,所以在这种情况下,将文件返回到第一次提交之前的状态(如果文件是新的,这可能是一个删除'rm'的动作),然后重新提交,文件就会消失。
要把文件返回到以前的某个状态。
或将其返回到远程HEAD的状态。
然后修改提交,你会发现该文件已经从列表中消失了(而不是从你的磁盘中删除!)。