分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目


这几天着实忙的焦头烂额,可惜不是搞技术,今天周日,难得闲下来,写篇大家都想学习的Git教程,其实廖雪峰老师的网站已经非常详细了,但是。咳咳,太长了,我就稍微简单点的来概括,其实Git在MAC和Ubuntu上的体验是最好的,不过搞Android开发的我相信绝大多数人还是用windows吧,当然不排除个例

廖雪峰教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/

我们为什么用Git?

用前辈的概括是这样的:http://blog.csdn.net/airk000/article/details/38965077

分布式版本控制系统。2005 - 至今,创造者:Linus Torvalds。特点:快速、非线性、分支。

  • 1.强大

    Git在开发伊始的目标就是管理Linux内核。目前为止,使用最久、最经典的Linux kernel v2.6版本的不完全统计代码量是592万行,如果这样的一个工程Git都可以信手拈来的话,除了强大我们还能说什么呢?

  • 2.本地

    Git作为版本控制系统,在其领域并非唯一,同样盛行的还有SVN、CVS等版本控制系统。但不同与Git的是,这两者都是集中式版本控制系统。所谓集中式,就是在协作开发过程中,对代码的修订保存操作必须经由代码托管服务器,也就是必须通过网络(即使是局域网)。也就是说,如果开发者对代码进行了很大量级的修改,也只能等到有网络后再做保存提交工作,这样就导致了代码提交历史混乱,不方便维护与调试。而Git作为分布式版本控制系统,拥有颠覆传统的特性,就是本地化。所谓本地化,即开发进度可以在没有网络的情况下进行保存、修改,使提交历史清晰而又有逻辑。

  • 3.分支

    Git在版本控制中引入了分支的概念。传统系统中,项目的开发线是单一、单调的,而项目的需求通常来讲很有可能出现平行情况,如多渠道发布、不同特性版本等,这样的需求在单一开发线中虽说仍然可以满足,但是总会带来一次又一次的重复工作,甚至无用功。而通过引入分支的概念,Git可以避免这些情况,如一个项目可以轻松的划分为开发分支(线)、发布分支(线),在开发分支中测试稳定的功能、成功修复的BUG可以合并至发布分支,而发布出去的版本又不会包含尚未稳定的开发中功能。多渠道发布,可以给每一个渠道配置一个分支,只是各自的某些配置文件不同,主要的功能、问题修复等进度可以轻松跟进。

  • 4.开源

    Github、Bitbucket等国际知名代码托管服务商均使用Git作为管控系统,在国内,如CSDN、OSChina等IT名站也纷纷推出类似服务。为什么?这就是开源的力量。Git作为较传统版本控制系统的又一不同点——分布式,即人人都是托管商,人人都是服务器,人人都是工作站。传统控制系统,代码归托管服务器集中管理,任何单位对代码的克隆、修改操作都上报至一处,可扩散性不强,并不能很好的迎合开源项目所需要的互动性。而Git,可以说是一次克隆,终生受益。每一个克隆过Git仓储的单位都可以视为一个托管服务器,即可以将完整仓储提供给其他单位,大大提升了项目的扩散性,同时也提升了项目的安全指数,即使最初的项目托管服务器发生故障,任意克隆过该仓储的单位都可以通过简单配置充当新的托管服务器。

  • 5.潮流

    如果你还没有在Github上建立过一个项目,那么你已经落伍了,赶紧利用下班回家看电视的时间恶补一下吧。Git以其灵活、快速、本地化以及独有的分支管控概念迅速征服了广大开发者,Android、Eclipse、Perl、PHP、GNOME等等知名项目都是使用Git进行管理,顺应潮流,拥抱新生,就一定能够获得全新的体验!

一.Git简介

Git是用于Linux内核开发的版本控制工具,和CVS,SVN一类的集中式版本控制工具不同,他采用的是分布式办本科的做法,Linux之父写的能不牛嘛..,Git不需要服务器端软件,就可以运行版本控制,使得源代码的发布和交流及其的方便,而且速度也快,杠杠滴!主要我还是觉得他因为是本地,所以可能速度快点

二.安装

1.msysgit:模拟Linux,只提供命令行操作

下载地址:https://git-for-windows.github.io/

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

安装

直接一直下一步就OK了

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

2.TortoiseGIT:开源客户端,GUI图形化界面,它基于msysgit

下载地址:https://download.tortoisegit.org/

安装

这个也是一样的,下一步就可以

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

好的,现在我们在桌面上点击右键就可以看到

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

说明我们安装成功了

三.Git Create repository

D:\MyGit 我们在D盘下创建一个文件夹MyGit

然后我们右键,有一个Git Create repository here(在这里创建一个Git的仓库)

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

我们点击创建,会弹出提示,我们点确定就可以了

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

然后你就会发现,目录下多了个文件夹(默认是隐藏的,需要你打开可见性)

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

我们现在来新建一个Test.txt,里面随便写点什么东西,然后上传上去,你会发现,其实和SVN很像

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

你右键提交会有一个Git Commit ->”master”(主开发库)

但是正当你点击的时候报了一个错误

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

意思是你必须在提交的时候有用户名和email,你想现在填写吗?肯定点击yes

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

这里又说什么我们不管,直接点击确定,然后就会出现一些个提示,你填上资料就可以了,然后点确定就可以提交了

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

这里和SVN的不同之处在于他必须要你写Message,这是个好习惯,更新日志可不能少

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

好了,提交成功

四.Create GitHub repository

官网:https://github.com/

这才是重头戏,我们要成为大牛之前,还是尽量写一些牛X一点的开源项目,不管是找工作也好,自我提升也罢,都是非常有必要的,拿我们就开始吧!

我们先进去官网,然后我们点击 +New repository(新建一个仓库)

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

然后就开始填写相关的信息了

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

创建完成之后是这个样子的

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

其实我们要用到的还不是只有一个链接:https://github.com/LiuGuiLinAndroid/Android-Developer-Book.git

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

我们在本地创建一个文件夹,然后右击Git Clone

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

点击

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

这个地址就是我们GitHub上的地址

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

我们把项目给Clone下来了

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

好了,我们现在可以放东西了,然后提交,一切跟刚才一样,但是这个时候提交的依然是在本地,你的github上并没有刷新,我们实如何把他上传到github上呢?

其实也很简单,我们上传到本地之后再次点击右键TortoiseGit->Push(推送)

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

我们可以把他推送到github上

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

但是这里上传的是主仓库,所以需要填写你的账号密码

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

好的,推动完成,我们现在来看看GitHub上是什么样的吧!!!

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

现在你的GitHub上就有东西了,我们的教程也OK了,当然,你会说,还有补丁,分支什么的没讲,其实当你入门之后在,这些都是自然而然的事情了,大把的教程,本篇只是作为一个入门,让你多Get一项技能罢了,谢啦!

上一篇:js各种宽高(1)


下一篇:Javascript版选择下拉菜单互移且排序