如何利用git和github参与开源项目

原创
2012/11/04 13:27
阅读数 4K

     兑现我上周的承诺,简单介绍一下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

展开阅读全文
加载中
点击加入讨论🔥(6) 发布并加入讨论🔥
6 评论
25 收藏
4
分享
返回顶部
顶部