当前位置: 首页 > 知识库问答 >
问题:

从最新提交中删除文件

司空修贤
2023-03-14

如何从最新提交中删除文件

共有3个答案

寿子默
2023-03-14

现有的答案都是在说从上次提交中去掉不需要的文件。

如果你想从旧的提交中删除不需要的文件(甚至推送),并且不想创建新的提交,这是不必要的,因为这个动作:

  1. 找到您希望文件符合使用的提交;

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

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

宗项禹
2023-03-14

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

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

  1. 删除文件 git rm

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

如注释中所述,在这里使用< code>git rm就像使用< code>rm命令本身一样!

慕健
2023-03-14

我认为这里的其他答案是错误的,因为这是一个将错误提交的文件从前一次提交移回暂存区域的问题,而不取消对它们所做的更改。这可以像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: 如何删除最舒适的前三行和最后一行? 问题答案: