github上fork别人项目后如何与源项目保持同步

有时候我们在github上看到一些比较好的项目,我们都会fork一下它,然后在本地进行操作,但是fork之后,项目是不会跟源项目保持同步的,需要我们自己进行一些操作让其同步。

我们以最近Nutz成员正在开发的QA系统为例,假如我们clone自己fork过来的项目的保存路径为:~/ngqa_gevinhjy

具体操作如下:

1、打开Git Bash

2、进入~/ngqa_gevinhjy

3、为了让项目与源项目同步,我们首先要将源项目pull到本地

git remote add ngqa https://github.com/howe/ngqa.git #添加一个别名,指向ngqa项目的位置
git pull ngqa master #pull ngqa下面的master分支

ps:由于我刚刚执行过,因此显示的是全部都是最新版本。

4、将pull下来的代码push到自己的项目上面

git push


第一次push的时候,可能会出现上述的错误提示,原因是你没有为你的项目添加一个public key。

接下来我们为本机添加一个。

复制id_rsa.pub里面的内容,进入项目主页,点击“Admin”按钮,选择“Deploy Key”,点击“Add deploy key”,将复制的内容粘在里面,如图:

6、添加完public key后,现在就可以push了。

如上图,现在不会提示没有权限了,因为的版本是最新的,所以此处显示已是最新版本。

现在你可以去查看一下你的项目,是不是已经跟源项目同步了呢。

总结:假如你fork了几个项目,本人自己测试了一下,发现每push一个项目的时候,.ssh文件夹下面的id_rsa.pub的内容都必须重新生成,即在项目下通过ssh-keygen生成。建议每操作一次的时候,可以将原来的.ssh文件夹备份,下次使用的时候,只需要重命名为.ssh文件夹即可。

本文固定链接: http://gevin.me/370.html | Gevin's Blog

该日志由 admin 于2012年03月15日发表在 Java 分类下, 通告目前不可用,你可以至底部留下评论。
原创文章转载请注明: github上fork别人项目后如何与源项目保持同步 | Gevin's Blog
关键字: ,

github上fork别人项目后如何与源项目保持同步:目前有1 条留言

  1. 沙发
    yushiro:

    遇到与你相同的问题,搜到了下面的文章。
    http://www.haojii.com/2011/08/how-to-git-merge-from-forked-repository/
    这篇文章写的比你简单, 不过思路估计是一样的, GIT不熟悉,我按照上面网址的步骤试过, 比较方便。

    2012-06-28 17:06 [回复]

发表评论

快捷键:Ctrl+Enter