【问题标题】:Github squash commits from web interface on pull request after review comments?审查评论后,Github 壁球从 Web 界面提交拉取请求?
【发布时间】:2016-06-27 03:57:56
【问题描述】:

假设我有 5 次提交的提交历史。我知道我可以在发出拉取请求时在本地重新设置我的提交,然后将它们重新设置为单个提交。

一个常见的用例是:

  • 进行本地提交,处理功能
  • 壁球提交
  • 提出拉取请求
  • 接收评论 cmets
  • 适当更新 PR

我可以在我的机器上本地执行此操作,然后再次推送我的更改(使用 -f,因为 rebase 使其与远程不同步)。这有点烦人。

但是,这要求我每次处理评论 cmets 时都进行一次变基 - 有什么方法可以从 Web 界面执行此操作吗?

或者我的工作流程有问题,我应该将我的每个“review cmets”提交直接修改到主要 PR 提交上吗?

【问题讨论】:

    标签: git github workflow


    【解决方案1】:

    您不再需要在本地进行任何 rebase/squashing:只需将您的提交推送到您的 PR 分支。

    原始仓库的所有者(如果他/她选择这样做)将为您压缩这些提交(自 2016 年 3 月起):

    请参阅“Squash your commits”和the documentation:它确实允许新的工作流程,既适用于您的贡献者,也适用于原始存储库的维护者。

    正如我在下面评论的:它将像 PR 的合并一样实现:

    这真的很像现在存在的东西,除了 GitHub 已将 --squash 添加到他们的合并命令中。仅此而已。

    【讨论】:

    • 我们昨天在工作中谈到了这个——这一定不是愚人节的恶作剧吧? :) 我很好奇它将如何工作,因为如果它基本上是变基,那么它将需要您所有的中间提交自动成功变基(并且不需要手动合并)。如果它只需要“最终状态”与“初始状态”并且有差异吗?这很好。
    • @enderland 这确实不是愚人节! GitHub 必须在 github.com/dear-github/dear-github 剧集之后收听。
    • 是的。我只是担心如果它正在执行 rebase/squash 操作,它在实践中将无法正常工作......
    • @enderland 在实践中它会很好地工作,因为它只会产生一个添加到主分支的提交。
    • 我知道这就是最终结果。但它将如何实施?它是在做一个自动的git rebase --squash master吗?还是它在做一个更复杂的补丁或差异过程?其中一些会比其他的更好。如果不能自动工作,会不会导致“无法压扁,合并冲突”的情况?
    猜你喜欢
    • 2017-10-28
    • 2018-04-24
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 2011-05-05
    相关资源
    最近更新 更多