在我的项目中,我目前有两个分支,一个名为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
我的问题是,如果合并成功,为什么它不让我承诺工作。这个消息也意味着什么?
答案 0 :(得分:1)
我愿意打赌你已经将你的分支合并在一起了,这是fast-forward合并。无论你在之前的分支上做过多少次提交,你的主分支都领先于原始分支;在这种情况下,它是17。
在快进合并中,没有合并提交,因此不会生成任何消息。这意味着您可以将这些更改推送到遥控器。
如果你真的想在合并这些分支之前创建合并提交,那么你需要明确你所做的合并类型。
git merge <branch> --no-ff
这显式创建了一个合并提交,并将在您选择的编辑器中为您打开一个提交消息对话框,并允许您提供提交消息。
答案 1 :(得分:1)
进行合并后,它会自动提交结果。现在,您已准备好将本地提交推送到远程存储库。
Your branch is ahead of 'origin/master' by 17 commits.
表示您尚未将本地提交推送到原点。