使用和不使用斜杠的Git Merge

时间:2017-03-13 15:00:27

标签: git merge git-merge

我有一个关于将主/开发分支合并到git中的功能/工作分支的问题。有人可以解释以下命令中的差异(如果有的话)。我的分支已从开发中分支出来,我想用最新的开发更改来更新它。

git merge origin development
git merge origin/development

1 个答案:

答案 0 :(得分:1)

来自git-merge manual

git merge [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
  [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]
  [--[no-]allow-unrelated-histories]
  [--[no-]rerere-autoupdate] [-m <msg>] [<commit>…​]
     

...

     

<commit>…
  提交,通常是其他分支负责人,合并到我们的分支机构。

     

指定多个提交将创建一个包含两个以上的合并   父母(亲切地称为八达通合并)。

git merge origin development

这将合并由origindevelopment指定的两个提交(在这种情况下,这将是分支 1 的名称)到你当前的分支。

o--o     origin
    \
o--o \   development
    \ |
     \|
o--o--o  your-branch

这可能不是你想要的(我认为你甚至没有一个名为origin的分支。)

(1)除非您有一个名为origin的远程(可能),否则origin将被解释为远程引用origin/HEAD。< / p>

git merge origin/development

这会将origin/development指定的单一提交(即remote reference)合并到当前分支中。

o--o     origin/development
    \
     \
o--o--o  your-branch