如何清除此Git历史记录并防止其再次发生

如何清除此Git历史记录并防止其再次发生,git,Git,下面是git树的外观: 我使用的当前工作流是: 在开发分支上工作并提交 完成更改后:git签出主机,git合并开发-m“合并消息” 创建网页包构建 提交并推送:git-add.,git-push-origin-master 重复 这导致了上面这段糟糕的历史,而我只期望有两个分支 问题: 我怎样才能清洗这个? 如何防止这种情况再次发生?在将开发合并到主控之后(步骤4之后),您应该将主控合并回开发。换句话说,您应该始终在最新的母版的基础上开始开发。目前,你的开发总是落后,真正的合并不是简单的快速合

下面是git树的外观:

我使用的当前工作流是:

  • 开发
    分支上工作并提交
  • 完成更改后:
    git签出主机
    git合并开发-m“合并消息”
  • 创建网页包构建
  • 提交并推送:
    git-add.
    git-push-origin-master
  • 重复
  • 这导致了上面这段糟糕的历史,而我只期望有两个分支

    问题: 我怎样才能清洗这个?
    如何防止这种情况再次发生?

    在将
    开发
    合并到
    主控
    之后(步骤4之后),您应该将
    主控
    合并回
    开发
    。换句话说,您应该始终在最新的
    母版
    的基础上开始开发。目前,你的
    开发总是落后,真正的合并不是简单的快速合并


    我看不出有任何理由在您的场景中使用
    development
    分支。您可以只使用单个
    master
    分支名称。

    您可以显示gitx为所有这些分支提供的分支名称吗?@njzk2据我所知,它们没有名称。在GITX的“分支”树中,只有主要分支,即代码>主< /代码>、代码>开发< /代码>和一些其他的,以避免那些讨厌的合并提交,然后考虑使用重新创建而不是合并。但是它们来自哪里呢?你能举个例子说明你是如何把这些分支分开的吗?你是否将你的
    development
    分支推到origin?我使用的整个工作流包含在我问题的4个步骤中。我不创建任何其他分支。我不明白GitX如何将其视为一个分支,而它应该只是主分支上的一个提交。我确实将开发推到originI,只在构建时使用分支主控。“开发”分支从不包含构建文件以避免冲突。@binaryCactus因此,您的分支总是存在分歧-这就是为什么您有如此奇怪的历史。这是个坏习惯。