从Git提交中删除文件

我正在使用Git,并且已经使用了一些文件


git commit -a

后来,我发现一个文件被错误地添加到提交中。


如何从上一次提交中删除文件?


哔哔one
浏览 1550回答 3
3回答

婷婷同学_

注意!如果您只想从先前的提交中删除文件,并将其保存在磁盘上,请阅读上面的juzzlin答案。如果这是您的最后一次提交,并且您想从本地和远程存储库中完全删除文件,则可以:删除文件 git rm <file>提交带有修改标志: git commit --amendamend标志告诉git再次提交,但是将“ commit”(不是合并两个分支的意思)与最后一次提交“合并”。如注释中所述,git rm此处使用就像使用rm命令本身!

收到一只叮咚

现有的答案都在谈论从上一次提交中删除不需要的文件。如果要从旧提交(甚至推送)中删除不需要的文件,并且不想创建新提交,则由于该操作,这是不必要的:1。查找您要文件符合的提交。git checkout <commit_id> <path_to_file>如果要删除许多文件,可以多次执行此操作。2。git commit -am "remove unwanted files"3。找到错误添加了文件的提交的commit_id,在这里说“ 35c23c2”git rebase 35c23c2~1 -i&nbsp; // notice: "~1" is necessary该命令根据您的设置打开编辑器。默认值是vim。将最后一个提交(应为“删除不需要的文件”)移动到错误提交的下一行(在本例中为“ 35c23c2”),并将命令设置为fixup:pick 35c23c2 the first commitfixup 0d78b28 remove unwanted files保存文件后应该会很好。完成 :git push -f如果不幸遇到冲突,则必须手动解决。
打开App,查看更多内容
随时随地看视频慕课网APP