Git手动合并

当收到他人的Pull Request后,该如何手动合并。实际上在很多情况下,Pull Request所含提交有可能造成合并冲突,那样的话GitHub不再、也不能提供自动合并功能,就必须采用手工合并的方式。
  • 将Pull Request发出者的派生版本库添加为一个新的源。(该操作是在本地的git目录下)
    例如收到来自gotgithub用户的Pull Request,不妨以wangxinyu为名添加新的源。
  • 此时版本库中有两个源,一个克隆时自动建立的origin,另外一个就是新增加的gotgithub。
    $ git remote -v
  • 获取远程版本库gotgithub的分支和提交。

    $ git fetch wangxinyu
  • 现在除了本地分支master外,还有若干远程分支,如下:

    $ git branch -a
  • 将远程分支remotes/wangxinyu/master(可简写为wangxinyu/master)合并到当前分支中。

    $ git merge wangxinyu/master
    Updating 00c6c4b..7ecdfe7
    Fast-forward
     errata.mkd |    1 +
     1 files changed, 1 insertions(+), 0 deletions(-)
  • 查看提交说明,看到此次合并没有产生不必要的合并提交。

    $ git log --graph -2
    * commit 7ecdfe7451412cfb2e65bb47c12cf2162e21c841
    | Author: Wang Sheng <wangsheng@ossxp.com>
    | Date:   Tue Aug 16 10:17:53 2011 +0800
    |
    |     Fixed #3: should be 项目, not 项.
    |
    * commit 00c6c4bfab9824bd967440902ce87440f9e87852
    | Author: Jiang Xin <worldhello.net@gmail.com>
    | Date:   Wed Aug 3 11:50:31 2011 +0800
    |
    |     Change font color for stronger text from red to brown.
  • 将合并推送到GitHub版本库中。

    $ git push
posted @ 2017-05-17 23:20  Yannis-chen  阅读(2098)  评论(0编辑  收藏  举报