现有的答案都是在说从上次提交中去掉不需要的文件。
如果你想从旧的提交中删除不需要的文件(甚至推送),并且不想创建新的提交,这是不必要的,因为这个动作:
git日志——图形——装饰——一行
< code>git checkout
如果您想要删除许多文件,可以多次执行此操作。
3.
git commit-am“删除不需要的文件”
4.
找到错误添加文件的提交commit_id,让我们在这里说“35c23c2”
git rebase 35c23c2~1-i//注意:“~1”是必要的
此命令将根据您的设置打开编辑器。默认的一个是vim。如果要更改全局 git 编辑器,请使用;
git配置--globalcore.editor
5.
将最后一次提交(应该是“删除不需要的文件”)移到下一行不正确的提交(在我们的例子中是“35c23c2”)中,并将命令设置为< code>fixup
:
pick 35c23c2 the first commit
fixup 0d78b28 remove unwanted files
保存文件后,您应该很好。
6.
最后:
< code>git push -f
如果您不幸遇到冲突,您必须手动解决它们。
注意!如果您只想从以前的提交中删除一个文件,并将其保存在磁盘上,请阅读上面juzzlin的回答。
如果这是您的最后一次提交,并且您希望从本地和远程存储库中完全删除该文件,您可以:
git rm
修改标志告诉git再次提交,但“合并”(不是合并两个分支的意思)这个提交与最后一次提交。
如注释中所述,在这里使用< code>git rm
就像使用< code>rm命令本身一样!
我认为这里的其他答案是错误的,因为这是一个将错误提交的文件从前一次提交移回暂存区域的问题,而不取消对它们所做的更改。这可以像Paritosh Singh建议的那样完成:
git reset --soft HEAD^
或
git reset --soft HEAD~1
然后重置不需要的文件,以便将它们从提交中排除(旧方法):
git reset HEAD path/to/unwanted_file
请注意,从Git 2.23.0
开始,人们可以(以新的方式):
git restore --staged path/to/unwanted_file
现在再次提交,您甚至可以重复使用相同的提交消息:
git commit -c ORIG_HEAD
问题内容: 我正在尝试从表中删除很多行。我想尝试将要删除的行放入游标中,然后继续对游标的每一行进行获取,删除,提交操作,直到它为空。 在下面的代码中,我们是行,并将其放入。 我如何修改下面的代码以从图片中删除TYPE,而只是简单地对光标本身进行操作即可。 问题答案: 为什么要分批提交?那只会减慢您的处理速度。除非有其他会话试图修改要删除的行,否则由于其他原因,这似乎是有问题的,最有效的方法是简单地
下面是我面临的问题的一个简单例子。 简言之:提交初始容器并从提交的容器创建新容器后,将重新出现我从Docker容器中删除的文件。 我有以下Dockerfile: 我设置了一个卷并将一些文件复制到容器中。 docker-entrypoint.sh= docker-entrypoint-initdb.sh= delete-me.sh= 容器是使用comman
本文向大家介绍从PHP中的文件中删除最后一行,包括了从PHP中的文件中删除最后一行的使用技巧和注意事项,需要的朋友参考一下 从文件中删除最后一行是一个简单的过程,只需几行代码即可完成。 此脚本中方法的局限性在于,如果文件很大,则将整个文件传递到数组中将占用大量内存,从而有可能导致服务器崩溃。最好的方法不是执行此操作,而是从文件末尾开始直到找到第一个换行符为止。以下脚本将一次咬掉50个字符,直到找到
我正在使用gradle构建一个Spring Boot应用程序,我希望从war中删除文件,因为该文件将从外部加载(它运行在tomcat容器中,而不是嵌入式的)。 我查看了StackOverflow和Gradle文档,试图找出该做什么,但我不知道该绑定到哪个阶段,以及在创建war之前还是之后排除该文件。处理文件似乎也有多种方法。 我相信Maven使用作为等价物。
我一直在使用pandas导入CSV,但每次尝试使用它时,我都会得到一个随机的额外行,这会导致代码中的错误。我如何完全抹去这一行? 我用来导入它的代码是:import itertools import copy import networkx as nx import pandas as pd import Matplotlib.pyplot as plt import csv 我的表是一个简单的I
问题内容: 我有一个像这样的textfile.txt: 如何删除最舒适的前三行和最后一行? 问题答案: