大家都知道,git被戲稱爲全球最大的同性的交友平臺.在這裏,不僅能完成各種項目的學習,更能完成各種姿勢的學習(嗚嗚嗚嗚嗚~小火車經過啦).那麼爲了更好的開車(學習).我想我們有必要學習pull request 這種協同合作方式.
pull request 這專業名詞.有點不太好解釋,看字面意思還有點拗口.意思說就說:請求拉去更改?emmmmmm?(不是拉去槍斃?)
當我們從別人的項目發現一個bug時,我們正好可以修改它,但是我們又不具備操作別人的倉庫的權限.如果推送我們的操作到別人的倉庫,就會出現以下的錯誤.
remote: Permission to EasySoftwareLicensing/software-licensing-php.git denied to [email protected]
fatal: unable to access 'https://github.com/xxxx/xxxx.git/': The requested URL returned error: 403
那怎麼辦呢?那就可以通過pull request
啦.我們可以fork
別人的項目,然後clone
項目到本地,本地完成修復bug的操作,push
到我們遠程倉庫.然後我們在遠程上通過pull request
,提交請求告訴別人:”嘿,我發現了你們項目一個bug並修復好了,請求把這次修復併入到你們項目中去.”然後別人看見這個請求,如果同意的話,merge
之後,你就完成了一次pull request
了.其實這個過程就是協同合作,也就我們通常所說的在github上完成自己的貢獻.
那我們下面就說說 怎麼開車 哦不 怎麼學習這種開車的姿勢 哦不 怎麼學習 pull request
爲完成示範,我們假定了有兩個用戶,一個小明,一個小陳.小陳要和小明進行協同合作,就需要fork小明的倉庫.
1.fork小明的倉庫
fork中
小陳發現了url地址欄的變化以及有提示的變化
2.小陳clone倉庫到本地
3.在本地中修改代碼
4.完成add 以及 commit
git add gitdemo.md
git commit
5.push 修改到小陳的遠程倉庫裏
git push origin master
遠程倉庫查看
6.小陳倉庫完成pull request
注意查看pull request
的信息
小明登錄賬號後查看遠程倉庫的信息
小明對小陳的pull request
進行merge
PS:當merge出現衝突了,請先解決掉衝突,然後merge.
如果出現了衝突,請參考以下步驟.
Step 1: From your project repository, check out a new branch and test the changes.
git checkout -b SquirrelWorkpace-master master
git pull https://github.com/SquirrelWorkpace/gitdemo.git master
Step 2: Merge the changes and update on GitHub.
git checkout master
git merge --no-ff SquirrelWorkpace-master
git push origin master
merge
之後的結果,如果對結果不滿意,或者後悔了,需要重新來,可以點擊那個revert按鈕.啊哈哈哈哈.