当前位置: 首页 > news >正文

南沙滩网站建设安徽网站排名优化公司

南沙滩网站建设,安徽网站排名优化公司,网站漂浮图怎么做,学校的网站怎么做的问题: 在Git提交版本,有时有些小版本相比较于后续的大版本,都会包含,且后续存在的意义不太大,一般认为是可以删除的。或者,中间一些版本有问题但是也提交了,拉取这些版本根本没用,这…

问题:

在Git提交版本,有时有些小版本相比较于后续的大版本,都会包含,且后续存在的意义不太大,一般认为是可以删除的。或者,中间一些版本有问题但是也提交了,拉取这些版本根本没用,这些版本也可以或者应该删除。那么,怎么删除指定版本呢?删除后Git版本流会是什么样的结构呢?

下面是查到的一些方法:

1、使用git revert

以下来自百度文心快码。部分文字可能有些不通。

git revert命令详解

git revert是一个Git命令,用于撤销一些现有的提交,并记录一些新的提交以反映这些更改的撤销。它不是从项目历史记录中删除提交,而是通过创建相反内容的新提交来撤销指定的更改,这有助于维护修订历史记录的完整性。

一、基本语法

bash

git revert <commit>...

这里的<commit>是你想要撤销的提交的哈希值或引用,你可以指定一个或多个提交。

二、常见用法

  1. 撤销最新提交

bash

git revert HEAD

这会撤销你最近的提交,并创建一个新的提交来反映这一撤销。

  1. 撤销前一次提交

bash

git revert HEAD^

HEAD^表示上一次提交,所以这条命令会撤销上一次提交。

  1. 撤销多个连续的提交

如果你想要撤销多个连续的提交,可以使用以下命令:

bash

git revert commit_id_start..commit_id_end

这里commit_id_start是你想要开始撤销的提交的哈希值,commit_id_end是你想要结束撤销的提交的哈希值(不包括这个提交本身)。注意,这个范围是左闭右开的。

如果你想要撤销多个不连续的提交,你需要为每个提交分别执行git revert命令。

三、选项

  1. --edit 或 -e:允许你在提交撤销更改之前编辑提交消息。默认情况下,这个选项是启用的,除非你使用了--no-edit选项。
  2. --mainline parent-number 或 -m parent-number:当你处理一个具有多个父提交的提交(例如,由git merge创建的合并提交)时,这个选项允许你指定哪个父提交应该被视为主线。

四、注意事项

  1. 在执行git revert之前,请确保你的工作目录是干净的,即没有未提交的更改。
  2. git revert会创建一个新的提交来撤销先前的更改,所以你的提交历史会保留下来。
  3. 如果你想要丢弃工作目录中的所有未提交更改,应该使用git reset命令,特别是--hard选项。但是请注意,这将会改变你的提交历史。

五、示例

假设你有以下的提交历史:

text

* abc1234 (HEAD -> master) Merge feature-branch into master

* d7e6b2d (feature-branch) Add new feature

* 3a6c0f2 (master) Initial commit

其中,abc1234是一个合并提交,feature-branch被合并进了master。现在,你想撤销这个合并提交,并希望保留master分支的变更,因此使用命令:

bash

git revert -m 1 abc1234

这个命令会创建一个新的提交,撤销合并操作中的更改,实际上它将会恢复到abc1234合并之前的状态,但历史记录仍会保留合并提交。新的提交将会与abc1234之后的提交一起继续保留在历史中。

小结:

        个人感觉,revert的意思是回滚、恢复。并不是删除,使用后即是回滚到指定版本之前的版本,只不过,回滚并不删除指定版本及之后已经提交的版本在Git中的记录?那么,这种回滚只适用于某个版本之后的版本后续可能不需要用的情况吧。而不是开篇问题提到的,只是将某个版本删除,版本库的最好这个版本记录都没有了,而且,其他的版本都不影响,即,这个版本之后提交的版本,依然按顺序全部保留。

个人感觉revert不满足要求。

2、DeepSeek给出的一种:

 使用 git filter-repo 彻底清除提交

(适用于删除含敏感信息的大文件或提交)

bash

# 安装 git-filter-repo
pip install git-filter-repo# 删除指定提交(如 abc123)
git filter-repo --invert-paths --commit abc123# 强制推送清理后的仓库
git push origin --all --force

尝试,没效果。第一步安装没问题,第二步,报语法错误,不成功。第三步执行时,报不需要推送,没有更新。回到远程Git分支看,提交记录确实没有变化。

总结:

那么,是Git没有这种操作么?不允许?还是没找到办法,未完,继续探索中。

http://www.dtcms.com/a/425434.html

相关文章:

  • 扬州网站开发公司wordpress添加分类图片
  • 微网站备案做教育网站挣钱
  • 一般企业网站3年多少钱建网站公司锦程
  • 设计参考图网站腾讯企点下载安装
  • 东莞网站建设时间网站建设mingxinsh
  • wordpress建站赚钱如何建设一个社交网站
  • 江门找人做网站排名黑群晖 frp wordpress 访问
  • 阿里云新增网站如果用局域网做网站
  • 受欢迎的常州做网站网路神做网站怎么样
  • 微信小程序开发平台官网宁波网站运营优化系统
  • 用数据库代码做家乡网站陇南市建设局网站公示
  • 网站的域名和密码怎么查看网站用的php还是.net
  • 爱ppt网站广州官方发布
  • 做网站的相关规定ipc网站备案查询
  • 汕头制作网站软件腾讯网
  • 对于网站链接优化有哪些建议网站抓取QQ获取系统
  • 苏州网站小程序app开发公司做相册哪个网站好
  • 郑州网站制作汉狮网络东莞网站排名优化seo
  • 桂林哪里可以做网站企业网站设计制作
  • 手工艺品网站建设方案企业注册地址怎么查
  • 虹口 教育 网站建设网站建设风景课程设计报告
  • 互联网网站建设哪家好服装公司网站建设策划
  • 网站后台上传附件福州制作公司网站
  • 网站开发需要干什么深圳市宝安区中心医院
  • 电大形考任在哪个网站做宁德市住房和城乡建设局网站打不开
  • 网站建设与网页设计制作学动漫有什么出路
  • 如何免费建设网站com最新清远发布
  • 山西响应式网站建设设计企业产品展示网站源码
  • 云龙网站开发廊坊网站制作系统
  • 低价高端网站设计瓦力工厂少儿编程加盟