【问题标题】:git merge from dev branch to master all commits upto a certain commitgit 从 dev 分支合并到 master 直到某个提交的所有提交
【发布时间】:2020-05-04 16:01:46
【问题描述】:

我从我的主分支创建了一个新分支。在我的新分支中,我有一些提交(A-B-C-D-E)。我想将提交 C 和之前的所有内容合并到 master 中。我知道我可以使用cherrypick A、C 和C。但是有没有办法告诉git 包含C 和之前的所有内容并合并到master 中?

【问题讨论】:

    标签: git merge commit


    【解决方案1】:

    只需运行git merge <em>hash-of-desired-commit</em>。

    事实上,git merge 就是这样工作的。 Git 不基于 branches,1 合并,而是基于 commits。当您运行git merge <em>branch-name</em> 时,Git 将名称转换为提交哈希,然后 然后 与哈希进行合并。该名称的唯一作用是设置默认提交 message(例如,merge branch br 或 merge branch br into feature)。


    1更准确地说,我的意思是分支名称。另请参阅What exactly do we mean by "branch"? 当您指定提交哈希时,生成的合并包含提交图的子集,并且单词 branch also 表示 a 的某个子集提交图,所以从这个意义上说,Git 确实合并了“分支”。

    这里的问题是branch这个词本身被过度使用了,这耗尽了它的意义。你有没有参加过每个人都叫布鲁斯的派对? “嘿,布鲁斯!布鲁斯让我告诉你布鲁斯给布鲁斯打了电话,转达布鲁斯无法做到的事情。请告诉布鲁斯,好吗?” (哪个布鲁斯实际上不会成功?)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      • 2013-09-21
      • 1970-01-01
      • 2012-01-21
      相关资源
      最近更新 更多