如何根据每次提交的日期将两个分支合并为一个分支?

2023-12-01

假设我有一个 git 存储库,如下所示:

merge-base---A1--A2------A3------A4 (branchA)
          \
           ----------B1------B2 (branchB)

为了让事情变得更简单,假设分支上的提交是对 fileA 的严格修改,而分支上的提交是对 fileB 的严格修改。

我想将这些分支合并到第三个分支,branchAB,其中提交将按日期排序:

merge-base---A1--A2------A3------A4 (branchA)
          \
           ----------B1------B2 (branchB)
            \
             A1--A2--B1--A3--B2--A4 (branchAB)

有没有办法使用单个 git 命令自动执行此操作,或者我是否坚持使用手动方法(例如,cherry pick 或 rebase -i)?

BTW, merge-base是一个标签。


这是一个可以实现我想要的解决方案,基于adymitruk 的原始答案:

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

如何根据每次提交的日期将两个分支合并为一个分支? 的相关文章

  • Git 提交失败:“请使用 -m 或 -F 选项提供消息。”

    当我键入 git commit 命令来提交文件时 我收到以下错误消息 Microsoft Visual Studio 微软 找不到命令 错误 核心编辑器 Microsoft Visual Studio 存在问题 请使用 m 或 F 选项提供
  • 将bitbucket发布到数字海洋

    我本质上是试图使用 bitbucket 来理解 git 的概念 我一直在通过修改本地帐户和 bitbucket 帐户之间的文件来练习版本控制 事实证明这很有帮助 现在我正在尝试弄清楚如何将文件从 bitbucket 或者我猜是 GitHub
  • 为所有子文件夹设置 git 配置值

    我知道可以设置每个存储库的配置来覆盖用户级配置 即 path to my repo gitconfig覆盖 gitconfig 是否可以设置 git 配置来覆盖给定文件夹的所有子文件夹的用户级设置 即 我有 topLevelFolder1
  • Git - 如何将整个目录恢复到特定提交(删除任何添加的文件)

    我想恢复 git 中的目录 恢复其中的所有文件 并删除自该提交以来添加的所有文件 进行结账似乎只能满足我的第一个要求 但不会删除任何文件 我想出了最简单的解决方案 git rm path to dir git checkout
  • git reflog 和 log 有什么区别?

    手册页说 log 显示提交日志 reflog 管理 reflog 信息 reflog 信息到底是什么 它有哪些日志没有的信息 日志看起来更详细 git log显示当前的 HEAD 及其祖先 也就是说 它打印提交 HEAD 指向的提交 然后打
  • 在另一种语言中使用 dateFormatter [重复]

    这个问题在这里已经有答案了 我正在运行一段返回的代码nil在具有不同语言设置的 iPhone 上运行时 代码示例如下所示 let dateFormatter DateFormatter dateFormatter dateFormat MM
  • Git 的企业采用率?

    最近一些同事之间进行了一场讨论 在当今的软件行业中 如何存在两个不同的世界 面向自由软件 公司的 Question Git 在企业环境中的使用情况如何 您在企业环境中使用 Git 的体验如何 无论如何 我们在工作场所使用 git 每个人都对
  • 部分共享git仓库

    我是 git 新手 我想知道是否支持以下场景 如果支持的话如何支持 即用于设置和更新的 git 命令 可以从三个不同的地方获取存储库 本地 镜像 和 github mirror 完全镜像 local github 镜像 local 但 受版
  • VSTS:在构建过期的情况下自动变基/合并和重新排队构建验证门

    我们最近对 PR 上的构建验证门进行了更改 这样 如果另一个提交在当前 PR 完成之前进入主分支 则构建会 立即 过期 看here https stackoverflow com questions 49418800 vsts invali
  • 有没有一个简单的命令可以将分支转换为标签?

    我即将完成将 哑快照 转换为 git 的繁琐过程 这个过程进展得非常顺利 感谢这个重命名过程 https stackoverflow com questions 6628539 how to tell git that its the sa
  • Phonegap使用命令行工具添加插件

    我是phonegap的新手 我按照phonegap官方网站中定义的步骤使用命令行工具创建项目 nodejs 我成功创建项目并添加平台 但是 当我尝试添加插件时出现以下错误 命令 cordova plugin add https git wi
  • 具有单个子模块的多个存储库

    我已经找了一段时间但没有找到答案 也许我不知道该看什么 我们有一个主库 它本身就是一个存储库 我们称之为 Lib 它包含我们的大部分模块和子模块 我们还假设它的大小为 2GB 现在我们有很多项目 例如 ProjA ProjB ProjC 每
  • GIT:提交时“致命:无法写入 new_index 文件”

    当我尝试将更改提交到本地存储库时 我收到以下消息 致命 无法写入 new index 文件 As this 线程说明 http luhman org blog 2010 04 05 git fatal unable write newind
  • 如何诊断和修复 git fatal: 无法读取树

    我在用着git管理项目上的文件 并不断遇到这个问题 当我跑步时git status我收到消息 fatal unable to read tree e2d920161d41631066945a3cbcd1b043de919570 据我了解 我
  • 使用Git记录文件复制操作

    当我使用 git mv 在 git 中移动文件时 状态显示该文件已被重命名 即使我更改了某些部分 它仍然被认为几乎是相同的东西 这很好 因为它让我可以跟踪它的历史记录 当我复制文件时 原始文件有一些历史记录 我想将其与新副本关联起来 我尝试
  • 使用BFG时可以指定多个文件吗?

    我正在尝试删除通配符无法覆盖的多种类型的文件 我尝试使用多个 delete files 但它不接受它 还尝试将文件全部放在 delete files 之后 但它也不接受它 有没有一种方法可以将它们全部放在一个命令中 如果没有 那么我必须运行
  • Git checkout 不会丢弃我的更改

    我在 Windows XP 上使用 git 1 7 1 和 cygwin 这个问题可以通过例子得到最好的说明 git status On branch master Changed but not updated use git add
  • 使用 php 和 mysql 计算日期差(以小时为单位)

    我如何使用 php 和 mysql 找到以小时为单位的日期差异 Use TIMEDIFF http dev mysql com doc refman 5 1 en date and time functions html function
  • C# ToString("MM/dd/yy") 删除前导 0 [重复]

    这个问题在这里已经有答案了 可能的重复 格式化 NET DateTime Day 不带前导零 https stackoverflow com questions 988353 format net datetime day with no
  • 在 Python 中,如果我有 unix 时间戳,如何将其插入 MySQL 日期时间字段?

    我正在使用 Python MySQLDB 我想将其插入 Mysql 中的 DATETIME 字段 我该如何使用cursor execute 来做到这一点 要将 UNIX 时间戳转换为 Python 日期时间对象 请使用datetime fr

随机推荐

  • 没有鉴别器列的 EclipseLink JPA 继承

    我有一个 Client 和 Affiliate 类 继承自 Person 类 正在使用联合继承策略类型 每个继承策略都与父类共享主键 由于没有鉴别器列 我们选择使用描述符定制器和类提取器 但它并没有真正给出任何它是如何工作的想法 而且代码似
  • 如何在 maven pom.xml 中定义属性并从命令行传递参数?

    我需要传递两个参数 比如说shell and version从命令行 问题是我无法理解如何定义这两个变量pom xml 然后在运行时获取我的 Java 代码中的参数 另外 当我将其作为 Maven 项目运行时 如何设置参数值 任何建议都会有
  • 某些 UTF-8 字符在浏览器上不显示

    某些 UTF 8 字符如 C2 96 连字符 的 UTF 8 等效字符 在浏览器上它显示为 带有 00 96 的 utf 框 而不是 连字符 这种行为有什么原因吗 我们该如何纠正这个问题 http stuffofinterest com m
  • 为什么 SQL Server 中的临时表没有从 tempdb 中删除?

    我创建了一个包含 7 个临时表的存储过程 每个临时表在其工作结束时都会被删除 我从一个 Web 服务调用 SP 并且我们在不同的实例中使用相同的 Web 服务 我已强制删除每个临时表 但是当 SP 执行时 它不会删除位于 tempdb 临时
  • 使用 Django auth UserAdmin 进行自定义用户模型

    来自Django Contrib Auth 文档 扩展 Django 的默认用户如果您对 Django 的 User 模型完全满意 并且只想添加一些额外的个人资料信息 您可以简单地子类化django contrib auth models
  • DataSnap XE2 和 TStream 方法参数

    我正在 Delphi XE2 中使用 TCP IP 协议开发 DataSnap 项目 该项目需要将二进制数据流作为方法参数传递到服务器 我遇到的问题是流内容似乎有大约 32 KB 的大小限制 超出此限制 服务器接收到的流为空 如果我传递其他
  • 使用经典 ASP 从 COM 对象检索字符串数组

    我有一个 NET 类 它包含通过访问器方法可用的简单字符串数组 如下所示 namespace Foo Bar ComVisible true Guid 642279A0 85D4 4c7a AEF5 A9FAA4BE85E5 public
  • hibernate.enable_lazy_load_no_trans 不起作用

    我正在使用 JPA2 1 和 hibernate 4 3 8 并且我已配置 persistence xml 以允许延迟加载 我已经添加了
  • 3D Touch 冻结我的应用程序

    也许我的问题等于 如果轻轻触摸 力触动画会冻结 iPhone 6s 中的 peek and pop 实施中应用程序冻结 1 无 bug 的强制触摸 一个UITransitionView创建图层是为了预览我的视图控制器 它工作完美 2 用 b
  • 一个函数在内存中只存储一次吗?

    当我们在对象或全局中的任何地方定义函数时 javascript函数是否会存储在内存中一次 function alert some value obj m function alert some value 如果您定义该函数一次 并将该函数的
  • Dataproc Hive 操作员未运行存储桶中存储的 hql 文件

    我正在尝试使用气流脚本运行云存储中存在的 hql 文件 我们可以通过两个参数将路径传递给 DataprocHiveOperator 查询 gs bucketpath filename q Error occuring cannot reco
  • 如何在Android 11中调整手机屏幕中的应用程序?

    在 Android 11 之前 我已经轻松地将我的应用调整为全屏 我的旧手机的摄像头孔和基本按钮位于屏幕区域之外 我的新手机的摄像头孔和基本按钮位于屏幕区域内 经过很少的设置 我的应用程序在旧手机上全屏显示 样式 xml
  • 用分号连接字符串数组

    这是一种经常出现在我们框架的一部分中的模式 给定一个字符串数组 我们必须将所有字符串连接起来 并用分号分隔 我想知道可以用哪种优雅的方式来完成 我在我们的代码库中看到了一些变化 而且当我必须这样做时 我总是必须再次重新考虑 我目前的模式是这
  • AVUrlAsset 和 WebVTT

    在 iOS TVOS 上 是否可以从 URL 加载远程 vtt 文件并将其用作字幕轨道 同时还从 URL 加载远程 HLS 视频 而不是在 m3u8 播放列表中指定的 VTT 伪代码 AVAsset video asset AVAsset
  • 如何在编辑表单中使用 DoctrineModule\Validator\NoObjectExists - Zend Framework 2 和 Doctrine 2

    最有效的使用方法是什么DoctrineModule Validator NoObjectExistsZend Form 中的验证器也用于编辑 因为当我使用相同的表单来保存编辑的值时 这会验证对象存在并标记表单无效 几周前 我在自定义过滤器中
  • 使用 ssl 加密创建 idhttpserver

    我还不擅长使用 delphi 但是根据一些示例 我已经成功创建了不超过 10 个用户的简单 http 服务器 有两个主要问题我还不知道如何解决 验证 管理用户的正确方法 会话 主要问题是 连接必须安全 所以需要SSL加密 如何实现 我发现的
  • Mac OSx 上的 OpenCL 内核错误

    我编写了一些 OpenCL 代码 该代码在 LINUX 上运行良好 但在 Mac OSX 上失败并出现错误 有人可以帮我确定为什么会发生这些情况吗 错误后显示内核代码 我的内核使用 double 所以我在顶部有相应的编译指示 但我不知道为什
  • 样条图平滑拐角

    我在我的项目中使用 NET 框架中的图表控件 我已将图表控件添加到表单中并进行配置 如下所示 Add a new series chart1 Series Add 1 var series chart1 Series 0 series Ch
  • CDI 事件观察器处理服务器崩溃和重新启动

    我正在尝试使用服务将一个项目持久保存在数据库中 并为后续服务触发 JMS 消息以获取持久保存的项目 以便它可以处理相同的项目 此特定操作发生在单个事务中 但由于有时存在竞争条件 第二个服务无法获取相应的项目 因为它尚未持久化 我的用例非常常
  • 如何根据每次提交的日期将两个分支合并为一个分支?

    假设我有一个 git 存储库 如下所示 merge base A1 A2 A3 A4 branchA B1 B2 branchB 为了让事情变得更简单 假设分支上的提交是对 fileA 的严格修改 而分支上的提交是对 fileB 的严格修改