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.创建视图 ...
随机推荐
- js得到屏幕宽高、页面宽高 (window.screen.availHeight)等--笔记
window.screen.availWidth 返回当前屏幕宽度(空白空间) window.screen.availHeight 返回当前屏幕高度(空白空间) window.screen.width ...
- Android logcat
logcat是Android中一个命令行工具,可以用于得到程序的log信息. 基本命令 logcat使用方法如下所示: [adb] logcat [<option>] ... [<f ...
- C标准库<string.h>实现
本文地址:http://www.cnblogs.com/archimedes/p/c-library-string.html,转载请注明源地址. 1.背景知识 <string.h>中声明的 ...
- iOS开发中的一些定时器
在软件开发过程中,我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法.在这个时候,我们就需要用到定时器. 然而,在iOS中有很多方法完成以上的任务,到底有多少种方法呢?经过查阅资 ...
- Android四大组件之BroadCast(续)
1.哪一个方法可以发送广播? activity.sendbroadcast or context.sentbroadcast or service.sendbroadcast 2.创建广播接受程序必须 ...
- C# 3个线程A B C 依次打印123123123..
C#经典面试题: 有3个线程,A线程打印1,B线程打印2,C线程打印3,请用程序实现依次打印123123123... class Program { static void Main(string[] ...
- android 5.X之使用Palette
这几天为了学些android5.0版本sdk的新特性,折腾了好久.AndroidStudio被我反复的安装又卸载又安装,在eclipse和AndroidStudio 之间来回折腾.没想到sdk升级到5 ...
- Core Data初试
CoreDataStack.swift import CoreData class CoreDataStack: NSObject { let context: NSManagedObjectCont ...
- 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单
我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...
- hive的常用命令
#从hive中直接进入hdfs的daas/bstl/term/userinfo目录下 hive> !hadoop fs -ls /daas/bstl/term/userinfo; 查看hive表 ...