一般都是我folk別人,所以現在別人folk我之后,並向我提交了pull request,有點不知所措,所以小小研究了下。
比如現在mygoare fork了我的項目,修改后提交了pull request。我可以在github上看到他的pull request,GitHub如果檢測到Pull Request中包含的提交可以直接合並,會顯示自動合並的提示信息。點擊“Confirm Merge”按鈕即完成Pull Request中所含提交的自動合並。自動合並完成后,自動關閉Pull Request。
實際上在很多情況下,Pull Request所含提交有可能造成合並沖突,那樣的話GitHub不再、也不能提供自動合並功能,就必須采用手工合並的方式。
創建分支
$ git checkout -b mygoare-master master

現在有個mygoare-master 分支,並且現在在這個分支上

從mygoare的遠端拉下來,有沖突,無法自動合並,須手動合並
$ git pull git://github.com/mygoare/lehuo.git master

查看狀態(現在所在分支,兩個版本沖突的文件)紅色的為有沖突的文件
$ git status

可以查看沖突之處
$ git diff

用編輯器打開相應文件修改
例如homepage.html
<<<<<<< HEAD
我的代碼(多一個box-shadow)
=======
mygoare的代碼
>>>>>>> b8f7a4ef57ef38eefb24ff987a8c2e51a1a30b9e

選擇其一保留,得如下

改完所有沖突后,就沒有紅色沖突了
$ git add -A
$ git status

提交到本地
$ git commit -m "merge mygoare's code"

因為現在在mygoare-master分支上,需要切換到我的master
$ git checkout master

合並mygoare-master到我的master上
$ git merge mygoare-master

提交到遠端
$ git push

提交成功

github的pull requests自動變為0

/*********************************************************/
補充:
查看分支,帶星綠色的是現在所處的分支
$ git branch

刪除分支mygoare,這個是之前測試用的
$ git branch -D mygoare

添加遠端地址,遠端名任意起
$ git remote add mygoare https://github.com/mygoare/lehuo.git

查看遠端
$ git remote -v

獲取mygoare的內容
$ git fetch mygoare

合並
$ git merge mygoare/master

查看提交說明,看到此次合並沒有產生不必要的合並提交。
$ git log --graph -2

≡≡≡≡≡≡≡≡≡≡★ From Laker's blog ★≡≡≡≡≡≡≡≡≡≡
¤ ╭⌒╮☀Coding and changing~☀ ╭╭ ⌒╮
✪Fighting and insisting~✪