git merge-提交或分支(不清楚的文档)?

时间:2018-12-28 12:58:40

标签: git branching-and-merging

从文档(https://git-scm.com/docs/git-merge

简介

buildNavItem

说明

  

“ git merge topic”将重播对主题分支

所做的更改

在synopsys中没有提及分支,它列出了git merge [-n] [--stat] [--no-commit] [--squash] [--[no-]edit] [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]] [--[no-]allow-unrelated-histories] [--[no-]rerere-autoupdate] [-m <msg>] [-F <file>] [<commit>…​] git merge --abort git merge --continue ,但所有示例都显示了[<commit>…​]有分支。

  • 帮助输出是否错误或我缺少什么?
  • 您可以合并特定的提交吗? (看起来好像是在2009年问过的:How to merge a specific commit in Git-是最新的吗?)

2 个答案:

答案 0 :(得分:2)

分支是对提交的引用。因此,您可以通过任何方式(分支,标签...)指定提交。

Git将搜索公共祖先并创建合并提交。合并提交表示自身从提交序列到公用祖先到指定引用的更改。

如果您只需要合并指定序列中的一定数量的提交(而不是全部),则需要将其中一些重新设置为单独的序列(或对每个提交使用cherry-pick命令)并合并新序列。或任何组合。

如果仅需要合并一个特定的提交,则可以cherry-pick进行合并,但这不是合并提交,而是通用提交。要真正做到将提交与分支合并仅包含一个提交,请使用以前的方法。

答案 1 :(得分:0)

您可以使用Cherry Pick

  1. 签出要在其中选择特定分支的分支 提交。在这种情况下,主分支:

    git checkout master

  2. 现在,您可以从功能分支中挑选樱桃了:

    git cherry-pick ae79cffbcf5e14e776903521009b9361fe35fd76

这将以哈希ae79cffbcf5e14e776903521009b9361fe35fd76挑选提交,并将其作为新提交添加到master分支上。

注意:它将在master分支中具有新的(和不同的)提交ID。

相关问题