文档章节

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

绝望的八皮
 绝望的八皮
发布于 2012/11/04 13:27
字数 570
阅读 3.9K
收藏 25

行业解决方案、产品招募中!想赚钱就来传!>>>

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

绝望的八皮

绝望的八皮

粉丝 392
博文 22
码字总数 10505
作品 2
其它
CTO(技术副总裁)
私信 提问
加载中
此博客有 6 条评论,请先登录后再查看。
用vertx实现高吞吐量的站点计数器

工具:vertx,redis,mongodb,log4j 源代码地址:https://github.com/jianglibo/visitrank 先看架构图: 如果你不熟悉vertx,请先google一下。我这里将vertx当作一个容器,上面所有的圆圈要...

jianglibo
2014/04/03
3.9K
3
beego API开发以及自动化文档

beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一步一步的测试中开发,期间QQ群里面很多人都问我如何开发,我的业余时间实在...

astaxie
2014/06/25
2.7W
22
5分钟 maven3 快速入门指南

前提条件 你首先需要了解如何在电脑上安装软件。如果你不知道如何做到这一点,请询问你办公室,学校里的人,或花钱找人来解释这个给你。 不建议给Maven的服务邮箱来发邮件寻求支持。 安装Mav...

fanl1982
2014/01/23
1.2W
6
mvc框架--Razor

Razor 是一个轻巧而优雅的servlet mvc框架 # 又一个轮子? no,写就她是为了证实我个人的某些想法,并在这个过程中练练手,这两种冲动碰撞在一起,自然而然地产生了Razor # Razor的现在和未来...

dtubest
2013/01/25
2.9K
0
Web开发组件管理器--Bower

Bower 是一个针对Web开发的包管理器。该工具主要用来帮助用户轻松安装CSS、JavaScript、图像等相关包,并管理这些包之间的依赖。 功能有些类似于Component。不同之处是,Component是围绕Git...

匿名
2013/02/01
1.2W
2

没有更多内容

加载失败,请刷新页面

加载更多

springboot 上传文件

package com.taven.demo;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframewor......

tavenpy
14分钟前
4
0
GitHub 标星 44k!史上最全技术面试手册!

整理:迷妹 大家好,我是为前端娱乐圈操碎了心的小迷妹,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标。 每...

祈澈菇凉
今天
0
0
Sublime Text3配置及控制台乱码[cmd杀死进程乱码/编译文件乱码]解决方法

Sublime Text3配置及控制台乱码[cmd杀死进程乱码/编译文件乱码]解决方法 参考文章: (1)Sublime Text3配置及控制台乱码[cmd杀死进程乱码/编译文件乱码]解决方法 (2)https://www.cnblogs...

osc_wl6d9wri
15分钟前
0
0
JS实现网页轮播(每隔5秒切换)

function onload() { <%=sb_js_onload.ToString() %> var timer = setInterval("jump_url()", 1000); } var arrurl = ["screen.aspx?code......

_Somuns
15分钟前
7
0
程序猿:论学习方式的重要性

大家都知道,做我们开发这行的,最核心的竞争力就是学习能力。技术一直在变化,框架一直在更新,学还是不学。 不学,你会落伍,学,太累了,根本学不过来。学习只要找对了方法,也没那么累。...

osc_zg8wy3xa
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部