赞
踩
from : http://gevin.me/370.html
有时候我们在github上看到一些比较好的项目,我们都会fork一下它,然后在本地进行操作,但是fork之后,项目是不会跟源项目保持同步的,需要我们自己进行一些操作让其同步。
我们以最近Nutz成员正在开发的QA系统为例,假如我们clone自己fork过来的项目的保存路径为:~/ngqa_gevinhjy
具体操作如下:
1、打开Git Bash
2、进入~/ngqa_gevinhjy
3、为了让项目与源项目同步,我们首先要将源项目pull到本地
1 | git remote add ngqa https://github.com/howe/ngqa.git #添加一个别名,指向ngqa项目的位置 |
2 | git pull ngqa master #pull ngqa下面的master分支 |
ps:由于我刚刚执行过,因此显示的是全部都是最新版本。
4、将pull下来的代码push到自己的项目上面
1 | 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。