兑现我上周的承诺,简单介绍一下git和github的使用,由于本人也刚使用不久,介绍的比较基础,欢迎高手拍砖和补充。
一 安装 git
linux用户直接利用包管理器安装,本人ubuntu ,sudo apt-get install git
win下面用户可以安装msysgit.
二 注册github
1 访问https://github.com/,注册账号。
2 生成密钥
ssh-keygen -b 1024 -t rsa
默认在~/.ssh下会生成 id_rsa和 id_rsa.pub
id_rsa是private key,
id_rsa.pub是public key (密钥类型 RSA,密钥长度 1024)。
3 上传公钥到github
点击account setting
点击add ssh key ,复制 id_rsa.pub中内容添加到key中。
三 如何参与开源项目
下面以jfinal-ext项目为例,介绍github上的常用操作。
进入一个项目的首页 https://github.com/b1412/jfinal-ext
如果你只是想围观请点击watch和star.下载项目请 选择http或者git read-only的链接.
git clone git://github.com/b1412/jfinal-ext.git
如果想定制自己的项目或贡献代码
请点击fork,然后你就可以在你自己的资源库里面拥有这个项目了。
下图是我fork的jfinal项目
这个时候我们可以从我们自己的仓库中clone该项目。
1 git clone git@github.com:b1412/jfinal.git
2 git check -b myfeature 从当前分支(master)切出一个新分支myfeature。
3 修改代码之后 git commit -a -m "注释" 修改的代码就已经提交到本地仓库。
4 git push origin myfeature:myfeature 将该分支push到自己的远程仓库。
5 pull request
向上游提交pull request,上游确定之后你的分支会被merge进去。
6 上游项目更新代码之后如果更新到自己的仓库呢?
git remote add upstream git://github.com/jfinal/jfinal.git
upstream 是一个标示符 ,同样你也可以add其他远程仓库,如
git remote add b1412 git://github.com/b1412/jfinal.git
更新git pull upstream master或者git pull b1412 master
四 关于jfinal-ext
http://www.oschina.net/p/jfinal-ext
这个项目是围绕jfinal的内核进行的外围的扩展,如果大家有关于jfinal的扩展,可以向fork这个项目提交pull request。
如果你fork了jfinal-ext项目,然后想更新最新的代码,请执行
git remote add upstream git://github.com/b1412/jfinal-ext.git
git pull upstream master