如何使用 git filter-repo 修改远程历史记录?

2024-01-01

过去我用过git filter-branch从我的 git 历史记录中删除文件。接下来,我可以强制推送来更新远程存储库。例如,从本地存储库中删除所有 HTML 文件,然后重写远程文件以反映更改:

$ git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch -r \*.html' --prune-empty -- --all
$ git push origin --force --all

这工作得很好。但看成filter-branch非常慢并且已经被弃用了一段时间,我想这样做git-filter-repo反而。到目前为止,这似乎是等效的命令:

$ git-filter-repo --force --path-glob *.html --invert-paths

这第一步似乎有效。我的问题是,当我之后尝试用力推动时,我发现我的遥控器丢失了。

$ git push origin --force --all
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

当我检查时,filter-repo 命令似乎已删除我的远程 URLgit remote -v。手动添加回遥控器让我陷入了其他设置无效的困境。

为什么git-filter-repo删除我的遥控器?我如何使用重写遥控器的历史记录git-filter-repo就像我能做到的git filter-branch?


为什么 git-filter-repo 会删除我的遥控器?

文档 https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html在标题为的部分中解释了他们的推理内部结构 https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html#INTERNALS:

  1. 我们不希望用户意外推回原始存储库,如中所述讨论 https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html#DISCUSSION。它还提醒用户,由于历史已被重写,此存储库不再与原始存储库兼容。最后,另一个小好处是,这允许用户使用--mirror选择他们的新家,而不会意外发送远程跟踪分支。

如何使用 git-filter-repo 重写远程历史记录,就像使用 git filter-branch 一样?

只需使用git remote add to put origin返回,或者——因为命令序列中的步骤 3 是git remote rm origin—just rename origin首先改成其他名字。但如果您这样做,请注意步骤 2。

你说:

手动添加回遥控器让我陷入了其他设置无效的困境。

显然,您需要在这里详细说明。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 git filter-repo 修改远程历史记录? 的相关文章

  • 显示 master 之前/之后有多少提交分支的别名

    新的 Bitbucket Branches 页面非常棒 它显示每个分支领先 落后于 master 的提交数量 是否有显示相同信息的 Git 别名 信息应显示 分店名称 上次更新是什么时候 其背后有多少提交 有多少提交领先于 master 看
  • 使用 gitignore 嵌套存储库。

    我想嵌套 2 个 git 存储库 我一直在阅读子模块 有一段时间我认为它很棒 我想我可能想要其他东西 这是我的情况 首先 我想我应该提到我的所有服务器都托管网站 并以 staging domain com 和 domain com 实时 模
  • Git 无法识别重命名和修改的包文件

    我有一个名为的java文件package old myfile java 我已经通过 git 提交了这个文件 然后我将我的包重命名为new所以我的文件在package new myfile java 我现在想将此文件重命名 和内容更改 提交
  • VSTS:在构建过期的情况下自动变基/合并和重新排队构建验证门

    我们最近对 PR 上的构建验证门进行了更改 这样 如果另一个提交在当前 PR 完成之前进入主分支 则构建会 立即 过期 看here https stackoverflow com questions 49418800 vsts invali
  • MSysGit 与 Windows 版 Git

    我无法确定MSysGit 和 Windows 版 Git 之间的区别 http msysgit github com 它们有何不同 为什么我会选择其中之一而不是另一个 它们不是同一个东西吗 On http msysgit github co
  • Git - 远程:错误:无法运行钩子/后接收:没有这样的文件或目录

    我收到错误 remote error cannot run hooks post receive No such file or directory 当尝试推送到远程时 接收后文件存在于正确的位置 testnew git hooks 并包含
  • 如何使用 git 比较不​​在存储库中的两个文件

    我想比较两个不在任何 git 存储库中的 css 文件 git中有这样的功能吗 git的 diff 比标准 Unix 更实用diff 我经常想这样做 并且由于这个问题在谷歌上排名很高 所以我希望这个答案出现 这个问题 如何使用git dif
  • Git:如何正确合并两个功能完全不同的分支?

    想象一下这样一种情况 同一个项目有两个分支 第一个分支的一部分对另一个分支进行了大幅重构 但有一段时间 您需要保持两个分支的功能 因此您需要对两个分支进行错误修复和关键功能添加 有时是以不对称的方式 在某些时候 您必须将重构的分支合并到原始
  • 有没有办法导入/导出容器绑定脚本

    我有一个插件 它使用 appscripts gs 以及 html js 和 css 文件 目前我们所做的是我们有一个参考 Google 文档 其中有一个脚本项目包含所有这些源代码 但是除了手动复制和粘贴之外 没有办法在 GIT 中保留源代码
  • 删除并在另一个文件夹中重新创建后保留文件的 Git 历史记录

    我有以下场景 删除了提交 1 中名为 src GetData cs 的文件 在提交 5 中创建了一个名为 src Get GetDataNew cs 的文件 在提交 7 中将 2 中的文件重命名为 src Get GetData cs 1
  • 为什么“git pull”在我的网络服务器上失败?

    我使用 git 来提取站点代码库的更改 文件内部的更改和文件删除是有效的 但是 当我将新文件或目录 不是空的 添加到存储库时 它不会被本地拉到网络服务器 拉动时不会显示错误消息 但在检查该文件时 它不在那里 在线的 bitbucket re
  • 如何仅根据拉取请求在 Jenkins 中运行阶段?

    我现在有一个基于 Jenkinsfile 的管道 其中包含多个阶段 每次提交到 Github 时都会由 webhook 触发 我想在每次提交时保持 构建 和 单元测试 阶段运行 但仅在分支准备拉取请求时运行 集成测试 阶段 我想要的是 st
  • 仅使用 git 存储未暂存的更改(不是 --keep-index)

    首先 我确实知道 keep index 这不是我想要的 因为它仍然隐藏着all更改 但将暂存的更改保留在工作树中 如果可能的话 我只想存储未暂存的文件 而无需再次添加所有更改git stash patch 如果您想存储索引 已暂存的内容 和
  • 如何在多个不同的分支上工作,以便我可以在它们之间轻松切换?

    有没有办法在 GIT 中处理同一个文件但不同的功能 分支 我确信有办法 但最简单的方法是什么 我不想隐藏我的更改 因为这很麻烦 借助 SVN 我能够将 2 个独立的分支作为 2 个不同的实体进行工作 无需任何干预 并且可以轻松在两者之间切换
  • 使用 git 合并两个截然不同的分支?

    我有我的master分支和我的verydifferentbranch它们有相同的祖先 大约 300 次提交前 现在verydifferentbranch功能完整我想把它放在master下面branch 进行变基会导致每个补丁都有很多合并冲突
  • Git Hook - 在我推送到 github 后让服务器拉取

    我有一个本地存储库 并且我在实时服务器上设置了另一个存储库 www site com projects ProjectA 我想要实现的目标非常简单 在我推送到 GitHub 后 我想要存储库位于www site com projects P
  • 如何应用 .diff 文件

    我有一个 diff 类型文件 看起来像爆炸了 diff git a res User lua b res User lua index db8c2cc 4d2af0f 100644 a res User lua b res User lua
  • 如何从现有存储库中的分支创建新的 GitHub 存储库?

    I have master and 新项目分支机构 现在我想创建一个全新的存储库及其基于新项目分支的主存储库 背景 我有一个存储库 其中包含三个独立的应用程序 事情并不是这样开始的 仓库中最初只有一个应用程序 然而 随着时间的推移 业务需求
  • 为什么 git 默认执行快进合并?

    来自 Mercurial 我使用分支来组织功能 当然 我也希望在我的历史中看到这个工作流程 我使用 git 开始了我的新项目并完成了我的第一个功能 当合并该功能时 我意识到 git 使用快进 即如果可能的话 它会将我的更改直接应用到主分支
  • Git:repo 包含一个空目录 - 会发生什么?

    Git 跟踪文件 而不是目录 https stackoverflow com questions 5091017 和我们目前不能add空目录 https stackoverflow com questions 11600188 The 标准

随机推荐

  • Python-多处理错误“无法启动进程两次”

    我尝试使用开发一种算法multiprocessingPython 中的包 我从互联网上学习了一些教程 并尝试用这个包开发一个算法 环顾四周并尝试使用我的 hello world 后Process Queue and Pool 我尝试在此代码
  • 茉莉花模拟ajax与JSON

    我尝试模拟 存根我的 ajax 调用 但看起来它只适用于文本 当我尝试使用对象设置响应时 不会调用我的完成回调 jasmine Ajax stubRequest some url 1 andReturn responseText respo
  • 具有自定义边框颜色的 UIButton,iPhone

    我想创建矩形的自定义 UIButton 为此 我使用矩形视图作为 UIButton 的背景 并将 UIbuttons 背景颜色设置为clearcolor 但 UIbutton 的边框仍然保留 关于如何使边框消失有什么建议吗 感谢您提前提供任
  • 如何通过TcpClient获取页面?

    我正在尝试通过 TCP 流向页面发送 GET 请求 我的代码如下所示 public class SocketLevelWebClient public string SendWebRequest string url string requ
  • 推送通知不起作用

    我是安卓新手 我已经尝试过文档中给出的示例 但我没有收到任何推送通知 只有收到通知图标 但没有内容和标题 谁能帮我清关吗 推送通知在模拟器中是否有效 在此示例中 我找到了一个名为 Resultactivity 的类 使用此的目的班级 我给出
  • 通过 as.character() 将列表强制为字符时为什么会出现这种行为?

    在 大部分 回答的过程中this https stackoverflow com q 7591295 324364问题 我偶然发现了一些我觉得我之前应该已经看过的东西 假设您有一个列表 l lt list a 1 3 b letters 1
  • 从未引用的程序集加载时,Application.LoadComponent 失败

    我有一个 WPF 应用程序 需要能够加载预定义的UserControl基于 Uri 我在用着Application LoadComponent Uri 来做到这一点 但它现在正在抛出一个IOException with Cannot loc
  • Fabric.js 逐像素操作 Image 对象来改变颜色

    我想获取 Fabric Image 对象的图像数据 以循环遍历每个像素 并在给定颜色为另一种给定颜色时更改其颜色 但是我不想获取整个画布的数据 仅针对该特定对象 像这样的东西 changeColor object targetColor r
  • 如何在openpyxl图表中显示日期格式

    我有一个Excel文件 Excel 内容 我使用openpyxl绘制图表 但显示的日期格式不正确 Chart my code from openpyxl import load workbook from openpyxl import W
  • 如何操作Webkit窗口内的页面内容(使用QT和QTWebKit)?

    请帮助我理解 如何操作 qt webkit 窗口中显示的 html 内容 我需要简单的操作 例如填写输入字段和单击按钮 有这方面的建议 文章吗 请查看下面的示例 它用QWebView http chaos troll no tavestbo
  • 批处理脚本使setlocal变量被其他批处理文件访问

    我正在编写一个批处理文件来从文件中读取路径并将其设置为环境变量 该批处理文件将被许多其他批处理文件使用 调用 来获取变量 在编写批处理文件时 我遇到了变量扩展的问题 所以我使用了SETLOCAL ENABLEDELAYEDEXPANSION
  • 当我使用 GM_setValue 时,Greasemonkey/Tampermonkey 对我的 jQuery 对象做了什么?

    我正在尝试使用以下命令将 DOM 元素选择到 Tampermonkey 变量中GM setValue 以便稍后在不同页面上注入 我创建了一个示例 我可以使用普通 jQuery 来执行此操作 clone 但是当我将其设置为 Tampermon
  • Python 中的协程:最佳实践

    我想知道在 Python 3 中编写协程的最佳实践是什么 我正在开发基本方法 这些方法应该接受一些输入 使用 send 方法 对此输入执行计算 然后产生输出 我发现的第一种方法基本上是执行以下操作 def coroutine func da
  • 如何从 Access 中的对象获取准确的 LastUpdated 日期/时间?

    我正在尝试检索最近更新时间来自 Access 对象的日期 有时它返回 DateCreated 值 我看到相同的查询结果MSys对象 SELECT MSysObjects Name Switch Type 5 Query Type 32768
  • 如何在 UITests 下对单元格重新排序?

    随着UITests and UITableView我需要对单元格重新排序 是否可以 我试过myTable swipeDown 但它是在不响应重新排序的单元格中调用的 我怎样才能做到这一点 有可能吗 如果您已正确设置自定义单元格集的辅助功能属
  • 从多维数组中的特定列获取数组值[重复]

    这个问题在这里已经有答案了 该数组看起来像 arr array array a b array c d array e f 我想获取一个包含第一列中的值的数组 例如array a c e 我知道可以通过迭代数组并将值存储在另一个数组中来轻松
  • iOS 7 上 UITextview 撤消时出现奇怪的崩溃

    我收到了一堆崩溃报告 它们看起来很像下面的内容 但范围值不同 有时范围不是 0 x 而是 2 x 应用具体信息 由于未捕获的异常 NSRangeException 而终止应用程序 原因 NSBigMutableString substrin
  • Visual Studio 智能感知无法在一个 .ascx 文件中工作

    我在 ASP NET MVC 项目的同一文件夹中有两个 ascx 文件 其中之一智能感知工作正常 在另一种情况下 它根本不起作用 有任何想法吗 这些文件非常相似 顶部有相同的 control 定义 使用VS2008和C 尝试重建您的项目 智
  • 使用 FTPClient Java 检索文件内容

    我使用commons FTPCLIENT 我只想从 ftp 服务器获取文件内容 我不想将其写入临时文件 有什么办法可以做到这一点吗 fileoutputstream 应始终指向本地文件 提前致谢 Use FTPClient retrieve
  • 如何使用 git filter-repo 修改远程历史记录?

    过去我用过git filter branch从我的 git 历史记录中删除文件 接下来 我可以强制推送来更新远程存储库 例如 从本地存储库中删除所有 HTML 文件 然后重写远程文件以反映更改 git filter branch force