我有2个远程存储库的项目。
1(原点)是我对项目进行修改的私有存储库。
2(上游)是我从中克隆的原始github代码库(--bare)。
时不时地,我会从上游获取更新,并将其合并到master中,它工作得很好。
然而,当我看到提交历史时,两个存储库(源/上游)的所有提交都会显示出来,很难说清哪里发生了变化(特别是我们内部的提交)。
保持主分支历史记录干净的好策略是什么?
我想出了一个主意,但不确定它是否可行或足够好。
在源库中创建一个分支,仅用于merging-in upstream更改。
After merge upstream to this branch(let's call it merge\_branch), I merge the merge\_branch to master hoping to see only 1 aggregated commit.发布于 2013-06-25 16:15:32
我不清楚你现在的方法是什么.然而,你所描述的新想法听起来像是通常的方式。
您的repo应该如下所示:
具有最终状态的
master分支(跟踪origin/master)upstream分支(跟踪upstream/master)在开始和稍后的时间点,您将上游分支合并到master中。在mastr上直接提交是你的工作。这取决于你是否将“上游”分支本身也推到了origin,合并提交通常是足够的信息。
编辑:经过讨论,你想要的东西变得清晰了。要将整个上游视为单个提交,您必须使用--squash进行合并。
我认为这是upstream的一种不同寻常的用法,但也是有意义的。如果你这样做了,我建议像上面那样运行upstream分支,以保持查看原始提交的能力(在本地和源上),使用squash合并,并在提交消息中记录上游分支的散列(删除提交列表)。
https://stackoverflow.com/questions/17290475
复制相似问题