Git合并另一个远程分支

现在,我看到很多来自Linux Torvalds和/或Gitster的提交,看起来像这样:

Merge branch 'maint' of git://github.com/git-l10n/git-po into maint … * 'maint' of git://github.com/git-l10n/git-po: l10n: de.po: fix a few minor typos 

要么:

 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upst… … …ream-linus Pull MIPS update from Ralf Baechle: ... * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (22 commits) MIPS: SNI: Switch RM400 serial to SCCNXP driver ... 

我不知道如何做到这一点,虽然我知道有关git remotegit checkoutgit merge ,我用它来合并叉(或“拉请求”),但它不会产生这样的消息,为什么呢? 以及如何有人这样做(请提供例子)?

PS:我是Linus Torvalds提交者的粉丝,就像他合并的描述有多详细一样; P

PS:这是我用来合并的东西:

 git remote add anotherremoot git checkout -b anotherbranch git pull remoteshortcut ...do tests... git checkout master git merge anotherbranch git push 

上面的例子我学到了: http : //viget.com/extend/i-have-a-pull-request-on-github-now-what

只需使用git pull将远程分支拉入master

 git remote add something git://host.example.com/path/to/repo.git git checkout master git pull something master 

或者在不添加遥控器的情况下进行:

 git pull git://host.example.com/path/to/repo.git 

git pull获取远程分支,并将其合并到本地分支。 如果可能,它会进行快进合并,这意味着它会将当前主服务器更新为最新的提交,而不会生成合并提交。 但是如果双方都有变化,就会像Linus和Junio那样进行合并,包括远程URL。

如果你想保证你得到一个合并提交,即使它可以快进,做git pull -no-ff 。 如果你想确保pull不会创建一个合并提交(如果双方都有变化,那么失败),做git pull --ff-only

如果你想包含一个更详细的消息,比如Linus提供的完整日志,请做git pull --log 。 如果你想编辑消息,而不是使用自动创建的消息,使用git pull --edit 。 请参阅git pull文档以获取更多选项。