GitHub
引言
什么是版本控制?
现在有这样的一个场景:我们在写代码的时候,写完了提交给项目经理审核,项目经理指出让你修改,一般的做法:复制一份原代码,在新代码上进行修改。这样即使项目经理对修改后的不满意,你也能回退到原来的版本。
什么是版本控制系统?
版本控制系统就是自动的帮我们完成上面操作的系统或者说就是一个应用程序。
版本控制系统如何帮我们控制版本?
我们需要进行版本控制的文件都要提交到一个仓库(其实就是一个隐藏文件夹)里面,我们对文件做出的修改都会被这个版本控制系统侦测到,如果我们要保留这个版本的文件,就要通过版本控制系统提供的命令把文件提交到仓库里面,然后版本控制系统就会自动为我们提交的文件打上版本号。
仓库分几种?
本地仓库:建立在本地的文件夹。
远程仓库:建立在互联网的服务器内的文件夹。
版本控制系统分为几种?
(1)分布式版本控制系统
配有上述两个仓库,在你的电脑上有一个本地仓库,在远程的服务器上有一个远程仓库。
我们在提交文件的时候会先提交到本地仓库,然后在有网络的情况下,再从本地仓库提交到网络上的远程仓库。Git 就是一个典型的分布式版本控制系统
(2)集中式版本控制系统
只配有上述的远程仓库,当然如果你的这台电脑就充当远程服务器的角色,那远程仓库其实就在你这台电脑上。我们在提交文件的时候是直接提交到远程仓库。SVN 就是一个典型的集中式版本控制系统
什么是 Git?
Git是一个帮我们管理文件版本的程序,其实就是分布式版本控制系统。
什么是 GitHub?
GitHub 就担任了上述的远程仓库这一角色,就是一个存放在外网服务器上的一个文件夹。
GitHub
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。
GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
GitHub可以托管各种git库,并提供一个web界面,但它与外国的SourceForge、Google Code或中国的coding的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
注册账号

首先注册一个账号“Sign up for GitHub”

填写你的个人账号信息

注册完成,登录你刚刚填写的邮箱账号,进行账号认证


登录账号
返回官网选择sign in

填写你的登录信息

查看你感兴趣的开源项目
登录后使用搜索功能,用关键词搜索你感兴趣的项目

我搜索了android作为演示,我们可以看到项目的热度

创建仓库
点击首页右上角的加号,选择“New repository”创建新仓库

填写仓库名称,仓库描述,权限分为:公开和私有,最后勾选“Initialize this repository with a README”,这样就创建了第一个GitHub仓库
其中Readme是markdown 文本格式,用来作为项目介绍,一般会包含简介,安装方式,主要功能介绍以及开源许可协议。

创建完成,即跳转到新创建的仓库;
其中,“Create new file”表示在仓库里创建新文件
“Upload files”表示从本地上传文件到仓库
“Clone or download”表示将仓库下载到本地

Git
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
下载安装git
登录https://git-scm.com/downloads,下载合适的版本,我的电脑是windows的

安装勾选默认就行

安装完成后选择Git GUI

选择“show ssh key”在你电脑上获得一个密匙,在你的GitHub账号里边输入之后,你的电脑就和你的GitHub账号联系在一起了,这样以后就可以十分方便的通过Git bash 随时上传你的代码。

选择“generate key”

添加密码

生成密钥

回到github官网选择settings

选择ssh keys

选择new ssh key

填入刚刚生成的密钥

填入账号密码进行确认

添加完成

总结
刚开始我对github的印象只是“软件开发者的聚集地”“开源代码分享网站”,通过这次的作业,我了解到github还可以作为团队合作的平台,通过git搭建的分布式控制系统,团队成员可以各自编写程序的一部分,通过git工具上传到github。虽然我对这两个工具的使用还不够熟悉,但是随着使用时间的增长和团队合作的增多,它们一定给我带来更多的便利!

浙公网安备 33010602011771号