git合并2个旧提交并将合并放入原点:master head

时间:2011-11-09 14:33:34

标签: git merge

我需要在origin:master的头部进行2次提交和总合并的新合并。

最简单的方法是什么?

2 个答案:

答案 0 :(得分:1)

你的问题中可能没有足够的信息来给出一个好的答案,但这里有一些可能有用的指针。

在git中,您使用命令git merge <OTHER-BRANCH>创建一个合并,它将始终将另一个分支合并到您当前的提交中 - 通常这是您所在的分支的尖端。因此,在最简单的情况下,如果您的某个提交位于master的顶端,而另一个提交称为B,那么您可以执行以下操作:

  • 确保您使用master
  • 使用git checkout master
  • 使用A
  • master合并到git merge B
  • 将该结果推送到master存储库中的origin分支:git push origin master

如果您的某个提交不在master的提示 - 假设它被称为A - 那么您仍然可以从A和{{1}创建合并提交与...:

B

但是,此合并提交不会包含git checkout A git merge B 的历史记录,因此如果您将其推送到master中的master,则会重写origin的历史记录在该存储库中,如果您正在协作,则会产生问题。如果你确实想要继续这样做,你可以用以下方式“强制”推动:

master

...为避免混淆,您可能还想重置git push -f origin HEAD:master 分支以指向该提交:

master

答案 1 :(得分:0)

如果您想要2个特定提交,git cherry-pick就足够了。如果你敢(主人通常被保留用于稳定或释放的东西),那么直接从新的分支或主人那里做到这一点 - 不要破坏主人!)