如何在 GitHub 上进行快进合并?

2023-12-01

因此,我的一位同事尝试使用 GitHub 的 Web 界面中的“通过快进合并”选项来合并分支,以保持历史记录免受虚假合并提交的影响(master自要合并的功能分支启动以来,它们合并到的分支尚未取得进展)。

有趣的是,这并没有按预期工作:所有提交都有新的提交哈希值。

仔细观察,似乎合并选项实际上被称为“Rebase and Merge”,它的作用似乎相当于git rebase --force,改变提交者信息(进行合并的人员以及合并发生的时间)。

我花了很长时间才确认我的怀疑确实如此,因为我无法使用命令行工具来向我展示功能分支上的原始提交和看似相同的提交(具有不同的哈希值)之间的区别在主分支上。 (最后我发现gitk显示提交的提交者和作者;在里面very我发现我还可以通过以下方式获取此信息git log --pretty=raw)

So:

  • 有没有办法进行“正确的”快进合并(git rebase without--force 选项)通过 GitHub 的网络界面?
  • 如果不是:为什么? (我可以看到问责制的优点;例如,它回答了谁对一段给定的代码最终负责的问题master)

看起来 GitHub 不支持这一点——这是一件可怕的事情。 您基本上无法使用 GitHub UI 运行原子、线性提交策略(最好的策略)。

请注意,Bitbucket 确实支持这一点,并且具有更细粒度的选项来设置 PR 登陆/集成策略。即“变基,快进”选项执行以下操作:--ff-only目标/主线分支的更新。它还有一个'变基,合并'该选项允许您在目标上运行变基(以便您的提交是线性的),但使用合并提交进行集成(如果您想跟踪提交都是一个逻辑单元/PR 的一部分)。

这两个选项似乎都优于 GitHub 的有限选项,即使用非线性合并提交(GitHub 的“合并拉取请求”选项)或线性变基(“变基并合并”选项),它确实实现了线性,但在源分支上创建了重复提交,因此如果您想保持干净和同步,则始终需要在本地进行手动硬重置。

所以...看来是时候切换你的回购提供商了!

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

如何在 GitHub 上进行快进合并? 的相关文章

  • 无法从 Git 扩展向 GitHub 进行身份验证?

    我只是在 Visual Studio 2010 中设置 Git 扩展 但无法真正使其工作 我无法进行身份验证 在 Git Extensions 中 如果我选择 Plugins gt GitHub 我可以添加用户 密码 API 令牌并选择 S
  • 返回到 Github Desktop 中的上一个提交

    我正在尝试使用 GitHub Desktop 即 GUI 应用程序 而不是命令行 返回到先前的提交 在同一分支上 我认为这是一个核心功能 因为它是首先使用源代码控制的主要原因 我可以看到可以恢复提交 但这并不是我真正想要的 因为它创建了一个
  • 无法从另一台计算机访问 git 分支

    基本上我看不到另一台计算机上的分支 我跑 git branch a 在家用电脑上我得到 C learn ror sample app filling in layout gt git branch a filling in layout m
  • 在 gitHub 网站上哪里可以查看提交历史记录?

    我正在 gitHub 上寻找所有过去 git 提交的历史记录按钮 这些是 gitHub 页面上的按钮 代码 问题 拉取请求 行动 项目 维基百科 安全 见解 设置 1 家分店 0 标签 在存储库页面上 大绿色下拉代码按钮下方有一个提交按钮
  • app-release-unsigned.apk 未签名

    我在 github 上下载了 Android 应用程序的 zip 文件 并尝试运行它 但出现一个包含此消息的对话框 app release unsigned apk is not signed Please configure the si
  • 合并两个github帐户

    假设我有两个 github 帐户xyz 邮件 ID email protected cdn cgi l email protection and abc email protected cdn cgi l email protection
  • 撤消 git pull,如何将存储库恢复到旧状态

    有什么方法可以恢复或撤消 git pull 以便我的源 存储库将恢复到执行 git pull 之前的旧状态 我想这样做是因为它合并了一些我不想这样做的文件 但只合并了其他剩余的文件 那么 我想找回这些文件 可以吗 编辑 我想撤消 git m
  • 合并 GitHub 中的拉取请求后,Jenkins 将不会触发构建

    到目前为止 在 Jenkins 中触发构建可以很好地创建新的拉取请求 推送更改并留下评论 例如test this please但是 当我在 GitHub 中点击绿色的 合并拉取请求 按钮时 我没有看到 Jenkins 中正在运行任何作业 我
  • 是否可以在具有高山风味的 docker 容器内构建 AOSP?

    我对 AOSP 非常陌生 我正在尝试在 Docker 上设置完整的 AOSP 以构建 Docker 映像 例如 Alpine 或 Ubuntu 映像 如果不可能 请让我知道无法在内部设置 AOSP 的原因泊坞窗图像 或者我需要编写 Dock
  • 为什么 git-cherry pick 没有说要提交什么?

    我对以下问题进行了很多搜索 但无法获得任何实质性信息 我创建了一个临时分支 202116 并尝试对 gerrit 202116 进行挑选 并收到以下消息 为什么我无法挑选此提交以及为什么会收到此错误 lt gt git fetch ssh
  • 我的邮箱收到了。但我不知道如何获取邮箱中的补丁,因为邮箱的内容只是文本

    生成补丁后 git send email to 电子邮件受保护 cdn cgi l email protection patches patch 发送了补丁 我的邮箱收到了 但我不知道如何获取邮箱中的补丁 因为邮箱的内容只是文本 请看图片
  • 如何在 GitHub 中创建嵌套存储库?

    我可以通过创建一个存储库https github com https github com say repo 并有 https github com username repo git 如何创建另一个存储库 例如sub repo 置于rep
  • Git 中的作者和提交者有什么区别?

    我刚刚在 GitHub 上发现了以下提交 https github com felixge node formidable commit 0a0b150668daa3c6f01626d2565b898e5da12392 https gith
  • git - 奇怪的分支合并错误,我不知道如何解决

    当我 git status 时 我收到以下错误消息 On branch master Your branch and origin master have diverged and have 1 and 2 different commit
  • git push 无法在 cron 作业中工作

    我目前正在清理 CentOS 6 服务器上其他人留下的烂摊子 有一个应用程序需要每6小时备份一次到github帐户 有一个脚本负责准备数据并负责 git add 和 git commit git Push 由 expect 脚本负责 这样做
  • GitHub 恢复或重置? [复制]

    这个问题在这里已经有答案了 正如您在图片中看到的 我正在功能 forum kolo 3 中工作 我决定完成该功能并将其合并到开发中 但没有将更改推送到远程开发 因此它只是本地更改 然后我意识到这是一个坏主意 现在我想删除这个合并 就像它从未
  • 将项目从 github 克隆到 RStudio 时出现错误消息“无法获取本地颁发者证书”

    我试图从 RStudio 克隆 github 的存储库 我已将 git 配置为版本控制可执行文件 我收到此错误消息 SSL 证书问题 无法获取本地颁发者证书 我需要做什么 Thanks 使用以下步骤 访问 github 站点 www git
  • 是否可以选择 Dependabot 应打开 PR 的特定分支?

    正如标题所示 在 GitHub 上是否可以手动选择 Dependabot 应打开其 Pull 请求的分支 据我所见 它会针对存储库设置中设置为主要分支的分支打开 PR 但是否可以选择另一个分支 根据文档 https docs github
  • iOS CoreData:“数据模型版本编译器”错误

    我在项目中创建了一个数据模型文件 ChatModel xcdatamodeld 然后我合并了github上的分支 project pbxproj 中存在冲突 我修好了它们 然后错误就发生了 Users mac zhongqing ios Z
  • 执行“挤压和合并”后可能出现问题?

    I used Squash and Merge用于合并dev分支到main因为我不想要来自的一些提交消息dev出现在的分支main但现在我发现main比 dev 提前 1 次提交 并且该图显示 两者之间没有联系dev and main 这是

随机推荐

  • 我可以让 IIS 添加(注入)HTML 到它提供的每个页面吗?

    我想向 IIS 6 服务器提供的每个页面添加一些 HTML 它大部分提供静态 HTML 这是 IIS 或扩展可以做的事情吗 我需要对 HTML 的注入方式和位置进行一些控制 在本例中是在标签之前 感谢您的建议 我相信您唯一能做的就是插入文档
  • 如何对两个指针指向的变量使用delete?

    假设我有一个假设的指针声明为new像这样 int hypothetical pointer new int 并创建另一个具有相同值的假设指针 int another hypothetical pointer hypothetical poi
  • 从 Karate DSL 中的 .properties 文件读取数据

    我们正在尝试与另一个使用 Webdriver 等的 java 项目共存 作为其中的一部分 我们希望重新使用其他项目用于我们的配置等的相同 properties 文件 有人可以指导我们阅读Karate DSL 中的 properties 文件
  • Dockerfile - 定义具有动态值的 ENV 变量

    我想用动态值更新 PATH 环境变量 这是我迄今为止在 Dockerfile 中尝试过的 ENV PATH dirname find opt name ruby grep i bin PATH 但导出显示该命令未被解释 root 97287
  • SwiftUI:从子视图中关闭模式

    我试图在其预期操作完成后关闭模态 但我不知道当前如何在 SwiftUI 中完成此操作 该模式由 State值变化 是否可以通过观察某种通知来更改此值 所需的操作 根 gt 初始模态 gt 呈现子项 gt 消除任何子项的模态 以下是我尝试过的
  • 隐藏/显示的 AsyncFileUpload 控件不会触发服务器端 UploadedComplete 事件

    我最近在最新版本 3 0 40412 的 ASP Net Ajax Control Toolkit 中发现了 AsyncFileUpload 控件 在稍后显示的隐藏控件中使用它时似乎存在问题 例如 div 标记为visible false
  • 如何在JSF中创建h:commandButton来打开新页面

    我想在 JSF 页面中创建命令按钮 当我按下它时 我想打开一个新页面并使用 http 发送一个值 我测试了这个h commnadButton但它不起作用
  • 如何“压缩”或“旋转”可变数量的列表?

    如果我有一个包含任意数量列表的列表 如下所示 var myList new List
  • HikariCP 与 PostgreSQL:setQueryTimeout(int) 尚未实现

    我尝试将 HikariCP 与 PostgreSQL 一起使用 但它不起作用 它抛出一个异常 WARN 2014 10 24 14 38 54 195 com zaxxer hikari pool HikariPool Exception
  • 为什么使用 python selenium 执行_script("return document.body.scrollHeight") 返回0

    在此输入图像描述 下面是我的Python代码 get 运作良好 但表演完之后execute script return document body scrollHeight lastHeight回报0 chromedriver 网页上没有任
  • Android - 打开跟踪文件时出错:没有这样的文件或目录(2)

    我正在开发一个android应用程序 其中一部分是检查手机的wifi是否启用 我直接在手机上运行该应用程序 这些是一些错误 error opening trace file No such file or directory 2 Refus
  • “使用操作码 153;此模拟器仅支持最多 152”

    我是二郎和牛仔的新手 我正在尝试一个非常简单的例子https ninenines eu docs en cowboy 2 0 guide getting started 但我已经陷入困境了 完成 make run 后我得到 mess ser
  • 从破折号的下拉列表中过滤行后显示数据表

    我是达世币新手 我想制作一个应用程序 我可以在其中从下拉过滤器中选择值 过滤数据集并显示数据表 我正在使用 dash table 我的示例应用程序代码如下 没有显示数据表 有谁知道我做错了什么 如何在仪表板应用程序中渲染仪表板 import
  • 片段中的选项卡视图

    我一直在尝试在片段内使用选项卡视图 但是通过导航栏访问它时出现了一些错误 第一次访问它时 我可以自由地从选项卡移动到选项卡 但是当再次访问此页面时从另一个片段 选项卡不再移动 我只卡在单个选项卡中 默认情况下仅显示第一个选项卡 请帮忙 这是
  • R 中截距回归模型的 abline 线不正确

    给出了可重现的示例 在下面 我得到一条 y 截距约为 30 的 abline 线 但回归表明 y 截距应该是 37 2851 我哪里错了 mtcars mpg 21 0 21 0 22 8 21 4 32 obs mtcars wt 2 6
  • 如何将参数从一个 Perl 脚本传递到另一个?

    我有一个运行的脚本 运行后它有一些信息需要传递给下一个要运行的脚本 Unix DOS 命令如下 perl x s param send pl perl x s param receive pl param send pl 是 Send pa
  • Java 9:什么是集合工厂方法? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 Java 9 的到来为 Java 的 Collections API 带来了许多新功能 其中之一就是集合工厂方法 它们是什么以及我如何正确实施它们 Note 1 To preve
  • 仅使用C语言的分布式系统设计

    我的工作是实现一个分布式节点系统 如 p2p 节点 每个节点 比如 A B C 和 D 执行某些功能 并且需要彼此交互以进行各种操作 例如同步操作和其他操作例如 15 个 A 节点与一组 5 个 B 节点交互 进入负载最少的节点队列并获取令
  • 检测图像中的字体

    我有一个非常奇怪的要求 即应该检测 JPG 图像中文本的字体 如何做呢 我想知道有什么办法可以做到这一点 提前致谢 您可以尝试这些服务 什么字体我认为这是识别图像中字体的最准确的服务 不是完全自动化的并且有限制 它只会匹配 MyFonts
  • 如何在 GitHub 上进行快进合并?

    因此 我的一位同事尝试使用 GitHub 的 Web 界面中的 通过快进合并 选项来合并分支 以保持历史记录免受虚假合并提交的影响 master自要合并的功能分支启动以来 它们合并到的分支尚未取得进展 有趣的是 这并没有按预期工作 所有提交