Git 将提交完全拉入另一个分支(不合并)

Git 将提交完全拉入另一个分支(不合并),git,git-branch,git-merge,git-pull,git-fetch,Git,Git Branch,Git Merge,Git Pull,Git Fetch,我的结构与以下类似: C1 -- C2 -- C3 \ -- C4 我想把C3拉到C4的后面。(注意:C3和C3a保存文件) 如果我试图合并或拉我只是告诉我,我已经是最新的 如何强制“重新合并”以便将C3放回顶部?如果我理解正确,您可以使用将C3提交移动到当前分支中C4的顶部,我认为您不能这样做,因为该分支中已经合并了C3 不过,您可以尝试在新分支上执行cherry picking提交,这将提供所需的结果: 首先,创建新分支: git checkout -b

我的结构与以下类似:

C1 -- C2  --  C3
               \ -- C4
我想把
C3
拉到
C4
的后面。(注意:
C3
C3a
保存文件)

如果我试图合并或拉我只是告诉我,我已经是最新的


如何强制“重新合并”以便将
C3
放回顶部?

如果我理解正确,您可以使用将
C3
提交移动到当前分支中
C4
的顶部,我认为您不能这样做,因为该分支中已经合并了C3

不过,您可以尝试在新分支上执行cherry picking提交,这将提供所需的结果:

  • 首先,创建新分支:

    git checkout -b new_branch <C1>
    
  • 现在,在新的#u分支上选择cherry pick C#:

    git cherry-pick C4
    
    git cherry-pick C3
    
  • 上述内容应在
    新分支中给出所需结果:

    C1 -- C2  --  C3
      \-- C4  -- C3 
    

    你的工作流程是什么?
    C2
    会发生什么情况?@Cratylus我的图表设计不好,
    C2
    应该也在另一个分支上。您的图表令人困惑:您的两个提交具有相同的标签(
    C3
    )。@Jubobs您是对的(使用TFS的时间太长)。我会改进的。“这样更好吗?”班克斯桑,不过我还是很困惑。
    C3a
    代表/包含什么?您不只是想交换
    C3
    C4
    并获得
    C1--C2--C4--C3
    C1 -- C2  --  C3
      \-- C4  -- C3