接上文:大多数时候我们也需要把别人的代码进行整合和修改,而不是简单的修改,这时就需要对一个项目进行修改。

注意,本系列文章主要说明在github网站上的操作,更多高级操作请使用git控制台

一、fork一个项目

打开一个项目,点击界面右上角的的“fork”,就会在你自己的项目库里创建一个代码的拷贝。

这份代码的主人就是你,你可以对代码进行任何修改。比如在此我fork了一个比特币的项目 https://github.com/bitcoin/bitcoin

进入自己的主页后看到有了一份项目的拷贝,而且和原来的项目一模一样。

画线部分体现了这个项目的源头,底部是项目的文件。接下来就可以对这个项目进行一系列的操作。

二、修改项目

git重要的功能就协作开发。当我们觉得代码有必要进行修改的时候,可以修改,并把更改提交给代码原始的主人,这样就完成了一次代码的协作。

点击我们项目中的某一个文件。可以看到这个文件的内容

其中上面的 contributor是这个文件的贡献者,他们为这个文件的编写做出了贡献。

如果你也想做贡献,就点击EDIT,进入编辑状态

添加一些文字

然后把我们的更改进行提交(commit),提交时要填写这次修改的内容,让其它人清楚修改了什么内容。填写完毕后点击commit changes,这时代码进行了更新,contributor里也看到了我的ID~!

三、提交修改申请

注意:刚才我们所做的内容都是在 自己的项目下进行的,举个例子,是在 icyfox-bupt/bitcoin 下进行的, 原始的项目 bitcoin/bitcoin 并没有发生变化。毕竟如果这样就可以修改代码的话也太不安全了!

如果想把我们的代码同步到原项目中,需要向原项目主提交申请:

回到项目首页,点击Pull Request,新建一个PR(Pull Request),在接下来的页面中会显示这次提交对代码所做的改动。

确认无误后点击上方的Create Pull Request,然后进行代码说明,再点击Send Pull Request,完成这次PR的申请。

这样在原项目的Pull Request列表里,就会出现我们的这一条。

原项目的作者可以判断我们的代码是否有用,来决定是否合并。当然由于我们的代码完全是无效的,所以一定会进入close中。

以上是在github网站上对项目进行git操作的一些步骤,注意这些操作都是网页操作,如果要正经的使用,还是要使用git bash这样的控制台。

转载请注明来自:http://blog.csdn.net/icyfox_bupt/article/details/23305039

GitHub入门之二 参与一个项目编写的更多相关文章

  1. github如何多人开发一个项目

    github如何多人开发一个项目 一.总结 一句话总结:a.点项目里面的Settings->Collaborators,来添加参与者(比如github用户名), b.向他发送项目的link,让他 ...

  2. github入门到上传本地项目【网上资源整合】

    [在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...

  3. github入门到上传本地项目

    GitHub是基于git实现的代码托管.git是目前最好用的版本控制系统了,非常受欢迎,比之svn更好. GitHub可以免费使用,并且快速稳定.即使是付费帐户,每个月不超过10美刀的费用也非常便宜. ...

  4. 【github&&git】2、github入门到上传本地项目

    [在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...

  5. <转>github入门到上传本地项目

    转自 http://www.cnblogs.com/specter45/p/github.html GitHub是基于git实现的代码托管.git是目前最好用的版本控制系统了,非常受欢迎,比之svn更 ...

  6. 【Git】GitHub之多人开发一个项目

    首先我们要简单知道github跟Git的区别.git是版本控制工具, github是一个面向开源及私有软件项目的托管平台,也是程序员交流的地方. 接下来就开始讲怎么多人一起开发. 首先我们先拥有git ...

  7. C#程序员的春天之从零开始学习unity3D游戏开发入门教程二(创建项目及基本面板介绍)

    一项目创建: 创建项目是开发的第一步. 运行untiy之后如果是第一次运行会弹出 我们这里随便创建一个项目. 二Untiy面板介绍: 三代码编辑器的切换: 这里我安装了vs2012. 到这里开发环境基 ...

  8. springboot2.0入门(二)-- 基础项目构建+插件的使用

    一.idea中新建第一个HelloWorld项目 点击next: 下一步 在这里可以选择我们需要依赖的第三方软件类库,包括spring-boot-web,mysql驱动,mybatis等.我们这里暂时 ...

  9. 无废话MVC入门教程二[第一个小Demo]

    mvc技术交流,欢迎加群: 本文目标 1.了解"模型"."视图"."控制器"的创建.调试和使用过程. 本文目录 1.创建模型 2.创建视图 ...

随机推荐

  1. [ASP.NET MVC] 使用CLK.AspNet.Identity提供以角色为基础的访问控制(RBAC)

    [ASP.NET MVC] 使用CLK.AspNet.Identity提供以角色为基础的访问控制(RBAC) 程序代码下载 程序代码下载:点此下载 前言 ASP.NET Identity是微软所贡献的 ...

  2. Linux 学习手记(3):Linux基本的文件管理操作

    复制文件和目录 在Linux中使用命令cp来复制文件或者目录,使用方式: cp 源文件(文件夹) 目标文件(文件夹) cp命令常用参数: -r 递归复制整个目录 -v 显示详细信息 移动.重命名一个文 ...

  3. R语言学习笔记:因子

    R语言中的因子就是factor,用来表示分类变量(categorical variables),这类变量不能用来计算而只能用来分类或者计数. 可以排序的因子称为有序因子(ordered factor) ...

  4. 讲解Canvas中的一些重要方法

    Canvas所提供的各种方法根据功能来看大致可以分为几类: 第一是以drawXXX为主的绘制方法: 第二是以clipXXX为主的裁剪方法: 第三是以scale.skew.translate和rotat ...

  5. 本地预览图片html和js例子

    本地预览图片html和js例子,直接上代码吧. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" ...

  6. 开始学习Oracle了

    开始学习Oracle了,加油 参考书Oracle开发实战经典,李兴华老师编著

  7. IOS 网络浅析-(六 网络图片获取之三方SDWebImage)

    网络图片获取是大多数app所能用到的,由于实际app开发中原生api很少用到,在这里就先不介绍了,以后有时间会给大家介绍.这篇文章会给大家介绍一个三方-SDWebImage.SDWebImage 是一 ...

  8. 物联网网络编程、Web编程综述

    本文是基于嵌入式物联网研发工程师的视觉对网络编程和web编程进行阐述.对于专注J2EE后端服务开发的童鞋们来说,这篇文章可能稍显简单.但是网络编程和web编程对于绝大部分嵌入式物联网工程师来说是一块真 ...

  9. iOS开发--隐藏(去除)导航栏底部横线

    iOS开发大部分情况下会使用到导航栏,由于我司的app导航栏需要与下面紧挨着的窗口颜色一致,导航栏底部的横线就会影响这个美观,LZ使用了以下方法.觉得不错,分享来给小伙伴们. 1)声明UIImageV ...

  10. ubuntu 获取root权限

    实验环境: ubuntu 13.04 背景:现在有一台装有 ubuntu 的电脑,如何获取root权限? 方案一:进入单用户维护模式,重置root密码. 方案二:U盘挂载原根分区,修改/etc/pas ...