Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git合并上一次提交_Git_Merge - Fatal编程技术网

Git合并上一次提交

Git合并上一次提交,git,merge,Git,Merge,所以我想我有一件简单的事情要做。我有两个分支。在“master”中,我想要合并分支“feature”,但我不想要“feature”的最新更改 目前 --M0--M1--M2 \ F0--F1--F2 想要: 抱歉,我不知道如何绘制它,但我的主控头(M2)应该得到F1之前的所有更改,基本上,它应该相当于: --M0--M1--M2--M3 \ F1--F2 那么,如何进行合并,使主分支不拾取最新的F2提交 编辑:

所以我想我有一件简单的事情要做。我有两个分支。在“master”中,我想要合并分支“feature”,但我不想要“feature”的最新更改

目前

--M0--M1--M2
    \
      F0--F1--F2
想要:

抱歉,我不知道如何绘制它,但我的主控头(M2)应该得到F1之前的所有更改,基本上,它应该相当于:

--M0--M1--M2--M3
               \
                F1--F2
那么,如何进行合并,使主分支不拾取最新的F2提交

编辑:问题背景

我有一个主分支,并开始了一个功能分支。然后我在feature分支中做了一个更改(a),该更改应该在master分支中。然后我在feature分支(属于那里)中做了一个更改(B)。我希望更改(A)在主功能中,从那里到另一个功能分支,更改(B)保留在功能分支中


将来,功能分支可能会从主节点接收更改。然后,当该功能完成时,它将合并回master,并且该分支可以被删除。

让我们假设您有一个提交历史记录,就像您在示例中提供的那样,具有以下分支引用

--M0--M1--M2 <- master
   \
    F0--F1--F2 <- feature

--M0--M1--M2您始终可以通过SHA-1键直接引用有问题的提交,您应该在日志中看到它。或者,你可以做一个相对的参考,例如
F2^
F2~1
。泽克的回答涵盖了你所问的问题。但是,您没有提到是否计划继续开发“功能”,以及是否计划再次将“功能”合并到“主”中,这需要一个更复杂的答案。@AndrewC说得好。马特,如果我的回答没有完全涵盖你的情况,请告诉我。我很乐意编辑我的答案以提供您所需的一切。除了您对^语法的描述之外,信息都很好。用于在合并提交中指定父编号的。对于“first parent”的特殊情况,它与~syntax相同。@AndrewC我知道,但我想保持它的简单,因为在这种情况下,此信息并不重要。但你没有注意到这一点,这正是我想知道的。感谢这里的所有信息,仍然在学习分支和合并的细节,这很有帮助@Matt我可以强烈推荐完全免费的。这是我开始使用git时使用的资源,它涵盖了很多主题。如果您只是想了解有关分支的更多信息,请查看。
--M0--M1--M2 <- master
   \
    F0--F1--F2 <- feature
# Make sure you are on the master branch when executing the command
git merge <reference-on-F1>