在GIT中合并分支 - 这个消息意味着什么

时间:2015-06-11 22:46:21

标签: git merge atlassian-sourcetree

在我的项目中,我目前有两个分支,一个名为DEMO的分支,另一个名为Master的分支。我试图将DEMO合并为Master。分支Demo有一些Demo没有的文件以及其他一些更改。为了做到这一点,我使用Source Tree进行合并。合并完成后。我假设它成功(因为我没有得到任何冲突消息)。我试图提交Master分支(其中包含所有合并更改)。 那时Source Tree告诉我没有什么可以提交的,在命令提示符下我得到了这个

$ git commit -m "Merge Demo into Master"
# On branch master
# Your branch is ahead of 'origin/master' by 17 commits.
#   (use "git push" to publish your local commits)
#
nothing to commit, working directory clean

我的问题是,如果合并成功,为什么它不让我承诺工作。这个消息也意味着什么?

2 个答案:

答案 0 :(得分:1)

我愿意打赌你已经将你的分支合并在一起了,这是fast-forward合并。无论你在之前的分支上做过多少次提交,你的主分支都领先于原始分支;在这种情况下,它是17。

在快进合并中,没有合并提交,因此不会生成任何消息。这意味着您可以将这些更改推送到遥控器。

如果你真的想在合并这些分支之前创建合并提交,那么你需要明确你所做的合并类型。

git merge <branch> --no-ff

这显式创建了一个合并提交,并将在您选择的编辑器中为您打开一个提交消息对话框,并允许您提供提交消息。

答案 1 :(得分:1)

进行合并后,它会自动提交结果。现在,您已准备好将本地提交推送到远程存储库。

Your branch is ahead of 'origin/master' by 17 commits.表示您尚未将本地提交推送到原点。