超級詳細Gitbash實戰教程02:Pull Request流程

1、教程介紹

(話比較累贅,只是希望通過大白話更多的幫助到各位小白們,大神勿噴哈)
(話比較累贅,只是希望通過大白話更多的幫助到各位小白們,大神勿噴哈)
(話比較累贅,只是希望通過大白話更多的幫助到各位小白們,大神勿噴哈)
由於Github是開源項目,所以這次教程是講解我們從別人那裏Fork了一個倉庫到我們自己的Github上,此時如何對我們自己Github上的倉庫進行相關操作(這個第一篇文章已經非常詳細的講解了),以及對被Fork的項目如何操作。(大白話即假設A用戶在Github上看到B用戶的一個很好的代碼倉庫,A於是通過Fork將其複製到了自己Github下,此時A不僅可以對複製到自己Github中的倉庫進行操作,也可以對B用戶下的倉庫中內容進行操作,只是在我們操作後提交給B用戶時需要B用戶同意後才能成功(B用戶覺得你提交的內容非常好對他之前的代碼進行了很好的完善,B同意你的提交,此處你的提交就同步到B用戶的倉庫中了,如果B不同意此時也可以給你反饋信息等),不然任何一個人都可以亂改倉庫中的內容了

建議先學習第一篇文章:超級詳細Gitbash實戰教程01

2、準備工作

  1. 需要兩個Github的用戶A和B(此處我又新註冊了一個Github用戶);
  2. 在B用戶中新建一個倉庫,在倉庫中新建一個BBB.txt文件,文件內容爲“我是B用戶的倉庫文件”
  3. 假設是A用戶Fork了B用戶的一個倉庫(倉庫名爲Test_B)

3、詳細過程

3.1、B用戶相關操作
  1. 新建一個名爲Test_B的倉庫,並在倉庫下新建一個BBB.txt文件,文件內容爲“我是B用戶的倉庫文件
    在這裏插入圖片描述在這裏插入圖片描述
3.2、A用戶相關操作

1.登錄A用戶,通過B用戶Test_B倉庫的地址找到這個倉庫,A用戶Fork B用戶的Test_B倉庫,此時就複製到了自己的Github中;
在這裏插入圖片描述在這裏插入圖片描述

  1. 在電腦本地任意盤符新建一個Gitbash_Test文件夾,並將剛剛Fork的倉庫克隆到剛剛這個文件中。(是在A用戶下操作哈,連接的庫地址是A用戶Fork後的倉庫地址)
    在這裏插入圖片描述

  2. 新建一個分支,在分支中修改BBB.txt文件內容(新增一行內容:我是A用戶,我完善了這個BBB.txt文件內容),並將分支推送但遠程倉庫。此時A用戶的遠程倉庫就同步更新了這個BBB.txt文件
    在這裏插入圖片描述VI編輯去編輯這個BBB.txt文件(新增一行內容)
    在這裏插入圖片描述

  3. 刷新Github,即可看到剛剛提交的內容,此時你覺得這個修改還不多,同時也想分享給B用戶,即樂於助人的我想把完善的文本內容告訴B,此時我們新建一個Pull Request
    在這裏插入圖片描述點擊這個創建即可,往下拉可以查看修改的內容
    在這裏插入圖片描述這裏顯示修改的內容
    在這裏插入圖片描述創建成功
    在這裏插入圖片描述

3.3、B用戶開始操作了
  1. 登錄B用戶,進入倉庫中可看到一條Pull Request的一條通知,

在這裏插入圖片描述

  1. 此時如果你覺得A寫的內容很不錯也同意採納,點擊【Merge pull request】,即可將A完善的內容同步到你自己的倉庫中。此時Pull Request關閉。
    在這裏插入圖片描述
  2. 如果不贊成A用戶完善的內容或是希望A用戶按他的思路繼續完善一下,即可在下方寫上備註信息後點擊【comment】,此時這個Pull Request沒有關閉。(相當於你兩正在通話中)
    在這裏插入圖片描述
  3. 如果你發現這人反饋給你的信息是違法或是感覺他就是在搗亂,點擊【Close and comment】關閉掉這個Pull Request即可。此時如果A還是想給你推送,A用戶仍需要重新建立Pull Request。(相當於B掛斷了A的電話,但是A仍然可以重新撥打)
    在這裏插入圖片描述
3.4、假設B同意修改,但是需要A繼續完善一下,A用戶開始操作了(即執行了3.3中的第3步)
  1. 登錄A用戶即可看到B反饋的信息:此時A需要再完善一下文本內容,過程可以參考3.2重新完善BBB.txt文件,並進行提交即可。
  2. 此處爲了方便不重複我們直接在A的Test_B倉庫下修改這個BBB.txt文件,先切換到剛剛新建的分支FZ_A中,編輯BBB.txt文件,此處新增了一行:“我是A用戶,我完善了一行內容”
    在這裏插入圖片描述在這裏插入圖片描述
3.5、該B用操作了
  1. 由於一開始B用戶並沒用關閉到Pull Request,所以3.4這個操作完成後,會自動Pull Request到B用戶這裏。此時我們登錄B用戶即可看到剛剛A用戶又完善後的內容。
    在這裏插入圖片描述在這裏插入圖片描述
  2. 此時我們再查看BBB.txt文件即可看到是最新內容:
    在這裏插入圖片描述在這裏插入圖片描述

4、A用戶直接獲得B用戶的倉庫最新內容

  1. 由於本地倉庫是和A的遠程倉庫關聯,所以不能通過之前的語句直接獲取B遠程倉庫最新內容。可以通過命令:git remote add 自己命名的遠程倉庫名稱(不是B遠程倉庫的名稱可以自己隨便命名,此處爲CK_B) B遠程倉庫的地址(地址是真實的B用戶的遠程倉庫Test_B的地址)來直接添加B遠程倉庫。(即本地倉庫也關聯了B用戶的遠程倉庫)

  2. 通過命令:git remote -v即可查看關聯的倉庫數量已經地址(git remote:是查看關聯的遠程倉庫,不包含地址)
    在這裏插入圖片描述

  3. 通過命令:git checkout master切換成主分支(因爲剛剛沒有在B用戶遠程倉庫中新建其他分支,默認只有一個主分支master)

  4. 通過命令:git fetch 剛剛自己命名的遠程倉庫名,來將這個名字對應的遠程倉庫內容拉取到本地倉庫中,獲取的實際是剛剛我們Pull Request B用戶遠程倉庫Test_Bmaster分支下的內容(此處CK_B對應的是B用戶的Test_B遠程倉庫)。
    在這裏插入圖片描述

  5. 通過命令:git merge 自己命名的倉庫名/master,將B用戶Pull Request到Test_B倉庫分支master合併到master分支。此時本地倉庫中的內容與B用戶遠程倉庫Test_B的內容一致了。

  6. 通過命令:git remote rename 倉庫名字 新命名的倉庫名。用來重命名倉庫的名字

  7. 通過命令:git remote -v(或是git remote)查看現在管理倉庫的名稱與地址

  8. 通過命令:git remote rm 倉庫名字,刪除這個管理的倉庫;
    在這裏插入圖片描述

  9. 2

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