git合并-提交还是分支(不清除文档)?

git合并-提交还是分支(不清除文档)?,git,branching-and-merging,Git,Branching And Merging,来自文件() 概要 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>

来自文件()

概要

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
git合并[-n][--stat][--no commit][--squash][--[no-]编辑]
[-s][-X][-s[]
[-[no-]允许不相关的历史记录]
[-[no-]重新进行自动更新][m][F][…​]
git合并--中止
git合并--继续
描述

“git合并主题”将重播对主题分支所做的更改

synopsys中没有提到分支,它列出了
[…​]但所有示例都显示带有分支的
merge

  • 是帮助输出不正确还是我遗漏了什么
  • 你能合并一个特定的提交吗?(看起来像是在2009年被问到:-它是最新的吗?)

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

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

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


      如果您只需要合并一个特定的提交,您可以使用cherry pick,但它不是合并提交,而是通用提交。要真正将提交合并到只包含一个提交的分支,请使用前面的方法。

      您可以使用cherry pick

    • 签出要在其中挑选特定对象的分支 提交。在这种情况下,主分支:

      git签出主机

    • 现在,您可以从功能分支中选择:

      git cherry pick ae79cffbcf5e14e776903521009b9361fe35fd76

    • 这将使用哈希ae79cffbcf5e14e776903521009b9361fe35fd76选择提交,并将其添加为主分支上的新提交


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

      分支是对提交的引用。您可以运行git日志查看提交历史记录