如何恢复使用策略=我们的合并?

2024-01-05

我正在使用一个存储库,其中几周前执行了合并,我们刚刚发现它使用了--strategy=ours标志(它应该使用 --strategy-option=ours 标志),因此不会对 HEAD 应用任何更改。但是,我们需要应用这些更改。 Git 已经识别出正在合并的分支以及分支历史记录中的提交。

这种合并不能使用以下方式恢复git revert -m ...

恢复和/或重新应用合并以更改文件的正确方法是什么?

master  A - B - E - F - G ---> L - M - N
             \     /
topic         C - D

合并提交(F)将是这种情况的罪魁祸首。


我已经找到了解决这个问题的办法。 Linus 在信中写了关于恢复错误合并的全部内容:如何恢复错误的合并 http://www.kernel.org/pub/software/scm/git/docs/howto/revert-a-faulty-merge.txt. The git merge --strategy=ours topic在我们的例子中并不是有意的。即使它是一个错误的合并,它也无法恢复,并且已经被推送了很长时间,与恢复合并提交具有相同的效果,而无法恢复恢复提交。

解决方案是签出主题分支,运行rebase --no-ff从第一次提交开始,然后将该分支合并回 master。

git checkout topic
git rebase -i --no-ff <C>
git checkout master
git merge topic

这产生了以下效果:

fixed–topic   C'–––D'––––––––––––––––––––-
             /                            \
master  A–––B–––E–––F–––G –––> L–––M–––N–––F2
             \     /
topic         C–––D

要真正深入了解这一点,请阅读这封信的最后部分如何恢复错误的合并 http://www.kernel.org/pub/software/scm/git/docs/howto/revert-a-faulty-merge.txt使用--no-ffrebase 选项来重新创建分支。

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

如何恢复使用策略=我们的合并? 的相关文章

  • “git rm --cached”、“git Restore --staged”和“git reset”之间有什么区别

    我遇到了以下三种方法来取消暂存由命令 git add 暂存的文件 git rm cached
  • 如何使用 libgit2 创建空提交?

    我一直在寻找libgit2 C API 参考 https libgit2 org libgit2 但我不知道如何模仿git commit allow empty libgit2 是否有内置方法来创建空提交 如果没有 git 如何在底层创建一
  • 如何让 git 和 copSSH 在正确的目录中查找密钥?

    我刚刚安装了 Windows 版 copSSH 当我启动它时 我得到一个目录C copSSH home Nick ssh其中有我的酒吧和私钥 当我通过 Cygwin bash 窗口访问此目录时 使用 ssh 用户 主机 我很高兴地登录了 但
  • 如何使用 git hook pre-merge-commit 获取原始合并分支名称

    我正在尝试使用新的 git hook pre merge commit 创建一个特定的脚本 但它没有参数 有什么解决方法可以让我获得正在合并的分支的名称吗 例子 在分支 myBranch 上 我调用 git merge testingBra
  • git 命令显示所有(轻量级)标签创建日期

    是否有一个衬垫可以向我显示所有 git 轻量级标签的创建日期 就像是 git show tags format date 我在这个发现link http osdir com ml git 2009 05 msg01404 html适合我需求
  • 使用 Subversion 进行部分提交

    鉴于我做的案例两个独立的变化 in one文件 例如 添加了一个新方法并更改了另一个方法 我经常不想提交这两项更改 因为one提交 但作为two独立承诺 在 git 存储库上我会使用互动模式 of git 添加 1 http linux d
  • Eventmachine start_tcp_server 无接受器 - 端口正在使用或需要 root 权限(运行时错误)

    我已经 3 天无法运行本地服务器了 重新启动我的计算机没有帮助 有几次 在反复尝试大约 40 50 次之后 它随机地起作用了 我不明白为什么 我尝试过一次不同的端口并且有效 但从那以后 没有端口有效 每次我尝试运行我的 Rails 服务器时
  • 本地git,推送到tfs远程repo

    我厌倦了向我的队友解释使用 DVCS 相对于 CVCS 的好处 他们中的一些人害怕学习曲线 另一些人则看不出任何原因 因为对他们来说 这都是一样的 就我个人而言 我对 TFS 及其问题感到非常厌倦 每当我需要进行一些小的 修复 时 我都必须
  • 在 GitHub 上执行拉取请求时避免不需要的合并提交和其他提交

    我在 Github 上分叉了一个项目 令远程上游为upstream我的远程存储库是origin 我当地的master分支设置为跟踪远程master分支 然后我在本地添加了一些东西master 时不时与上游汇合 直到今天我想发出pull re
  • 合并之间的 git rebase 会导致完全不相关的文件发生冲突

    我有一个大型 Git 存储库 几个月前引入了一个错误 我想bisect它 首先引入一个过去的提交 存储库 然后重播合并 做rebase到新的 commit 如下图所示 据我了解 由于合并 Git 似乎无法正常工作 预期的 但我想更好地了解为
  • 无法从我的电脑上使用 traefik 后面的 gitlab 进行 git 克隆

    这是我的 gitlab 和 traefik 配置 version 3 7 services gitlab web image gitlab gitlab ce latest restart always hostname gitlab ro
  • TeamCity 将功能分支推送到主分支

    有没有办法将成功构建的功能分支推送到另一个分支 我想要这样的东西 Git 存储库 Gitorious GitHub 等 分支机构 master 当前项目的代码 质量保证 代码等待 QA 的分支 功能分支 许多远程分支 开发人员可以在其中开发
  • 从 github 中删除子项目提交

    我有两个存储库A and B 我错误地在我的机器上将仓库 B 克隆到了 A 内 我从存储库 B 中删除了所有代码 但是当我在源上从 A 推送并合并代码时 它还显示了子项目提交B在 Github 仓库上 我想从我的 master 上删除子项目
  • Git 扩展 - 无法在 Windows 上推送到网络驱动器中的 git bare 存储库

    我正在 Windows 上学习 git 我已经安装了 Git 扩展 版本 2 47 3 并使用了它 我在我的 C 单元中创建了一个裸存储库 作为中央存储库 并在硬盘中的其他任何位置创建了个人存储库 我对硬盘中的这两个存储库进行提交 推送和拉
  • 是否可以在 git 存储库之外添加和提交文件?

    我们的文本文件分布在系统的各个角落 我们计划将这些文件中所做的所有修改添加到 git 存储库中 每次对这些文件进行修改都是由脚本进行的 因此 我们计划向该脚本添加新命令 以将文件添加到 git 存储库 但是 这些修改是同时进行的 我们可以为
  • git Blame:合并后正确的作者

    GIT 合并引入了新的提交 这会导致 git Blame 问题 合并的行似乎是由进行合并的开发人员提交的 我可以理解这种情况冲突的变化 因为他解决了冲突 但是有没有办法让非冲突线路不发生这种情况呢 一些 git Blame 的选择 如果没有
  • git 如何查找分支源自的提交哈希

    假设我从主分支分支到主题分支 然后在主题分支上进行了一些提交 是否有命令告诉我主题分支源自的主分支上的提交哈希 理想情况下 我不必知道我做了多少次提交 试图避免 HEAD 5 我已经用谷歌搜索过 但似乎无法找到答案 谢谢 use git m
  • 为什么 git-svn 应该积极搜索旧历史?

    当我运行 git svn clone s 时发生了一些奇怪的事情 尽管以下信息告诉我们不要惊慌 但我想知道为什么会出现这种 svn 错误 为什么这个路径不存在 是被别人删除了吗 如果是 为什么 git svn 应该积极搜索旧历史记录 Ini
  • git-svn 如何知道要提交到哪个分支?

    我的存储库是 SVN 我使用 git 进行所有开发 我们有一个标准布局 我用以下命令初始化了我的本地存储库git svn init s
  • SSL 适用于浏览器、wget 和curl,但不适用于 git

    我有一个网站 用于托管 redmine 和几个 git 存储库 这非常适合 http 但我无法使用 https 进行克隆 即 git clone http mysite com git test git 工作正常 但是 git clone

随机推荐

  • 在 ASP.NET 中是否可以仅从 HTTP 请求的用户代理字符串派生浏览器主要版本?

    我们有一个应用程序使用Request Browser MajorVersion作为缓存键的一部分 我们面临的挑战是确定哪个缓存键用于一组历史请求 为此 我们正在分析 IIS 日志 因此需要确定 ASP NET 的值是什么Request Br
  • 如何编写 Qt 安装程序脚本

    我正在尝试编写我的第一个 Qt 安装程序 但遇到了麻烦 在我的安装程序中 在其中一个包中 我需要运行 exe在安装结束时创建文件并添加环境变量 我认为做到这一点的方法是使用脚本选项package xml文件 但我不知道如何编写该脚本 我无法
  • 如何使用 ant 检查 java 源代码中的标签(TODO:等)

    在代码中经常会看到类似的内容 希望仅在开发过程中 XXX not in production String password hello getActualPassword catch Exception e TODO Auto gener
  • SQL - Select 不检索结果

    我在用着sqlsrv num rows为了检查数据库中是否存在用户 当我在数据库中运行查询时 我得到 1 个结果 但在 PHP 中我没有得到任何结果 echo不打印任何内容 这是为什么 query SELECT TOP 1 id tourO
  • 如何解决 r 中“x”必须是数字的问题?

    我正在尝试制作直方图 但我不断遇到错误消息 这是我的代码 library readxl data lt read excel data xls hist data 这是我的样本 我想创建一个直方图 y 轴为 0 100 x 轴 安全 基本
  • PDF 文档中的快照图像

    我想从 PDF 文档中的任意页面 即不一定是第一页 制作快照图像 有这方面的免费工具吗 我正在使用德尔福 TIA Steven 您可以使用 pdftk 和 ImageMagick Ghostscript 分两步完成此操作 第 1 步 使用您
  • jQuery 数据表插件不删除表行

    我试图弄清楚为什么当我单击删除按钮时 它会更改执行 php 方面的操作 但是当它返回到客户端时 它不会从表中删除该行 我正在为我的表使用数据表 delete click function var titleID this attr rel
  • 在 C 中声明 64 位变量

    我有个问题 uint64 t var 1 this is 000000 00001 right 在我的代码中 这是有效的 var 1 lt lt 43 但它怎么知道 1 应该是 64 位的呢 我不应该写这个吗 var uint64 t 1
  • 设置 SOLR SSL 属性

    当我使用提供的 Apache SOLR 启动脚本 版本 6 6 0 时 该脚本创建并执行一个 java 命令行 该命令行具有两组 SSL 属性 其相关元素设置为相同的值 一组的名称如下javax net ssl 而另一组的名称如下solr
  • AWS-CDK 错误:此 VPC 中没有“公共”子网。使用不同的 VPC 子网选择

    我正在将 CDK 堆栈从 0 30 0 移植到 0 39 0 我的 AWS 账户有一个预定义的 VPC 我只需将其导入堆栈即可 相同的子网在 0 30 0 中工作正常 但在 0 39 0 中收到错误消息 此 VPC 中没有 公共 子网 请使
  • JOIN 后选择不同的值

    我有3张桌子 Vehicle vehicle id vehicle type 1 motorcycle 2 car 3 van Owners person id vehicle id date bought 1 1 2009 1 2 200
  • Visual Studio:类型或命名空间名称“属性”不存在

    There s 另一个线程 https stackoverflow com questions 9163316 type or namespace name properties does not exist 16270872这里关于这个
  • 集合视图单元格之间不需要的空间 组合布局

    我正在将集合视图用于场景 我创建了一个自定义的构图布局 如下所示 然而 当滚动时 有一个不需要的空间单元格的第二部分之间 它发生在不同的细胞类型中 我检查了间距或插图 但无法找出原因 构图布局部分 struct UIHelper stati
  • Angular:“找不到类型为‘object’的不同支持对象‘[object Object]”。 NgFor 仅支持绑定到 Iterables,例如数组

    我创建了一个 Angular 应用程序 它从 json 文件获取数据 但我在 html 中显示数据时遇到问题 很多变数都是荷兰语 对此我感到抱歉 我对这一切也有点陌生 这是我的服务 import Injectable from angula
  • Latex IEEE 模板:在多列乳胶内容中使用单列表[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 I am trying to use this IEEE template https www sharelatex com templa
  • CSS背景图片在移动浏览器上放大

    我的网站上有一个部分使用 CSS 背景图像 该网站是here http www robertsteilberg com 您可以在 联系方式 部分中看到我在哪里有固定背景图像 这是图像的当前 CSS hs contact section co
  • 如何使用 ActionScript 获取响应标头? (闪光)

    所以 我有一个像 www example com stream 这样的 URL 我需要向此 url 发出任何请求并获取 Http Rewspons 标头 如下所示 HTTP 1 0 200 OK Content type video x f
  • 如何处理 JSF 2 中的会话过期和 ViewExpiredException?

    考虑以下场景 在会话超时 过期 后 我单击 JSF 表单的提交按钮 浏览器显示一些异常消息 ViewExpiredException 无法恢复视图上下文 我想要做的是 在会话过期后自动重定向到网站的主页 这样做的机制是什么 任何帮助将非常感
  • 无法在 iOS 上创建托管对象上下文

    我创建了一个非核心数据项目 我现在想使用核心数据 在构建阶段 我将二进制文件与 CoreData framework 链接起来 在我的应用程序委托方法中 我想手动创建一个托管对象上下文 如下所示 NSManagedObjectContext
  • 如何恢复使用策略=我们的合并?

    我正在使用一个存储库 其中几周前执行了合并 我们刚刚发现它使用了 strategy ours标志 它应该使用 strategy option ours 标志 因此不会对 HEAD 应用任何更改 但是 我们需要应用这些更改 Git 已经识别出