gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 11:03:14 24 4
gpt4 key购买 nike

因此,我的一位同事尝试在 Web 界面中使用 GitHub 的“通过快进合并”选项合并一个分支,以保持历史记录免受虚假合并提交的影响(他们合并到的 master 分支,自即将合并的功能分支已启动)。
有趣的是,这并没有按预期工作:所有提交都有新的提交哈希。
仔细检查一下,似乎合并选项实际上被称为“Rebase and Merge”,它似乎真的相当于 git rebase --force ,更改提交者信息(合并的人以及合并发生的时间)。
我花了很长时间才确认我的怀疑确实如此,因为我无法使用 cmdline 工具向我展示功能分支上的原始提交和看似相同的提交(具有不同的哈希值)之间的区别在主分支上。
(最后,我发现 gitk 显示了提交的提交者和作者;最后我发现我也可以通过 git log --pretty=raw 获取此信息)
所以:

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

    根据 GitHub 的文档和我自己的测试,不可能使用相同的提交哈希进行快进。

    The rebase and merge behavior on GitHub deviates slightly from git rebase. Rebase and merge on GitHub will always update the committer information and create new commit SHAs, whereas git rebase outside of GitHub does not change the committer information when the rebase happens on top of an ancestor commit. For more information about git rebase, see the "Git rebase" chapter from the Pro Git book.


    https://docs.github.com/en/github/administering-a-repository/about-merge-methods-on-github

    关于github - 如何在 GitHub 上进行快进合并?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60597400/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com