【问题标题】:Pull requests not acting as a merge in Github (but not Bitbucket/Gitlab)拉取请求不作为 Github 中的合并(但不是 Bitbucket/Gitlab)
【发布时间】:2019-05-03 23:00:11
【问题描述】:

我已经使用 git 多年,但最近开始使用 github 来管理我的存储库。有没有其他人观察到拉取请求一旦获得批准,当您使用 gitkraken 等应用程序查看它时似乎不会绘制合并线?

这里我只是执行了一个从 staging 到 master 的拉取请求,在它合并之后,我没有看到任何表明我从最新的 staging 合并到我的 master(最近的提交)的行

我关心的原因是我观察到,稍后当我从 staging 到 master 进行第二次合并时,我遇到了合并冲突,这迫使我在不应该出现的情况下选择所有 staging 更改完全是合并冲突,因为 master 只是一种早期的暂存形式。

多年来,我已经在 bitbucket、代码提交和 gitlab 上完成了这些拉取请求,所以我不明白这里发生了什么 - 任何提示?

【问题讨论】:

  • 如何合并?有multiple options
  • 我在 github.com 上创建了一个拉取请求。然后我用壁球批准了我自己的 PR,但我告诉它保留旧分支(暂存)。
  • 这里的问题是你在合并之前压缩了提交。压扁的提交合并到 master,但您在旧分支上工作,即在未压扁的提交之上。当您想稍后合并阶段分支时,更改会再次应用,但来自其他提交(或另一个压缩提交)。砰,冲突!您是否总是这样做,压缩并继续处理未压缩的提交?
  • 谢谢!也许这是 github 的一个怪癖,因为我在尝试合并之前没有手动压缩。我只是在 github 中创建了一个 PR,并选择了 squash and merge 选项。我在样式化组件中所做的更改是一个新分支,因此不应该影响我在 staging 和 master 之间所做的事情。

标签: git github gitkraken


【解决方案1】:

看起来确实像做一个非壁球合并解决了这个问题。在这张图片中,您可以看到当我对 master 进行 squash 合并时,它显示为单独的提交,而当我对分支“non-squash-merge”进行非 squash 合并时,它显示为您所期望的.

所以我想这意味着我应该从功能分支到登台进行 squash 合并,以及从 staging 到 master 进行非 squash 合并。奇怪!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 2019-09-10
    • 2022-08-14
    • 1970-01-01
    • 2014-11-05
    • 2016-12-11
    • 2016-11-15
    相关资源
    最近更新 更多