文档章节

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

绝望的八皮
 绝望的八皮
发布于 2012/11/04 13:27
字数 570
阅读 3732
收藏 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)

owensliu
owensliu
学习了。0
叶子一哥
叶子一哥
谢谢啊
qinerg
qinerg
终于学会了如何向github提交,改天支持一下jfinal-ext!
另外,TortoiseGit有图形化界面,介绍它可能对新手上手更有帮助~
JFinal
JFinal
顶 !!!
CQRS恶棍
CQRS恶棍
严重支持一下!
阿-凯
阿-凯
支持下
【Git 第2课】 GitHub是什么?

说Git就不能不说GitHub。 以下摘录一段网上的文章片段,介绍一下GitHub。 来自阳志平的网志《如何高效利用GitHub》http://www.yangzhiping.com/tech/github.html Q1:GitHub是什么 A1:一家公...

Harry_sir
2015/12/26
59
0
从0开始学习 GitHub 系列之「01.初识 GitHub」

1. 写在前面 我一直认为 GitHub 是程序员必备技能,程序员应该没有不知道 GitHub 的才对,没想到这两天留言里给我留言最多的就是想让我写关于 GitHub 的教程,说看了不少资料还是一头雾水,我...

googdev
2016/10/11
0
0
入门 | 敲黑板!你和GitHub高手就差这三条规则······

  选自Medium   作者:Ariel Camus   机器之心编译   参与:高璇、路      本文作者 Ariel Camus 介绍了每天使用 Git 和 GitHub 的重要性,还分享了三个帮助大家成为 Git 和 Gi...

机器之心
2018/08/17
0
0
GitHub 开源项目负责人谈开源

在All Things Open 2015上,GitHub的开源项目负责人Brandon Keepers给出题目为“open source principles for better engineering teams”的报告。在此之前,OpenSource.com的Robin Muilwijk对......

oschina
2015/10/18
4.1K
7
开放的力量—破解 GitHub 的发展密码

GitHub : 一个共享虚拟主机服务,用于存放使用 Git 版本控制的软件代码和内容项目。它由 Chris Wanstrath、PJ Hyett 和 Tom Preston-Werne 用 Ruby on Rails 编写而成。 —维基百科 但是这项...

oschina
2014/09/02
5.7K
17

没有更多内容

加载失败,请刷新页面

加载更多

Hibernate SQLite方言

以下代码有参考过github上国外某位大佬的,在发文的最新稳定版Hibernate上是可用的,有时间再仔细分析一下 import org.hibernate.dialect.Dialect;import org.hibernate.dialect.function.S...

CHONGCHEN
今天
3
0
CentOS 7 MariaDB搭建主从服务器

本文编写环境为CentOS7。确保关闭SELinux,关闭防火墙或者防打开指定端口。具体信息如下 #master[root@promote ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [r...

白豆腐徐长卿
今天
10
0
介绍python中运算符优先级

下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部...

问题终结者
今天
3
0
Spring Boot 2.x基础教程:快速入门

简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让...

程序猿DD
昨天
9
0
SpringSecurity认证流程源码级详解

SpringSecurity认证流程源码级详解 认证流程说明 认证结果如何在多个请求之间共享 获取认证用户信息

chendom
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部