为了账号安全,请及时绑定邮箱和手机立即绑定

从Git提交中删除文件

从Git提交中删除文件

Git
哔哔one 2019-10-23 15:09:29
我正在使用Git,并且已经使用了一些文件git commit -a后来,我发现一个文件被错误地添加到提交中。如何从上一次提交中删除文件?
查看完整描述

3 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

注意!如果您只想从先前的提交中删除文件,并将其保存在磁盘上,请阅读上面的juzzlin答案。


如果这是您的最后一次提交,并且您想从本地和远程存储库中完全删除文件,则可以:


删除文件 git rm <file>

提交带有修改标志: git commit --amend

amend标志告诉git再次提交,但是将“ commit”(不是合并两个分支的意思)与最后一次提交“合并”。


如注释中所述,git rm此处使用就像使用rm命令本身!


查看完整回答
反对 回复 2019-10-23
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

现有的答案都在谈论从上一次提交中删除不需要的文件。


如果要从旧提交(甚至推送)中删除不需要的文件,并且不想创建新提交,则由于该操作,这是不必要的:


1。


查找您要文件符合的提交。


git checkout <commit_id> <path_to_file>

如果要删除许多文件,可以多次执行此操作。


2。


git commit -am "remove unwanted files"

3。


找到错误添加了文件的提交的commit_id,在这里说“ 35c23c2”


git rebase 35c23c2~1 -i  // notice: "~1" is necessary

该命令根据您的设置打开编辑器。默认值是vim。


将最后一个提交(应为“删除不需要的文件”)移动到错误提交的下一行(在本例中为“ 35c23c2”),并将命令设置为fixup:


pick 35c23c2 the first commit

fixup 0d78b28 remove unwanted files

保存文件后应该会很好。


完成 :


git push -f

如果不幸遇到冲突,则必须手动解决。


查看完整回答
反对 回复 2019-10-23
  • 3 回答
  • 0 关注
  • 1543 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信