GITHUB基于互联网的版本控制快速入门手册
转载:http://blog.csdn.net/jason69181/article/details/7047619
Github介绍wiki:http://en.wikipedia.org/wiki/GitHub
Github官网:https://github.com/
如果你还在用cvs、或者svn或者还有什么其他balabala的版本控制工具,那么你就out了。如果你还不知道Github,那么现在你的机会来了。
在2005年,Linus Torvalds(Linux之父)为了解决在处理Linux内核上的补丁程序遇到的问题而开发了Git版本控制系统。几年之后,出现了以Git为基础的具有漂亮的web使用界面的GitHub,这使得对这个平台上的项目进行分支操作,打补丁,和提交代码等都变得异常简单容易。它采用的标准化的wiki和问题跟踪系统,这意味着所有的项目是按同一种方式搭建起来的。一旦你学会了如何向GitHub上的一个项目提交代码,你也就知道了如何向其它所有项目提交代码了。
其实最重要的是你知道或者能使用那就更好了,同时能增加你在与客户沟通谈资中的亮点哦。下面,我们将简单地介绍和使用Github来实现基本的版本控制。当然你也可以直接看官方更详细的文档,如果你愿意借鉴本文档中的一些东西,也保留的你权利。
优点:
1.方便的合并和派生机制,可以在任意版本上派生和合并
2.社交化的版本库,只不过这是一个私有的,公共视图不可见的库。
3.基于互联网的存储和分布,相当于在互联网上的分布式版本库。
前提:
为了之后的操作方便,你如果愿意可以去github.com 注册一个账户,for free。
一、安装和配置
(1).下载安装可参见:http://help.github.com/win-set-up-git/,以下仅以windows为例
安装完成,在windows中启动Github,可见如下界面,
到这里你已经完成了一大步了,下面我们继续。
(2)生成SSH key
在如上图中的bash界面输入:
当然黄色部分,你可以换成你的Email地址和相应的目录,在提示的时候输入你希望的到时用ssh连接版本库的公钥密码。
公钥生成完成后,将会看到类似上图的界面。并在你设定的相应的目录下产生一个 .ssh文件,里面的id_rsa.pub文件将是我们接下来所需要的(前提是你必须设置隐藏文件可见,在windows中的话)。
(3)将你的ssh key与Github账号绑定
在Dashboard首页右上方,操作1
在AccountSetting界面依次点左侧,“SSHPublic Keys” 然后“Add Another public key”,将上面创建ssh key后,所在目录下的.ssh目录中id_rsa.pub文件内容拷贝并复制到下图所示框中(Title不是必填项
再点add key,OK,完成这一步。
(4)测试
在Github的bash界面输入如下
在如下界面输入“yes“
正常情况下会出现如下界面,至此安装部分基本结束。
(5)配置用户名和邮件信息
其中黄色部分你可以换成你的个人名字和email
(6)配置Github token
在Dashboard首页右上方,然后点account settings,在图中位置中你的信息token复制
你可以在Github的bash界面用ctrl+insert键粘贴剪切板中的内容。
最后,在bash中如入如上命令,即可完成配置。
二、创建版本库
(1)在dashboard首页,右下角点“new repository”
(2)填写项目信息,然后点“create Reporsitory”,
(3)这一步,我们将提交一份文件至版本库,代码可以相同的方式提交
Github的bash其实有点像linux的bash,你可以打开vi,也可以执行linux命令,当然不是所有的命令都有,至少常见的命令是有的。
我们依次要执行的命令有
创建目录、进入目录、git初始化、创建文件(上传版本库的上传文件)
(4)将你的本地的Github仓库与Github账户连接,(当然你必须进入相应的带.git的文件目录下,不然会提示你不能找到.git文件。.git文件存在于你执行git init后初始化的目录中)
文件提交
用过svn的同学大概能想起点什么来了。
你将能看到类似如下的界面,
至此,你已经学会文件提交了。
·连接远程版本库:
下次使用,打开bash后,输入
$ ssh –v git@github.com就能连接远程版本库了.
·提交已存在文件:
如果对已存在文件提交,可以直接使用
$ git commitfilename –m ‘message’其中黄色部分可按照实际情况填写。此提交将文件提交至本地存储版本库中。若要提交至远程账户,可执行以下命令
$ git push origin master至此,文件已与Github账户所在的版本库同步。
·本地与服务器版本同步(可参照下图中的命令):
这个同步功能有些不太好使,如果在linux上,你用ssh后,可能效果会更好
三、派生新版本
你可以选择先从版本库中取一份拷贝到你的本地,相当于checkout一份,如SVN中:
$ git clone git@github.com:username/Spoon-Knife.git
如黄色部分可替换为你的信息
然后配置远程属性,
这里有几个概念,通过clone下来的版本有一个默认的远程名叫“origin”。此origin与你Github账户拥有的版本库的主版本不同。如果需要追踪主版本,可以使用另外一个远程名“upstream”。
更多功能:
1.你还可以将主版本中的文件更新至你的分支版本库中或者合并(对于你的分支版本操作)
2.你还可以向主版本发起合并请求,等待相关人员将你的代码加入主版本
3.删除分支版本、脱离主版本等
还有社交化的功能等着你去摸索。比如你可以查看你关注的人正在进行的项目,你可以加入别人正在开发的项目,建立分支。然后写代码,再然后,提交代码。如果你正在考虑使用什么版本控制工具,在这里强烈推荐Github。
分享到:
相关推荐
GitHub 初识 GitHub 简介 GitHub 优势 GitHub 注册 安装 Git 安装 Git 通过 Git 验证 GitHub 创建仓库 在 GitHub 上创建新仓库 提交你的第一个修改 Fork 一个仓库 Fork 一个示例仓库 同步你的 Fork 仓库 检索其他...
尚硅谷git和github入门使用手册,资料来源与于互联网,侵删。
Github使用指南的基础篇,适合Github入门使用!!!!
该pdf文档是针对那些入门使用gitub的学者的,这个文档将带着你走入github的世界,并使你能够使用和了解github.
CImg库参考手册中文版CImg库参考手册中文版CImg库参考手册中文版CImg库参考手册中文版CImg库参考手册中文版CImg库参考手册中文版CImg库参考手册中文版
本快速入门系列是官方出品的学习和掌握ThinkPHP5.0 不可多得的入门指引教程和标准参照,针对新手用 户给出了较易理解的使用。 本系列围绕WEB 开发和API 开发常用的一系列基础功能进行循序渐进的讲解。推荐在看完和...
本文对官方文档的内容做了一些精简,主要覆盖了一些...如果你希望更快的掌握:直接跳到最后一章 Github/Gitee,根据指导完成一个入门实战,再根据你的需求从目录跳到相应的章节。需要更加详细的信息,建议去官网查看。
REDIS 入门指南 REDIS 学习手册
超级简单的Git入门教程,适合新手,搭配TortoiseGit使用
快速入门包括AWS CloudFormation模板,这些模板使用AWS最佳实践构建AWS基础架构,然后将该环境传递给Ansible手册,以构建OpenShift环境。 部署在三个可用区中的虚拟私有云(VPC)中预配OpenShift主实例,etcd实例和...
drupal高手建站技术手册(高清版本),适合新人和入门的人使用。
本手册的编写目的是帮助迁移学习领域的初学者快速进行入门。我们尽可能绕开那些非常理论的概念,只讲经验方法。我们还配有多方面的代码、数据、论文资料,最大限度地方便初学者。作者是中科院计算所王晋东和重庆大学...
Matplotlib 入门教程
模板CyVerse快速入门回购 自述文件2.0版,2020年5月 您应该导入此版本库以构建CyVerse快速入门。 查看此模板 CyVerse学习中心文档的构建方式 CyVerse学习中心的每个部分都有其自己的页面,该页面又是从其自己的...
autoware使用说明,操作手册,如果有觉得github上的教程太少的同学,可以参考这个资料,算是比较全面的使用说明,可以帮助快速入门,也可以加深理解,收集不易,不喜勿喷,谢谢大家
python、C++、Java、JS、Rust、Go语言入门完全手册(6合1).zip
同时,手册内容深入浅出,既适合新手入门,也能为老手提供有价值的参考。 二、项目实战与练习 为了让学习者能够将理论知识与实践相结合,我们特别准备了项目实战与练习部分。这部分内容包含了多个精心设计的...
不想看这个手册的话,可以看廖雪峰的博客,很棒、很赞。因为自己的这个文档是自己学习github过程中的一些心得体会,大概写了40多页,很多源自互联网,希望对从头开始学习github的人有用。 文档里有大量图片,因此...
入门手册 Aprendo subir算法GitHub
欢迎来到GitHub Pages 您可以使用的来维护和预览Markdown文件中网站的内容。 每当您提交到该存储库时,GitHub Pages都将运行从Markdown文件中的内容重建站点中的页面。 降价促销 Markdown是一种轻巧且易于使用的...