本篇介紹一下怎麼樣更新你在 Github 上已經 fork 過的專案 repository,
與原專案紀錄同步更新並且推上你的 Github。
更新 Github 上已經 fork 的 repository 方法有兩種,分別為
- 使用 git 指令操作
- 使用 github 網頁操作
使用 git 指令操作
首先,先切換到 repository 目錄下,
下面已貢獻 linux 專案為例,使用者名稱為 shengyu
用 git remote -v
查看遠端來源,
輸出 (一般會有兩個):1
2origin git@github.com:shengyu/linux.git (fetch)
origin git@github.com:shengyu/linux.git (push)
加入原來 linux 官方的 upstream1
git remote add upstream https://github.com/torvalds/linux.git
再用 git remote -v
查看遠端來源, 應該會有四個1
2
3
4origin git@github.com:shengyu/linux.git (fetch)
origin git@github.com:shengyu/linux.git (push)
upstream https://github.com/torvalds/linux (fetch)
upstream https://github.com/torvalds/linux (push)
把 upstream/master 更新到本地的 master (從 torvalds/linux upstream 拉更新下來)1
2git checkout master
git pull upstream master
如果本地有自己的 commit, 使用 rebase 方式更新 (避免不必要的 merge),
沒有的話跳過這步驟。1
git pull --rebase upstream master
更新到遠端的 origin 上 (就是推到自己的 https://github.com/shengyu/linux 上)1
git push origin master
使用 github 網頁操作
在 github 的網頁上可以看到 Fetch upstream 的下拉式選單,接著按下 Fetch and merge 按鈕就可以完成了。
其它參考
更新從 GitHub 上 fork 出來的 repository (或是同步兩個不同 server 端的 repository)
https://www.peterdavehello.org/2014/02/update_forked_repository/
其它相關文章推薦
Github 提交你的修改貢獻到開源專案
Github 如何更新 pull request
Git 顯示某個檔案的歷史修改記錄
Git 顯示整個repository的歷史修改記錄