http://bailong139.blog.163.com/blog/static/207238100201422412659845/
git for
需求: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步
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.