3 回答
TA贡献1844条经验 获得超8个赞
注意!如果您只想从先前的提交中删除文件,并将其保存在磁盘上,请阅读上面的juzzlin答案。
如果这是您的最后一次提交,并且您想从本地和远程存储库中完全删除文件,则可以:
删除文件 git rm <file>
提交带有修改标志: git commit --amend
amend标志告诉git再次提交,但是将“ commit”(不是合并两个分支的意思)与最后一次提交“合并”。
如注释中所述,git rm此处使用就像使用rm命令本身!
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
如果不幸遇到冲突,则必须手动解决。
- 3 回答
- 0 关注
- 1543 浏览
添加回答
举报