GitHub入门之二 参与一个项目编写
接上文:大多数时候我们也需要把别人的代码进行整合和修改,而不是简单的修改,这时就需要对一个项目进行修改。
注意,本系列文章主要说明在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入门之二 参与一个项目编写的更多相关文章
- github如何多人开发一个项目
github如何多人开发一个项目 一.总结 一句话总结:a.点项目里面的Settings->Collaborators,来添加参与者(比如github用户名), b.向他发送项目的link,让他 ...
- github入门到上传本地项目【网上资源整合】
[在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...
- github入门到上传本地项目
GitHub是基于git实现的代码托管.git是目前最好用的版本控制系统了,非常受欢迎,比之svn更好. GitHub可以免费使用,并且快速稳定.即使是付费帐户,每个月不超过10美刀的费用也非常便宜. ...
- 【github&&git】2、github入门到上传本地项目
[在原文章的基础上,修改了描述的不够详细的地方,对内容进行了扩充,整合了网上的一些资料] [内容主要来自http://www.cnblogs.com/specter45/p/github.html#g ...
- <转>github入门到上传本地项目
转自 http://www.cnblogs.com/specter45/p/github.html GitHub是基于git实现的代码托管.git是目前最好用的版本控制系统了,非常受欢迎,比之svn更 ...
- 【Git】GitHub之多人开发一个项目
首先我们要简单知道github跟Git的区别.git是版本控制工具, github是一个面向开源及私有软件项目的托管平台,也是程序员交流的地方. 接下来就开始讲怎么多人一起开发. 首先我们先拥有git ...
- C#程序员的春天之从零开始学习unity3D游戏开发入门教程二(创建项目及基本面板介绍)
一项目创建: 创建项目是开发的第一步. 运行untiy之后如果是第一次运行会弹出 我们这里随便创建一个项目. 二Untiy面板介绍: 三代码编辑器的切换: 这里我安装了vs2012. 到这里开发环境基 ...
- springboot2.0入门(二)-- 基础项目构建+插件的使用
一.idea中新建第一个HelloWorld项目 点击next: 下一步 在这里可以选择我们需要依赖的第三方软件类库,包括spring-boot-web,mysql驱动,mybatis等.我们这里暂时 ...
- 无废话MVC入门教程二[第一个小Demo]
mvc技术交流,欢迎加群: 本文目标 1.了解"模型"."视图"."控制器"的创建.调试和使用过程. 本文目录 1.创建模型 2.创建视图 ...
随机推荐
- 桥牌笔记:Skill 4 Series A–Deal 5
南主打5C. 此牌的难点在于:如果黑桃4-2分布时,有没有打成的希望?看来黑桃.红桃.方块各1个失张无法避免? 但希望还是有的,那就是东家拿2张黑桃,并且有3张将牌. 这时庄家可以清2轮将牌,拔2轮黑 ...
- STL--迭代器(iterator)
指针与数组 指针与其它数据结构呢?比如说链表? 存储空间是非连续的.不能通过对指向这种数据结构的指针做累加来遍历. 能不能提供一个行为类似指针的类,来对非数组的数据结构进行遍历呢?这样我们就能够以同样 ...
- Android PopupWindow使用之地区、学校选择二级联动
最近在做一个社交类APP时,希望用户在注册时根据地区来选择自己所在的学校,由于用户手动输入学校,可能会出现各种问题,不利于后面对用户信息的统计.于是决定在客户端做好设置,用户只要根据地区来选择就好.第 ...
- spring boot 1.4.1 with jsp file sample
<!--pom.xml--> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" ...
- javascript 的默认对象
一.日期对象 格式 : 日期对象名称=new Date([日期参数]) 日期参数: 1.省略(最常用) 2.英文-参数格式 ...
- 使用Apache Tomcat Maven插件部署运行 Web 项目
什么是Apache Tomcat Maven Plugin? Maven Plugin 是Apache Tomcat 提供的一个Maven插件,它可以在你没有tomcat容器时将任何一个war项目文件 ...
- n&(n-1) n&(-n)
n&(n-1) n&(-n) n&(n-1)作用:将n的二进制表示中的最低位为1的改为0,先看一个简单的例子:n = 10100(二进制),则(n-1) = 10011 = ...
- linux 同步IO: sync msync、fsync、fdatasync与 fflush
最近阅读leveldb源码,作为一个保证可靠性的kv数据库其数据与磁盘的交互可谓是极其关键,其中涉及到了不少内存和磁盘同步的操作和策略.为了加深理解,从网上整理了linux池畔同步IO相关的函数,这里 ...
- 从mysql数据表中随机取出一条记录
核心查找数据表代码: ; //此处的1就是取出数据的条数 但这样取数据网上有人说效率非常差的,那么要如何改进呢 搜索Google,网上基本上都是查询max(id) * rand()来随机获取数据. S ...
- 根据SQL Server排序规则创建顺序GUID
public static class GuidUtil { , , , , , , DateTimeKind.Utc).Ticks / 10000L; /// <summary> /// ...