【问题标题】:Why there are many commits messages in PR为什么 PR 中有很多 commits 消息
【发布时间】:2021-07-02 11:21:48
【问题描述】:

为什么我的 PR 中有很多提交消息?

我是这样走的,

我在主分支然后创建新分支

1 - git checkout -b feature-abc main

开发完成后(对本地分支进行一些提交)

2 - git checkout main

3 - git pull origin main

4 - git checkout -

5 - git merge --no-ff main

添加一些消息并解决冲突

6 - git push origin feature-abc

请看下面的截图,我只想查看此 PR 上的最后一次提交。我如何做到这一点没有任何问题?(缺少代码)

【问题讨论】:

  • 您的项目是否在 GitHub 上使用常规合并、rebase 或 squash 合并来进行合并?
  • @bk2204 我正在使用常规合并 (git merge --no-ff main)。我试过git rebase main。我丢失了一些代码

标签: git github git-merge pull-request


【解决方案1】:

Pull Request 是 Github 的一项功能,允许将分支合并操作请求到另一个分支。此提交历史记录是在该分支中执行的提交历史记录。

【讨论】:

  • 这个答案虽然看起来有点重言,但实际上似乎是正确的观点。您说“开发完成后(对本地分支进行一些提交)”。好的,所以除非你对此做点什么,否则所有那些“对本地分支的一些提交”都将成为拉取请求的一部分,因为这就是拉取请求:它是一个分支的合并,在服务器端执行,并且你的分支有“一些提交”,所以它们都是被合并的历史的一部分。您对反向合并的使用降低了前向合并期间冲突的风险,但它不会缩短历史记录。
  • @matt 你知道删除 PR 上不必要的提交吗?
  • 有很多方法可以重写提交历史。例如,您可以轻松地将整个分支压缩为一个提交。但我不知道你所说的不必要是什么意思。目前还不清楚你的目标是什么,无论如何这不是你想要的。
  • @matt 谢谢你的帮助..检查我自己的答案
【解决方案2】:

我删除了我的本地主分支

git branch -D main

然后从远程获取

git fetch

然后从main创建一个新分支

git checkout -b new-branch main

开发完成后,我再次签出 main 并拉取(仅限 ff)

git pull origin --ff-only main

然后结帐到我的 dev 分支并与 main 合并(仅限 ff)

git merge --ff-only main

最终结果

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多