首页 > 其他 > 详细

github中fork项目更新方式

时间:2015-05-09 20:27:57      阅读:359      评论:0      收藏:0      [点我收藏+]

在github上看到好的开源项目可以fork成为自己的项目。但是如果fork的项目更新了自己的项目要怎样保持更新呢?

经过一番搜索后找到方法,下面记录下流程。

方法一:登录你的github帐号,选择fork的项目,点击左上角绿色的图标,鼠标放上去以后提示:compare ,review, create a pull reques。

方法二 :将fork后自己的项目clone到本地。

git clone https://github.com/hakits/libpcap.git

$ git remote -v
origin	https://github.com/hakits/libpcap.git (fetch)
origin	https://github.com/hakits/libpcap.git (push)
将fork之前的项目添加到本地的远程分支中,即作者的分支:

$ git remote add libpcap https://github.com/the-tcpdump-group/libpcap.git
$ git remote -v
libpcap	https://github.com/the-tcpdump-group/libpcap.git (fetch)
libpcap	https://github.com/the-tcpdump-group/libpcap.git (push)
origin	https://github.com/hakits/libpcap.git (fetch)
origin	https://github.com/hakits/libpcap.git (push)


同步
同步上游仓库到你的仓库需要执行两步:首先你需要从远程拉去,之后你需要合并你希望的分支到你的本地副本分支。

拉取
从远程仓库拉取将取回其分支以及各自的提交。它们将存储在你本地仓库的指定分之下。
$ git fetch libpcap 
From https://github.com/the-tcpdump-group/libpcap
 * [new branch]      android-libpcap-0.9.8 -> libpcap/android-libpcap-0.9.8
 * [new branch]      bare       -> libpcap/bare
 * [new branch]      lbl        -> libpcap/lbl
 * [new branch]      libpcap-1.6 -> libpcap/libpcap-1.6
 * [new branch]      libpcap-1.7 -> libpcap/libpcap-1.7
 * [new branch]      libpcap_0_6 -> libpcap/libpcap_0_6
 * [new branch]      libpcap_0_7 -> libpcap/libpcap_0_7
 * [new branch]      libpcap_0_8 -> libpcap/libpcap_0_8
 * [new branch]      libpcap_0_8rel1 -> libpcap/libpcap_0_8rel1
 * [new branch]      libpcap_0_9 -> libpcap/libpcap_0_9
 * [new branch]      libpcap_1.1 -> libpcap/libpcap_1.1
 * [new branch]      libpcap_1.2 -> libpcap/libpcap_1.2
 * [new branch]      libpcap_1.3 -> libpcap/libpcap_1.3
 * [new branch]      libpcap_1.4 -> libpcap/libpcap_1.4
 * [new branch]      libpcap_1.5 -> libpcap/libpcap_1.5
 * [new branch]      libpcap_1_0 -> libpcap/libpcap_1_0
 * [new branch]      libpcap_1_0_rel0b -> libpcap/libpcap_1_0_rel0b
 * [new branch]      libpcap_1_4rel0 -> libpcap/libpcap_1_4rel0
 * [new branch]      linux-2-2-packet -> libpcap/linux-2-2-packet
 * [new branch]      master     -> libpcap/master
 * [new branch]      origin     -> libpcap/origin


git branch -av 列出本地分支和远程分支

-a 查看所有的分支

-v 查看各个分支最后一个提交对象的信息

$ git branch -av
* master                                48aacf2 Merge pull request #433 from msekletar/master
  remotes/libpcap/android-libpcap-0.9.8 91f35ab copy config.h from subdirectory on Android rather than run configure
  remotes/libpcap/bare                  feab221 regenerated configure with --with-libnl switch
  remotes/libpcap/lbl                   9de7b67 pcap-0.4
  remotes/libpcap/libpcap-1.6           4fec216 Fix previous change.
  remotes/libpcap/libpcap-1.7           b846943 Fix check for <linux/if_bonding.h>.
  remotes/libpcap/libpcap_0_6           6c7150d Update the version number.
  remotes/libpcap/libpcap_0_7           85aac6d Get ready for libpcap 0.7.2
  remotes/libpcap/libpcap_0_8           fec98c1 Corrected the definition of IN_EXPERIMENTAL (0xfxxxxxxx is the experimental space)
  remotes/libpcap/libpcap_0_8rel1       9ad5954   spec file for 0.8


合并
现在我们已经拉取了上游仓库,我们将要合并其变更到我们的本地分支。这将使该分支与上游同步,而不会失去我们的本地更改。
$ git merge libpcap/master 
Already up-to-date.


推送到服务器:

$ git push origin master 
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 289 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
To git@github.com:hakits/libpcap.git
   48aacf2..9556d05  master -> master



过一段时间后又需要同步项目了仅需要执行 git fetch libpcap 命令以下的操作即可。


参考:https://help.github.com/articles/syncing-a-fork/

github中fork项目更新方式

原文:http://blog.csdn.net/hanglinux/article/details/45603085

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!