搜尋

首頁  >  問答  >  主體

git - 怎麼把自己fork別人的倉庫中的程式碼更新到最新版本?

我在Github上fork了別人一個項目,然後修改之後按照正常流程提交PR,並且對方merged了。

我現在又需要對該專案進行貢獻程式碼,但是發現對方的專案倉庫也有別人更新了新程式碼上去,我怎麼讓我自己倉庫中fork的這個專案程式碼也同步到和對方倉庫一樣的最新版本程式碼,然後我再貢獻?

三叔三叔2753 天前1265

全部回覆(5)我來回復

  • 世界只因有你

    世界只因有你2017-06-20 10:08:00

    首先 把別人的倉庫加到你的上游遠程,通常命名為 upstream。操作一次就可以了。

    git remote add upstream  原作者仓库地址

    此時再用 git remote -v 就可以看到一個origin是你的,另外一個upstream是原作者的。

    其次 更新程式碼

    使用git fetch upstream 拉去原作者的倉庫更新。

    使用git checkout master 切換到自己的master

    使用 git merge upstream/master, merge或rebase到你的master

    回覆
    0
  • 为情所困

    为情所困2017-06-20 10:08:00

    如果從上次被merge後,沒有在修改你的倉庫中fork的程式碼,那麼我建議直接把你的倉庫中這個項目刪掉,然後重新fork.

    我個人不太喜歡樓上說的merge的方式 -- merge方式的歷史記錄不太好看。

    如果不想刪除重新fork,可以直接:

    git checkout master
    git remote add upstream 别人的代码库地址
    git fetch upstream/master
    git reset --hard upstream/master

    回覆
    0
  • 怪我咯

    怪我咯2017-06-20 10:08:00

    先加入你 fork 的函式庫的位址

    git remote add FORK-sync https://github.com/xxx/yyy.git
    git remote -v

    能看到類似的

    FORK-sync    https://github.com/xxx/yyy.git (fetch)
    FORK-sync    https://github.com/xxx/yyy.git (push)
    origin    git@github.xxx/born-1.git (fetch)
    origin    git@github.xxx/born-1.git (push)

    接著接受所 fork 函式庫的內容

    git fetch FORK-sync

    合併

    git merge FORK-sync/master

    再推送到你的遠端倉庫就行了

    git push

    回覆
    0
  • 天蓬老师

    天蓬老师2017-06-20 10:08:00

    雷雷

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-06-20 10:08:00

    這些圖文教學早就有了。 http://blog.csdn.net/qq133247...

    回覆
    0
  • 取消回覆