1. 程式人生 > >碼雲、GitHub如何更新fork後的程式碼

碼雲、GitHub如何更新fork後的程式碼

碼雲、GitHub上有個很方便的功能叫fork,將別人的工程一鍵複製到自己賬號下。這個功能很方便,但有點不足的是,當源專案更新後,你fork的分支並不會一起更新,需要自己手動去更新(並且因為要保留自己修改後的程式碼,更不可使用強制更新的方法)。

命令列方法

1、在本地裝好Git客戶端,或者GitHub客戶端

2、clone 自己的fork分支到本地,可以直接使用github客戶端,clone到本地,如果使用命令列,命令為:

git clone [email protected]:Agent_ZhenyuanLiu/AllAgent.git

3、增加源分支地址到你專案遠端分支列表中(此處是關鍵),先得將原來的倉庫指定為upstream,命令為:

git remote add upstream https://github.com/被fork的倉庫.git

此處可使用git remote -v檢視遠端分支列表

4、fetch源分支的新版本到本地

[master]> git fetch upstream

5、合併兩個版本的程式碼

[master]> git merge upstream/master

6、將合併後的程式碼push到github上去

[master]> git push origin master
官方解決辦法:
git fetch upstream
# Fetches any new changes from the original repository
git merge upstream/master
# Merges any changes fetched into your working files

 

GitHub站內操作

  1. 開啟自己的倉庫,進入code下面。
  2. 點選new pull request建立。 
    git clone [email protected]:Agent_ZhenyuanLiu/AllAgent.git
  3. 選擇base fork
    git remote add upstream https://github.com/被fork的倉庫.git
  4. 選擇head fork
    [master]> git fetch upstream
  5. 點選Create pull request,並填寫建立資訊。
    [master]> git merge upstream/master

6. 點選Merge pull request 合併從源fork來的程式碼。

[master]> git push origin master
官方解決辦法:
git fetch upstream
# Fetches any new changes from the original repository
git merge upstream/master
# Merges any changes fetched into your working files

7. 完成。

 

本文部分內容借鑑自:

http://www.cnblogs.com/zyumeng/p/3442263.html

https://blog.csdn.net/qq1332479771/article/details/56087333

https://help.github.com/articles/fork-a-repo

http://www.shizuwu.cn/post/669.html

http://segmentfault.com/q/1010000000095921

http://my.oschina.net/luffyke/blog/70336