由于放弃的提交而导致 Git 合并挂起

2023-11-30

我有两个提交。提交 B 依赖于提交 A。提交 A 被放弃。现在我在合并 B 时遇到错误。它说已提交,由于 B 对 A 的依赖而合并待处理。

我用谷歌搜索过但找不到确切的答案。我需要一步一步的解决方案,因为我是 git 的新手,并且很难理解如何解决这个问题。

这就是发生的事情。

  1. git commit 在本地 A.

  2. git push 远程 A。

  3. A 被放弃了,但我本地的 git 已经提交了 A。

  4. git commit 在同一分支中的 B 本地(使 B 依赖于 A)。

  5. git 将 B 推送到同一分支的远程。

  6. 现在 B 没有合并,因为 A 被放弃了。

我需要合并 B,并且希望删除对 A 的依赖。希望现在清楚了!

这是服务器错误:

更改 1184 - 已提交,合并待处理

在评论中:

Gerrit 代码审查

由于缺少依赖项,无法合并更改。这 还必须提交以下更改: (commit-id,已废弃)

变基会起作用吗?如果可以的话,该怎么办呢?


有多种方法可以解决您的问题。选择您觉得最舒服的一个。

这是一个:

  1. git checkout yourbranch(确保您位于正确的分支)
  2. git reset --hard A^(将所有内容重置为A之前的提交)
  3. git cherry-pick B(其中 B 是您要保留的提交的哈希值)
  4. git log(确认这是你想要的)
  5. git push --force(可能需要指定其他选项,具体取决于您通常的推送方式)

这是另一个,结果是等效的:

  1. git checkout yourbranch(确保您位于正确的分支)
  2. git rebase --onto A^ A(将 A 之后的所有内容重新设置为 A 之前的提交之上,有效地删除 A)
  3. git log(确认这是你想要的)
  4. git push --force(可能需要指定其他选项,具体取决于您通常的推送方式)

这是第三个,结果仍然相同:

  1. git checkout yourbranch(确保您位于正确的分支)
  2. git rebase --interactive A^(将打开您的编辑器)
  3. 删除显示提交A的行,保存并关闭
  4. git log(确认这是你想要的)
  5. git push --force(可能需要指定其他选项,具体取决于您通常的推送方式)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

由于放弃的提交而导致 Git 合并挂起 的相关文章

  • 无法使用 File delete() 方法删除 git repo 中的 .pack 文件

    对于我正在编写的这个方法 我使用 jgit 库克隆一个 git 存储库 然后对这些文件执行一些操作 最后我想删除该存储库 我遇到的问题是 当我在 pack 文件 位于 git objects pack 中 上调用 delete 方法时 它无
  • git-daemon 的日志保存在哪里? (Windows 上的 Git 使用 Cygwin)

    我正在将 git daemon 作为 Windows 服务运行 使用创建进程 服务中使用的命令是 git daemon reuseaddr base path data test work export all verbose enable
  • 在 PowerShell 错误消息中使用 touch 命令创建新文件

    我的桌面上有一个使用 PowerShell 创建的目录 现在我尝试在其中创建一个文本文件 我确实将目录更改为新目录 然后输入touch textfile txt 这是我收到的错误消息 touch The term touch is not
  • 如何忽略Git中以数字开头的文件?

    在某个文件夹中 我有名为foo jpg bar png等等 我想将它们保留在版本控制中 除了那些命名为1 baz png 2 zaz jpg等 因为它们实际上是生成的 我应该添加什么条目 gitignore 正则表达式如 0 9 似乎不起作
  • 使用 Dropbox 作为跨多台机器的 git 工作目录 - 提交不能完美同步

    首先 我想强调这个问题与在 Dropbox 上托管我的中央存储库无关 而且我对使用 git 还很陌生 我能找到的其他涉及 Dropbox 和 git 的问题都没有真正回答我的问题 它们要么是关于使用 Dropbox 托管您的存储库 要么是关
  • Git:由于看似随机的合并,更改不断丢失

    我有一种感觉 这将是一个显而易见的答案 但我似乎无法解决 似乎发生的情况是 我向服务器提交 推送了一些更改 并且我的副本上的一切都显示正常 然后 另一位开发人员从同一分支的服务器中拉取 据我所知 据称看到了我的更改 进行一些修改 将它们提交
  • 列出其他人(即不是我)所做的提交?

    是否有一种标准方法可以列出 git 存储库中其他人 即不是我自己 所做的所有提交 I tried git log not author username 但看起来 not仅适用于修订版 的联机帮助页git log似乎没有提供反转谓词的方法
  • git rebase -i ——为什么它改变提交哈希值?

    所以我或多或少熟悉变基的工作原理 但直到最近我通常只做了一个git rebase i HEAD 20 并修改了需要修改的内容 我很惊讶地发现这将修改所有 20 个提交的哈希值 即使我采取的唯一操作是压缩最后两个提交 我不确定是什么导致其他
  • 有没有一种方法可以非交互地压缩大量提交?

    我正在尝试压缩一系列提交 HEAD 到 HEAD 3 有没有一种快速的方法可以做到这一点 或者我需要使用 rebase interactive 确保你的工作树是干净的 然后 git reset soft HEAD 3 git commit
  • Git 子模块在 Windows 上更新缓慢

    Git 子模块在 Windows 上似乎非常慢 为了测试性能 我创建了 3 个裸存储库并向它们提交了 3 条独立消息 未存储文件 然后 我将每个裸存储库作为子模块添加到新的 git 存储库中 并执行子模块更新 花费了 5 秒多的时间 当使用
  • 如何在 git diff 中按标点符号拆分单词?

    我对以下命令有一些运气 git diff color words lt gt space lt gt 但它似乎没有在第一个字符类中正确地否定方括号 我试过这个 git diff color words lt gt space lt gt 为
  • 命令来确定当前 HEAD 的上游引用?

    我正在寻找我所希望的简单的一行命令确定当前签出分支的正确上游引用 本质上就像是 git branch remote HEAD 如果有效 会将符号模式 HEAD 转换为当前分支名称 然后选项 remote然后将其更改为远程跟踪分支的引用 但它
  • 如果文件已在服务器上,请避免使用 git-ftp 上传

    假设我有应用程序的本地副本 我将其推送到 github 然后使用 git ftp 将任何更改上传到我的服务器 我首先会使用 git ftp init u
  • git-svn --忽略路径

    我现在在 git svn 的 ignore paths 选项上挣扎了几个小时 试图从大型存储库中仅获取某些标签 我想在 dev 处开始获取 看起来像 gt svn ls http 192 168 0 2 svn repo corporati
  • 如何预览 Git 中的隐藏内容?

    我想检查一个存储 并找出如果我将其应用于当前状态的工作树 它会发生什么变化 我知道我可以对存储进行 git diff 但这向我展示了工作树和存储之间的所有差异 而我只是想知道存储应用将改变什么 git stash show将向您显示最近存储
  • 克隆存储库而不将其设为原始远程存储库

    我正在从一台将被擦除的计算机上克隆一个 git 存储库 是否可以在不创建原始存储库的情况下克隆存储库origin master 或者我是否需要克隆它 然后删除远程分支 这是通过git remote rm origin Edit 存储库只有一
  • 如何重命名 GitHub 网站上的目录/文件夹?

    我在 GitHub 网站上找到了一种方法rename https github com blog 1436 moving and renaming files on github一个文件并成功完成 我也找到了一种方法rename https
  • Git 子模块:[电子邮件受保护]:权限被拒绝(公钥)。致命:无法从远程存储库读取

    我有一个问题git submodule update init remote 我收到错误 权限被拒绝和克隆失败 但我将 SSH 密钥添加到了我的 github 存储库中 我可以拉 推 git 克隆 我拥有所有需要的访问权限 我使用操作系统
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • 为什么cherry-pick总是会导致合并冲突?

    我正在从发布分支中挑选特定的提交到我的本地工作副本中 每次我从发布分支中挑选一个提交时 我都会遇到必须解决的合并冲突 即使更改看起来微不足道 例如 const char kApplicationVersion Develop const c

随机推荐

  • 如何在 EF 代码优先中禁用链接表的级联删除?

    我想禁用实体框架代码优先的链接表的级联删除 例如 如果许多用户拥有许多角色 并且我尝试删除一个角色 我希望阻止该删除unless当前没有与该角色关联的用户 我已经删除了我的级联删除约定OnModelCreating protected ov
  • CSS 边框渲染

    我想知道是否可以指定边框绘制风格 not border style 与CSS 我需要它至少适用于webkit 嗯 我有一个像这样的元素div border它有四边边框5px silver solid 但取决于班级的增加 比如div bord
  • 在 std::vector 中模板化存储多种不同类型

    谢谢大家抽出宝贵的时间 我真的很感激 需要使用模板化方式在 std vector 中存储不同类型的多个变量 要使用以下函数 程序员必须了解变量存储的顺序以及存储的变量数量 class NetVar 创建一个子类来保存实际变量 templat
  • 以具有完全权限的管理员身份运行 Java 文件

    我制作了一个Java应用程序 并在我的电脑和我创造的电脑上测试了它 到目前为止一切顺利 但是这个应用程序是为我的另一个有迪斯科的朋友准备的 当我在他的电脑 Windows Vista 32 位 上 安装 我的应用程序时 它不起作用 然后我去
  • “{”不被识别为内部或外部命令、可运行程序或批处理文件

    在 Windows 上运行 以下 Python 程序会产生上述输出 输出变量的内容 import commands cmd dir output commands getoutput cmd print output 非常有趣和令人沮丧 有
  • 如何在Dart中正确下载图片并转换为base64?

    我很难下载图片然后将其显示在页面上 打印的 Base64 编码字符串看起来错误 它与例如不同http www freeformatter com base64 encoder html结果 这是我的代码 HttpRequest reques
  • 连接到 SQL Server 2008 R2 Express 时出错

    我已在 Windows 7 上安装了 SQL Server 2008 R2 Express 当我在 VS2010 中运行 Web 项目时 我收到以下错误 发生网络相关或特定于实例的错误 建立与 SQL Server 的连接 找不到服务器或
  • 创建 Android 签名证书 SHA-1 时如何解决此错误“在 c:\Users\kulde\.android\ 中找不到 debug.keystore”

    我正在尝试创建 google 登录应用程序 其中我需要 Android 签名证书 SHA 1 首先有一个 android 文件夹 其中包含另外两个文件 但那些不是 debug keystore 所以我在 stackoverflow 上读到了
  • javascript:如何将日期字符串 (YYYY-MM-DD) 增加 1 天

    我知道如何在 php 中使用 date 和 mktime 函数执行此操作 但不知道如何在 javascript 中完成相同的操作 function incr date date str magic here return next date
  • 如何从 OpenLayers.Control.DrawFeature 获取积分返回

  • Jquery CSS 和 JS 限制元素 [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我想将 Jquery 移动 CSS 和 JS 仅应用于某些有限的元素 而不应用于页面上的其他元素 知道我该怎么做吗 我有一些 Salesforce 标准客户门户 其中包含一个包含 Jq
  • 如何在 Perl 6 中向我的自定义类添加下标?

    我是 Perl 6 的新手 我的 Atom 编辑器中有以下代码 但我仍然不明白它是如何工作的 我复制了以下代码 作为docs raku org说了 不过好像不行 所以我将代码更改为 use v6 class HTTPHeader class
  • 无法返回 cellForRowAtIndexPath 中的单元格

    我试图在 tableView 中返回不同的单元格 通常在这种情况下 我会返回不同的单元格 然后在底部返回 nil 但在这种情况下 它会给我带来错误 我也尝试过返回一个空单元格 但也给了我错误 我尝试过的 return nil and var
  • 如何测试网络管道服务是否正在监听

    如何以编程方式测试以查看特定的网络管道服务是否正在运行和侦听 这样我就不会收到 没有端点正在侦听 异常 例如 如果我有这个代码 Uri baseAddress new Uri http localhost something var Ser
  • 在画布上绘图时的偏移

    有一个简单的绘图应用程序 问题出在坐标 redraw函数 它们必须是鼠标 但接近 2x 鼠标 代码中有什么问题
  • mysqli 使用 p: connect 选项打开多个新进程

    这是我第一次在这里提问 我搜索了 Google stackoverflow 等 寻求帮助解决我遇到的问题 我们目前使用 PHP 5 3 10 和 MySQL 5 0 95 以及 Apache 2 2 21 CentOS 我们正在开始从旧的
  • 云中的 Elastic Search 集群

    我有 2 个 Linux VM 均位于云提供商的同一数据中心 Elastic1 和 Elastic2 其中 Elastic 2 是 Elastic 1 的克隆 两者都有相同的 centos 版本 相同的集群名称和相同的 ES 版本 Elas
  • 在R中绘制椭圆/双曲线

    我想在R中画椭圆 双曲线 我该如何使用 ggplot2 来做到这一点 让我举个例子 x 2 3xy 4x 2y 2y 2 0 for x between 2 and 2 y between 2 and 2 构造数据字段 d lt trans
  • 提供者与Oracle客户端版本不兼容

    我正在尝试使用Oracle ODP NET 11g 11 1 0 6 20 即时客户端在我的 ASP net 项目中数据提供者但是当我运行 aspx 页面时 我得到一个 提供者与Oracle客户端版本不兼容 错误消息 任何帮助将不胜感激 我
  • 由于放弃的提交而导致 Git 合并挂起

    我有两个提交 提交 B 依赖于提交 A 提交 A 被放弃 现在我在合并 B 时遇到错误 它说已提交 由于 B 对 A 的依赖而合并待处理 我用谷歌搜索过但找不到确切的答案 我需要一步一步的解决方案 因为我是 git 的新手 并且很难理解如何