Github拉请求显示越来越多的旧合并

时间:2019-06-21 18:32:41

标签: git github merge pull-request

我实际上对git很有经验,但是这种怪异使我感到困惑。

我们有一个受保护的主分支机构。每次我想添加代码时,我都会从master那里获取最新的代码,然后在此基础上新建一个本地分支。提交我的更改,将其推送到我的新分支中,然后将PR恢复为主控

标准的东西。

在此特定回购中我注意到的一件事是,我在分支中越来越多的“变更” ,而它们只是几天前的合并 strong>。

例如,我最新的PR有:

Merge branch 'master' of github.com:xxxx/xxxx into master

总共8次,最古老的是11天。 在所有这些合并之前,我的一个旧提交已经合并到master中,每次进行PR时,我都会看到此提交。最后是我在分支中添加的单个提交。

在查看更改的文件时,仅包含我在分支机构中实际更改的文件,因此合并我的PR完全没有害处。这很奇怪又烦人。

在本地,如果我删除一个已经合并的分支,我也会收到警告“包含未合并到master的提交”,尽管实际上并没有。

每次我进行新的PR时,旧的提交都是日志中的第一件事,所以我想知道是否有搞砸的事情。

有什么想法吗?即将对我的存储库进行核对并重新克隆。

1 个答案:

答案 0 :(得分:1)

您似乎正在从master分支,然后没有使用master的新更新来更新您的分支。您可以在分支中获取新提交,并使用rebase

同步历史记录

我建议您遵循以下流程:

  • git checkout master
  • git pull
  • git checkout [feature branch]
  • git rebase origin/master -i
  • git push origin [feature-branch] --force

在重新基准化步骤中,您可以选择所有提交,也可以使用提交旁边的ssquash选项(而不是显示在您旁边的默认pick)来压缩它们当文本编辑器为您的交互式基准库打开时提交。

此后,应将您的master分支的历史记录与功能分支的历史记录同步,并且只会显示您的提交(我建议压缩所有这些合并提交-如果您遵循此变基工作流,则甚至不需要要进行任何合并,您可以进行重新设置-不添加自己的提交)。

干杯!