【问题标题】:Merging branches in GIT - What does this message mean在 GIT 中合并分支 - 此消息是什么意思
【发布时间】:2015-06-11 22:46:21
【问题描述】:

在我的项目中,我目前有两个分支,一个名为 DEMO 的分支,另一个名为 Master 的分支。我正在尝试将 DEMO 合并到 Master 中。分支 Demo 有一些 Demo 没有的文件以及其他一些更改。为了做到这一点,我使用 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

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

【问题讨论】:

    标签: git merge atlassian-sourcetree


    【解决方案1】:

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

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

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

    git merge <branch> --no-ff
    

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-25
        • 2019-09-09
        • 1970-01-01
        • 2011-10-03
        • 1970-01-01
        相关资源
        最近更新 更多