fork和clone的區別,fetch與pull的區別

fork:在github頁面,點擊fork按鈕。將別人的倉庫複製一份到本身的倉庫。git

clone:將github中的倉庫克隆到本身本地電腦中。github

 

問題:

(1)pull request的做用

好比在倉庫的主人(A)沒有把咱們添加爲項目合做者的前提下,咱們將A的某個倉庫名爲「a」的倉庫clone到本身的電腦中,在本身的電腦進行修改,可是咱們會發現咱們沒辦法經過push將代碼貢獻到B中。fetch

 

因此要想將你的代碼貢獻到B中,咱們應該:spa

  1. 在A的倉庫中fork項目a (此時咱們本身的github就有一個如出一轍的倉庫a,可是URL不一樣)
  2. 將咱們修改的代碼push到本身github中的倉庫B中
  3. pull request ,主人就會收到請求,並決定要不要接受你的代碼
  4. 也能夠能夠申請爲項目a的contributor,這樣能夠直接push

 

(2)fork了別人的項目到本身的repository以後,別人的項目更新了,咱們fork的項目怎麼更新?

首先fetch網上的更新到本身的項目上,而後再判斷、merge。這裏就涉及了下一個問題,pull和fetch有啥區別。it

 

fetch+merge與pull效果同樣。可是要多用fetch+merge,這樣能夠檢查fetch下來的更新是否合適。pull直接包含了這兩步操做,若是你以爲網上的更新沒有問題,那直接pull也是能夠的。request

相關文章
相關標籤/搜索