合并 GIT 中的分支 - 此消息是什么意思

Merging branches in GIT - What does this message mean

在我的项目中,我目前有两个分支,一个名为 DEMO 的分支和另一个名为 Master 的分支。我正在尝试将 DEMO 合并到 Master 中。分支 Demo 有一些 Demo 没有的文件以及其他一些 changes.In 命令,我正在使用 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

我的问题是,如果合并成功,为什么不让我提交工作。另外,该消息是什么意思?

我敢打赌您已经将您的分支合并在一起,并且这是 fast-forward 合并。无论您在上一个分支上有多少次提交,您的 master 分支都领先于原点;在这种情况下,它是 17.

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

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

git merge <branch> --no-ff

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

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

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