為了更好的講解這個(gè)操作辜羊,在這里首先進(jìn)行聲明
Jesse3692
這個(gè)倉(cāng)庫(kù)姑且認(rèn)為是大神的倉(cāng)庫(kù)
chang2358
這個(gè)倉(cāng)庫(kù)是小白的倉(cāng)庫(kù)
大神的項(xiàng)目名稱(chēng)是叫django_crm
簡(jiǎn)單來(lái)說(shuō)就是小白想給大神貢獻(xiàn)代碼浇雹,但是由于不是大神git庫(kù)的成員沒(méi)辦法直接提交仇冯,所以就用了pull request
這個(gè)操作:先搞一個(gè)大神項(xiàng)目的副本啥繁,修改完成后月弛,通知大神來(lái)拉取自己的代碼
- 首先在
Github
上fork
大神的代碼到你的倉(cāng)庫(kù)
在大神的項(xiàng)目頁(yè)面鸥咖,進(jìn)行fork
操作符喝,等待一會(huì)后這個(gè)項(xiàng)目會(huì)出現(xiàn)在你的倉(cāng)庫(kù)中
- 然后到把
fork
過(guò)來(lái)的項(xiàng)目谤祖,clone
到本地
其實(shí)克隆之后git會(huì)自動(dòng)添加遠(yuǎn)程倉(cāng)庫(kù)的地址的婿滓,而且也不需要添加大神項(xiàng)目的倉(cāng)庫(kù)地址(看網(wǎng)上很多人都做這個(gè)操作,后來(lái)想了想是多此一舉粥喜,一是你沒(méi)人家倉(cāng)庫(kù)的權(quán)限凸主,二是后面你提交代碼時(shí)也是push到自己的倉(cāng)庫(kù))
- 在本地修改對(duì)應(yīng)的代碼
-
push
到自己的倉(cāng)庫(kù)
$ git push origin master
- 在自己的倉(cāng)庫(kù)進(jìn)行
pull request
的操作
首先點(diǎn)擊這個(gè)New pull request
按鈕,創(chuàng)建一個(gè)pull request
Github
會(huì)首先比較你倉(cāng)庫(kù)中的項(xiàng)目與大神項(xiàng)目的區(qū)別额湘,并且會(huì)檢查這兩者之間是否可以進(jìn)行合并操作
等了一會(huì)之后卿吐,Github
提示Able to merge
可以進(jìn)行合并后,你就可以點(diǎn)擊Create pull request
了锋华。
這里會(huì)讓你填一個(gè)對(duì)你修改代碼的一個(gè)說(shuō)明嗡官,然后就可以真正的創(chuàng)建一個(gè)pull request
了(點(diǎn)擊這個(gè)Create pull request
按鈕)
- 然后大神對(duì)你提交的代碼進(jìn)行查看,如果沒(méi)問(wèn)題他會(huì)進(jìn)行代碼的合并
下面的話(huà)就是以大神的視角查看毯焕,一般來(lái)說(shuō)在你提交pull request
后大神會(huì)收到一封來(lái)自Github
的郵件谨湘,這樣的話(huà)他就會(huì)查看你提交的內(nèi)容
打開(kāi)你的提交后,首先看到的是你之前的說(shuō)明,讓他先明白你對(duì)他的代碼做了哪些變動(dòng)紧阔,當(dāng)然在這個(gè)頁(yè)面大神是可以查看你提交的內(nèi)容的坊罢,如果沒(méi)啥問(wèn)題他就可以對(duì)你提交的內(nèi)容進(jìn)行合并了Merge pull request
然后大神確認(rèn)合并Confim merge