git for

http://bailong139.blog.163.com/blog/static/207238100201422412659845/

需求:B要加入A的項目,不論是作爲B的初始項目進行二次開發還是成爲A項目的一員加入一起開發,步驟如下:

1.B首先要fork一個。
B首先到A的github上,也就是此項目的位置:https://github.com/A/durit,然後單擊fork,然後你(B)的github上就出現了一個fork,位置是:https://github.com/B/durit

2.B把自己的fork克隆到本地。
$ git clone https://github.com/B/durit
(當你clone到本地,會有一個默認的遠程名叫"origin",它指向了fork on github,也就是B上的fork,而不是指向A)

3.現在你是主人,爲了保持與A的durit的聯繫,你需要給A的durit起個名,供你來驅使。
$ cd durit
$ git remote add upstream https://github.com/A/durit
(現在改名爲upstream,這名隨意,現在你(B)管A的durit叫upstream,以後B就用upstream來和A的durit聯繫了)

4.獲取A上的更新(但不會修改你的文件)。
$ git fetch upstream
(這不,現在B就用upstream來聯繫A了)

5.合併拉取的數據
$ git merge upstream/master
(又聯繫了一次,upstream/master,前者是你要合併的數據,後者是你要合併到的數據(在這裏就是B本地的durit了))

6.在B修改了本地部分內容後,把本地的更改推送到B的遠程github上。
$ git add 修改過的文件
$ git commit -m "註釋"
$ git push origin master
(目前爲止,B上的github就跟新了)

7.然後B還想讓修改過的內容也推送到A上,這就要發起pull request了。
 打開B的github,也就是https://github.com/B/durit
 點擊Pull Requests
 單擊new pull request
 單擊create pull request
 輸入title和你更改的內容
 然後單擊send pull request
 這樣B就完成了工作,然後就等着主人A來操作了。

8.在B想要更新A的github上到內容時,結果衝突,因爲B和A同時修改了文件,比如說是README.ME,該這樣做:
$ git status(查看衝突文件)
找到衝突文件(README.MD)後,打開並修改,解決衝突後
$ git add README.MD
$ git commit -m "解決了衝突文件README.MD"
現在衝突解決了,可以更新A的內容了,也就是上面第4步和第5步

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章