在单个谱系中变基多个分支的最简单方法

2023-11-27

我有两个分支位于上游/主控之上。一个分支以另一个为祖先,因此它们形成一条线。

U1 (upstream/master)
  \
   A -- B (fixes)
         \
          C -- D (features)

随后,upstream/master 继续前进......

U1 -- U2 (upstream/master)
  \
   A -- B (fixes)
         \
          C -- D (features)

...我想将两个分支重新建立在顶部。

U1 -- U2 (upstream/master)
        \
         A' -- B' (fixes)
                 \
                  C' -- D' (features)

我知道两种方法,每种方法都有缺点。

git rebase upstream/master fixes
git rebase fixes features

这两个命令有时有效,有时会在第二个命令上产生合并冲突。

git rebase upstream/master features
# figure out the hash code of the new commit corresponding with B'
git branch -f fixes <sha of B'>

这仅涉及一次变基,但移动分支非常繁琐且容易出错。

我研究了 rebase --preserve-merges,但这似乎不适用,因为没有合并提交。

有没有更好的方法来完成变基?


避免合并冲突的一种方法是将分支从预变基历史记录移至后变基历史记录。这无疑是可怕的,因为它需要找出每个提交的新版本,但可能比不必要的合并更快。

eg.

git rebase 上游/主功能

U1 -- U2 (upstream/master)
        \
         A' -- B' 
                 \
                  C' -- D' (features)

gitbranch-ffixes(SHAforB')#更改分支指向的位置。

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

在单个谱系中变基多个分支的最简单方法 的相关文章

  • hg 或 git 中的两个完整目录/项目之间存在差异?

    我继承了一个最初存储在 CVS 中的项目以及所有修订 我做了相当多的编辑 并且我试图比较我在原始目录中所做的所有更改 关于添加的新文件与旧文件 hg git 是否有某种实用程序可以让我进行树差异或类似性质的操作 也就是说 新添加的文件 删除
  • 返回到存储库中的特定修订后提交并推送更改?

    我们需要及时返回到某个特定的提交 一些意外的改变是为了掌握 尝试恢复它挖得太深 所以 master 的状态很糟糕 现在我们希望master回到66ada4cc61d62afc 根据git 恢复到某个提交 https stackoverflo
  • gitlab 上的权限被拒绝(公钥)

    我的问题是我无法从 GitLab 推送或获取 不过 我可以克隆 通过 HTTP 或通过 SSH 当我尝试推送时出现此错误 权限被拒绝 公钥 致命 无法从远程存储库读取 从我看过的所有线程中 这是我所做的 在我的计算机上设置 SSH 密钥并将
  • 获取最新远程提交的 SHA1 [重复]

    这个问题在这里已经有答案了 可能的重复 git bash 如何检查是否有新的提交可用 https stackoverflow com questions 6006759 git bash how to check if theres a n
  • Git 扩展 - 无法在 Windows 上推送到网络驱动器中的 git bare 存储库

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

    我的公司正在将SVN升级到1 7 检查git svn version显示正在使用的SVN版本是1 4 6 我想获得 git svn 使用的 SVN 版本接近 1 7 但是 我没有看到有关更新 git svn 使用的 SVN 版本 在 Win
  • 无法使用 git 推送或获取 [重复]

    这个问题在这里已经有答案了 我可以拉 但无法使用 git 版本 1 9 5 推送或获取 它突然开始给我以下错误 关于如何修复它有什么想法吗 git fetch fatal unable to access https email prote
  • 执行 git Push 时出现“diff.renamelimit 变量”警告

    我将本地提交推送到远程 git 服务器并收到以下警告消息 remote warning only found copies from modified paths due to too many files remote warning y
  • 为什么“git描述-dirty”在描述干净结帐时添加“-dirty”后缀?

    我刚刚发现 dirty选项git describe看起来它应该做一些非常有用的事情 即在输出中附加一个后缀git describe当工作树脏时 但是在我的一些存储库上似乎并非如此 git status On branch 8 30 noth
  • 清理远程 Git 分支

    我已经将 SVN 存储库移至 Git 可能由于多次克隆 我现在只剩下一堆看起来像这样的分支 BranchA origin BranchA remotes BranchA remotes origin BranchA remotes orig
  • 将 Visual Studio 在线 Git 存储库集成到 Android Studio 1.0.2

    我正在使用 Visual Studio Online 进行开发过程 我想将我的 Android Studio 1 0 2 代码集成到其中 但是 据我所知 Android Studio 没有 TFS 插件 这就是为什么我想使用 Git 进行源
  • 为别名命令添加“git help”?

    我已经实现了一个 Git 命令并使用 git 别名将其连接到 Git 但是有没有办法连接 Git 帮助 我在 Windows 上运行 如果我发出git help mycmd我收到一个弹出窗口 告诉我 Git 找不到 git mycmnd h
  • 如何使用 git --word-diff 显示空格差异?

    为了说明问题 参见diff https github com nim lang Nim commit 47c7fd037ed28b7de3d120b003d059d30e18f128 diff split diff 8af935b2312d
  • 使用 TFS REST API 获取 Git 提交的最新关联工作项

    我正在尝试获取关联的工作项使用 TFS REST API 进行 GIT 提交 https www visualstudio com en us docs integrate api git commits 我的请求 URL 如下所示 htt
  • 尝试配置 GIT 时 Eclipse 没有响应

    Windows 10 专业版 64 位SSD金士顿 i5 4690Eclipse 版本 全部工作空间 空问题 每次我尝试配置 TEAM gt GIT gt 配置或尝试导入 创建本地 远程 git 时 Eclipse 都会冻结 直到我强制用任
  • 如何停用 Xcode git 功能? (删除 git 集成)

    我的 Xcode 项目位于 git 上 但我不喜欢 Xcode git 集成 有时 我有来自 Xcode 的错误 https stackoverflow com questions 7388560 error fatal not a git
  • 如何恢复已删除的远程分支

    我们的远程主分支被删除 我有主存储库的本地副本 但它已经过时了 我可以通过将最后一个已知的提交哈希值插入 URL 来查看 github 中的分支 但未能成功恢复它 我尝试了几个步骤来恢复它 git reset hard 16deddc05c
  • 为什么cherry-pick 告诉我所有行都已更改?

    Updated 考虑文件 abc 在提交 A 和 B 中都相同 begin 123 456 789 klm end 在A中 我们重构第一行123 gt AAA并在结果之上选择 B Git 告诉我们all lines in the file
  • VS Code 在交互式变基期间不会等待我 [重复]

    这个问题在这里已经有答案了 如果我使用交互式变基git rebase i使用为 Git 配置的默认编辑器 一切都运行良好 如果我在我的全局中添加以下内容 gitconfig core editor C Program Files x86 M
  • 创建多个 git 分支的联合分支

    我希望能够在现有分支之上分层其他分支 并独立修改这些分支 这很有用 例如 允许将各个子项目的二进制文件统一到同一个项目中bin目录 一般来说 给定的文件仅存在于一层中 理想情况下 我想我会使用 unionfs 来完成此任务 但它必须以某种方

随机推荐

  • UIViewController 中嵌入的 UIHostingController - 如何从外部更新 @State?

    我正在使用一个UIHostingController镶嵌ContentView inside ViewController 我想更改名称ContentView s name当按下 更改名称 按钮时 这是我的代码 class ViewCont
  • .NET 中非矩形形式的平滑边缘

    我使用 Form Region 创建了一个带有圆角的表单 它有效 但不幸的是四舍五入看起来很粗糙 有什么技巧可以平滑这种形状的角吗 我知道很多应用程序都支持这一点 只是不确定如何在 NET 中实现它 多谢你们 对此没有好的解决办法 区域无法
  • gcloud app 部署错误:获取应用程序 [apps/] 时出现权限错误

    我通过发出以下命令来部署一个简单的 Python 3 App Engine 应用程序 Flexi 环境 gcloud app deploy version ver0 1 并出现以下错误 ERROR gcloud app deploy Per
  • 更改 JOptionPane 中的确定取消字符串

    我想知道是否可以将 确定取消 按钮更改为java中的自定义字符串 我有 JOptionPane showConfirmDialog message title JOptionPane OK CANCEL OPTION 现在 按钮将显示 确定
  • 修改节点进程环境或参数运行时

    是否可以修改process 例如process argv push something 似乎其他模块没有接收参数中的更改 我想 欺骗 另一个模块 使其表现得像进程启动时指定了某个参数一样 进程是否为加载时的每个模块进行实例化 因此全局不可变
  • 在 React Native 中从本地 json 文件导入文本

    我想知道常见的方法是将巨大的文本导入视图 就我而言 我正在为 Android 和 iOS 开发一个 React Native 应用程序 并且在我的视图之一上我想展示 使用条款 文档 现在 当我只是将其导入 复制粘贴到文本组件中时 它就不是正
  • IE7 中 100% 宽度的文本区域忽略父元素的宽度

    我有以下内容textarea in a table table width 300 tr td td tr table
  • 解释 VS 描述 mysql 中的异常

    MySQL 中的 EXPLAIN 和 DESC 命令有什么区别 Explain会给你更多 有关查询的信息 describe会给你更多 有关表或列的信息 您还可以对表名使用 EXPLAIN 在这种情况下 它的行为与 DESCRIBE 完全相同
  • 如何使用 Javascript 延迟提交表单

    我正在尝试在我正在编写的 chrome 扩展中延迟自动提交表单 但它似乎没有提交 下面是我的表单和 javascript function submitForm submits form document getElementById is
  • 完整 .Net 中的实体框架核心?

    有没有办法在完整的 Net Framework 控制台应用程序中实现 Entity Framework Core 首先 您需要创建具有完整 net 框架的控制台应用程序 其次使用包管理器控制台安装这些包 Install Package Mi
  • 将 RDD[org.apache.spark.sql.Row] 转换为 RDD[org.apache.spark.mllib.linalg.Vector]

    我对 Spark 和 Scala 比较陌生 我从以下数据框开始 由密集的双精度向量组成的单列 scala gt val scaledDataOnly pruned scaledDataOnly select features scaledD
  • 为什么我们需要 IEEE 754 余数?

    我刚刚读过这个话题 尤其是最后的评论 然后我想知道 为什么我们真正需要这个是为了给剩下的 但似乎之前没有多少人 在谷歌上 对此感兴趣 如果您正在寻找想要它的原因 其中之一就是所谓的 范围缩小 假设你想要sind用于计算参数正弦值 以度为单位
  • Azure 上的 Django 应用程序未获取静态文件

    在 Azure Web 应用程序上获取了我的 Django 项目 但是当我在 SSH 终端上调用时 Python 管理 py 收集静态 它说复制了 252 个文件 但我的静态文件在我的模板上不可见 并且 wwwroot 中的静态文件夹是空的
  • 删除所有文件和文件夹但排除子文件夹

    我有一个文件夹 需要删除除一小部分文件和文件夹之外的所有文件和文件夹 我已经可以排除文件列表 但没有找到排除文件夹及其内容的方法 这是文件夹结构 C temp C temp somefile txt C temp someotherfile
  • 在字符串内包含引号?

    我正在尝试将引号包含在字符串中以添加到文本框 我正在使用此代码 t AppendText Dim Choice count As String Your New Name is pt1 pt2 vbNewLine 但它不起作用 我希望它像这
  • 从大型数据集中随机采样

    我从一个大型数据库中提取了研究人群 为了进行比较 我想选择一个具有相似特征的对照组 我想要匹配的两个标准是年龄和性别 为我提供用于匹配目的的数字的查询是 select sex age 10 as decades COUNT as count
  • URL/子域重写 (htaccess)

    假设我有以下文件 http www example com images folder image jpg 我想把它放在 http s1 example com folder image jpg 我如何进行 htaccess 重写以将其指向
  • GAE交易失败和幂等性

    Google App Engine 文档包含以下段落 注意 如果您的应用程序在提交时收到异常 交易失败并不总是意味着交易失败 你 可以接收DatastoreTimeoutException ConcurrentModificationExc
  • Linq2SQL 处理具有唯一约束的表上的插入/删除

    我有一个如下所示的表 TABLE Foo Guid Id PK int A FK int B FK int C FK 以及对 A B 和 C 的唯一约束 现在举例来说 您插入带有新 PK 的行 其中 A 1 B 1 C 1 SubmitCh
  • 在单个谱系中变基多个分支的最简单方法

    我有两个分支位于上游 主控之上 一个分支以另一个为祖先 因此它们形成一条线 U1 upstream master A B fixes C D features 随后 upstream master 继续前进 U1 U2 upstream m