github中fork项目更新方式

在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 [email protected]:hakits/libpcap.git
   48aacf2..9556d05  master -> master

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

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

时间: 2024-10-08 02:30:29

github中fork项目更新方式的相关文章

github中fork分支怎么同步源库

.title { text-align: center } .todo { font-family: monospace; color: red } .done { color: green } .tag { background-color: #eee; font-family: monospace; padding: 2px; font-size: 80%; font-weight: normal } .timestamp { color: #bebebe } .timestamp-kwd

Github 中提交项目到自己仓库的gh-pages分支

Github 中提交项目到自己仓库的gh-pages分支 git symbolic-ref HEAD refs/heads/gh-pages git add -A git commit -m "no message" git push origin gh-pages 参考:https://www.cnblogs.com/MuYunyun/p/6082359.html 原文地址:https://www.cnblogs.com/hglibin/p/9977888.html

如何将 GitHub 中的项目导入到 stackblitz.com 中

如何将一个 GitHub 中的项目导入到 stackblitz.com 中,然后开始编辑和编译呢? 例如,我们有一个项目在 GitHub 中的地址为:https://github.com/cwiki-us-angular/cwiki-us-angular-app 如何将这个项目导入到 stackblitz.com 中进行编辑和测试呢? 首先你需要在 stackblitz.com 中注册一个用户名和密码. 你可以可以使用你 GitHub 的用户名进行关联. 当你注册成功后,你可以访问下面的地址:h

在eclipse上使用github,向github中提交项目

1.下载egit插件 打开Eclipse,git需要eclipse授权,通过网页是无法下载egit的安装包的.在菜单栏依次打开eclipse→help→install new software→add,Name栏中输入egit,location栏中输入 http://download.eclipse.org/egit/updates/ ,点击ok进行下载.下载完成后会提示重启eclipse:如果已经有了就不需要了. 2.在Eclipse中生public key, 并添加到GitHub Repos

github删除fork项目

最近在github上浏览,不小心fork了一个项目.想删除,费了一点周折.现在记录下来. 1.点击选择fork的项目.我的fork项目已经删掉了.以es-ik为例. 2.进入后,点击Settings 3.进入页面后,点击Delete this repository 4.输入awnuxkjy/es-ik,选择"I understand the consequences,delete this repository" ok,搞定!

Github上fork项目后与原项目保持同步

**步骤** 假设来源为 `https://github.com/_original/_project.git`fork 项目为  `https://github.com/_your/_project.git` 1. 检出自己在github上fork别人的分支到目录下 git clone https://github.com/_your/_project.git 2. 进到 _project 目录下,然后增加远程分支(fork的分支),名为 update_stream(名字任意)到本地 git

删除GitHub中的项目

1.找到要删除的项目 2.点击settings,下拉到底部 3.点击delete this repository,输入你要删除的项目名称

JBoss AS7中进行项目部署

AS7的项目部署方式与原有版本相比有了较大变化,本文通过实例来讲解AS7中的项目部署方式. 有关JBoss AS7的下载和安装,请参考蓝点上面的另一篇文章: http://bluedash.net/spaces/JBoss%20AS%207%20快速上手 部署一个简单的Web项目 下载安装完成后,我们用standalone方式来启动JBoss AS7: liweinan@smart:~/projs/jboss-7.0.0.CR1/bin$ ./standalone.sh 启动后,我们试着向AS7

把VSO作为GitHub上JavaScript项目的免费CI服务器

(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:微软变得更加开放后,走向开放的不仅有.NET运行时.IDE工具,还有ALM服务器核心组件Team Foundation Server的SaaS版本Visual Studio Online. Visual Studio Online(VSO)是微软ALM产品线的服务器核心组件的SaaS版,只要有微软账号都可以免费开通自己的VSO账户,创建不限数量的私有项目,只是限制了5个免费开发人员账号.过去一