[.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境【转】

转自:http://www.cnblogs.com/yubinfeng/p/5182271.htmlhtml

前面介绍了两款代码管理工具VSS和SVN,这两种管理工具在很长一段时间曾为咱们的代码管理提供了便利,本篇介绍一款思惟方式彻底不一样(也能够说不合常理)的版本控制系统——Git。能够说Git目前很是火,这与设计者剑指偏锋的设计思想有很大关系。Git采用发散的思惟管理代码,最大的特色就是分布式,他可让来自不一样地区的开发者共同完成一个做品,让每一个开发者均可以发挥个性,同时又能够由发起者(即项目管理者)统一发布新版本。各个地区的开发者,还能够离线开发,这样版本管理系统之因此火,也和当今社会万众创新的氛围分不开。经过Git你能够尽情的发挥想象力,开源的春天已经到来,让咱们启航吧!git

 1. Git简介 算法

名称:Git (Git的读音为/gɪt/,开源、免费、分布式的版本控制系统) spring

厂商:Linux 的缔造者 Torvalds 发起,为了更适合开源项目而设计,最初为Linux 版本,现已能够在Linux,Unix,Max,Windows各类系统中使用 数据库

功能:分布式版本控制、元数据方式存储而非文件方式、GIT的内容存储使用的是SHA-1哈希算法能确保代码内容的完整性等,太多了让咱们慢慢挖掘。 apache

优势:安全

(1)分布式:提及优势,大多都是相对其它管理工做好比SVN等,最大的优势就是分布式,最大化开发个性;服务器

(2)轻负载:由于强化个体而且使用元数据存储而非文件形式,公用服务器压力较小;网络

(3)高性能:能快速处理分支,合并简单快捷;而且分个分支的冲突解决很是方便。mybatis

(4)完整性:在保存到 Git 以前,全部数据都要进行内容的校验和(checksum)计算,并将此结果做为数据的惟一标识和索引。若是文件在传输时变得不完整,或者磁盘损坏致使文件数据缺失,Git 都能当即察觉。

(5)离线式:离线工做是Git一个重要特色,这种模式在之前独占式的版本控制的年代,是没法想象的。

(6)还有不少……

缺点:提及缺点,就现有的几种版本控制系统相比较,几乎找不出明显缺点,惟一明显的就是代码保密性差,一旦开发者把整个库克隆下来就能够彻底公开全部代码和版本信息,这也是做者在设计之初的目标,以开源共享的大同世界为目标。再要说缺点为就是主观方面的,比较学习难度稍大点(这个不要怕,后面会慢慢介绍),整个使用过程比较不符合常规思惟(这个也不要怕,总要推陈出新的嘛 )。 

升级:开源项目,管理规范,升级及时。 

推荐:★★★★★ (从小型到大型项目均适用,小到小小的代码片断,大到Android、facebook、PHP、spring、mybatis等等)

2. Git基础

Git虽然这么多优点,但大多教程中都使用命令方式操做,这让初学者望而却步,本篇尽可能使用图形化界面介绍。

Git是一个全新思惟的版本控制系统,若是你以前使用VSS,CVS,SVN等工具,那么你必定不要把类似的概念做对比,最好忘记之前的合并、分支之些具体实现模式。(这点慢慢展开)

Git的近乎全部操做都在本地进行,即离线式。不论你在何地,均可以投入开发之中,那么如何控制版本,这点不要担忧,在你网络方便的时候上传更改便可。

Git在上传数据时进行一系统计算,最小化的数据传输,若文件没有变化,Git 不会再次保存,而只对上次保存的快照做一连接。

Git拥有较高的可靠性,只要你养成按期推送的习惯,你能够随意在本地计算机上作实验,不用担忧弄丢数据,数据如何恢复,后面会慢慢介绍。

Git的文件有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交表示该文件已经被安全地保存在本地数据库 中了;已修改表示修改了某个文件,但尚未提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中。

Git直接记录快照,而非差别比较。Git 和其余版本控制系统的主要差异在于,Git 只关心文件数据的总体是否发生变化,而大多数其余系统则只关心文件内容的具体差别。

若是没有理解,不要紧,慢慢来。

3. Git 基本工做流程 

(1). 在工做目录中修改某些文件。

(2). 对修改后的文件进行快照,而后保存到暂存区域。

(3). 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。 

所以,咱们能够从文件所处的位置来判断状态:若是是 Git 目录中保存着的特定版本文件,就属于已提交状态;

若是做了修改并已放入暂存区域,就属于已暂存状态;

若是自上次取出后,做了修改但尚未放到暂存区域,就 是已修改状态。

后面咱们会进一步了解其中细节,并学会如何根据文件状态实施后续操做,以及怎样跳过暂存直接提交。

4.Git的安装前准备

4.1 安装包简介

终于进入到激动人心的时刻了,经过上面的介绍,看着很神秘的东东,立刻就要进入咱们的视野中了。

在本系列文章中,我只介绍如何在Windows系统下安装Git(虽然说Windows下使用多Linux/Unix工具须要模拟环境,带来不少不便,可是国内大多同窗仍是使用Windows),其余操做系统的同窗请参照其余文章。

服务器端工具:

Git 官方的服务端 须要使用命令行建立版本库等操做。

gitstack 第三方开源服务器端,专为Windows订制,集成了较成熟悉版本的Git,而且Web方式的操做界面,无需指令。

客户端工具以下:

TortoiseGit (TortoiseSVN的兄弟)图形化界面作的最好的Git客户端 

Git Extensions (Visual Studio 2013/2015集成的Git客户端)让您不使用命令行控制的 Git 的图形化客户端

git-cola 是一个Python开发的时尚和强大的git图形用户界面

EGit - (Java开发者Git客户端插件)利用EGit能够在 Eclipse中实现分行,合并,复制和同步库

还有不少,咱们会重点介绍TortoiseGit 和 Git Extensions

4.2  安装包下载

咱们下载Windows环境下咱们所需的安装包

(1)服务器端

对于服务器端环境配置这方面,网上现有的资料并非不少,特别是在Windows环境下的服务器搭建

喜欢使用Git原生版本的同窗,请参照下面几篇文章:

Windows+Git+COPSSH 方式,URL:http://blog.csdn.net/aaron_luchen/article/details/10498181   http://blog.csdn.net/code_style/article/details/38764203

对于Git命令行方式操做比较全的资料,URL:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

顺便赋上Git官方的下载地址

Git服务器端Windows版本安装包 (包含32位和64位,根据你的服务器操做系统选择)

Git-2.7.0.2-64-bit.exe 

官网URL:http://git-scm.com/download/win 

(注意:咱们下面将要使用的服务器端环境并不须要下载原版)

不过COPSSH也不是免费的,而且上面的环境下还须要使用一些命令来完成部分操做(我并非歧视使用命令行的方式操做,首先这是一个入门文章,力求简单,再者服务器端的搭建使用Linux更合适)

下面,我在本篇文章中为了让你们尽快用上Git,咱们也剑走偏锋使用第三方纯界面的服务器端gitstack ,他集成了Git,所以咱们的安装下载,并不须要专门下载Git服务器端了

由于集成了apache和Git,这个安装包有点大126M,耐心下载吧

准备下载的第一个安装包:

gitstack 开源集成Git的界面服务器端

官网URL:http://gitstack.com/download/

下载过程以下图:

(2)客户端

TortoiseGit安装包 和 中文语言包(包含32位和64位,根据你的客户端操做系统选择,我以64位为例介绍)

官方URL:http://tortoisegit.org/download/ 

TortoiseGit-1.8.16.0-64bit.msi

TortoiseGit-LanguagePack-1.8.16.0-64bit-zh_CN.msi

下载过程以下图:

 

下载完成的三个安装包以下:

 

5. 服务器端安装

 准备工做就绪,咱们开始安装服务器端,双击 GitStack_2.3.8.exe

注意:此时,若是有这个提示,咱们就须要暂时关闭占用80端口的服务了,怎么关闭呢,先找到什么服务占用了80

 

 运行,CMD,输入netstat -aon|findstr "80" 查找到 占用80的程序的PID

而后在任务管理中,找到 中止便可

而后一路安装完成,会自动打开管理界面

默认用户和密码admin登陆

这个界面是多么熟悉啊,和SVN类似,建立 版本库 、建立组、建立用户、设置

到此咱们服务器的安装就完成了,使用GitStack建立基于Windows服务器端就是这么简单。下面咱们介绍它的使用。

5. Git服务器端GitStack的使用

GitStack的使用很是简单,和SVN服务端没多大区别,先看一下设置

  

完成设置后,咱们建立一个版本库和一个组及2个用户

 将2用户加入该组

接下来,咱们给版本库受权组MyGitGroup,因而,这两个用户就拥有该版本库的操做权

先建立一个版本库 MyGitObject,并配受权组或用户(这里咱们受权组,就拥有该组下的两个用户了)

将刚才建的 组  MyGitGroup加入该版本库

设置组的读写权限

到此服务端的配置完成,咱们能够看到 ,在设置的版本库目录中,多了一个咱们刚建立的版本库文件夹 MyGitObject.git

 

喜欢使用命令行的同窗,仍然能够在这里打开操做 ,能够看到 GitStack的惟一做用,就是帮咱们提供了一个http服务+一个界面化配置并且,咱们的核心仍是Git

 6.Git客户端的安装

客户端工具众多,咱们选择前面已经下载好的“小乌龟”

找到前面下载好的TortoiseGit安装包和语言包

 

安装客户端开始

全程下一步,完工,而后安装语言包(喜欢英文版的能够完工了)

语言包,下一步,完成!

语言包安装完成后,咱们在开始菜单中找到 TortoiseGit的设置

选择语言为:简体中文 

客户完工!@!

7.Git客户端TortoiseGit的使用

继续介绍TortoiseGit的使用

 7.1 获取服务器版本库

先在本地计算机建立一个Git的工做目录 F:\GitWorkArea 

打开目录在空白处右击,能够看到 TortoiseGit的菜单,初始操做能够选择Git克隆,即获取服务端版本库,也能够选择建立一个新的版本库

由于以前咱们在服务端已经建立过了一个版本库,咱们选择 克隆。

在这里URL咱们输入 ,以前服务器端建立的版本库地址,点肯定后,这时须要咱们认证一下用户和密码,这是必须的嘛 ,否则谁均可以克隆咱们的版本了

用户和密码验证完成后,版本库克隆成功。

7.2 建立新文件

接下来,必须是火烧眉毛的建立一个文件,开始咱们的Git之旅了

随便写点什么,而后保存,关闭。

7.3 提交

提交咱们新建的文件到版本库,很是简单,在工做目空白处右击

 

而后点击,提交 到 master

这时,会有一个提示,须要设置一个交互的mail

在弹出的设置上,完成后肯定

而后填写备注,记得养成良好的使用习惯,提交要写备注哦,而后选中文件,肯定

提交完成~

7.4 查看变动日志

查看日志前,咱们在工做内再次建立一个文件,提交;而后再次打开该文件,修改一下内容提交。

在工做目录右击 选择 TortoiseGit ,打开“显示日志”

在日志窗口,咱们能够看到三次变动的备注等信息,很是全面

先到这里吧,不知不觉凌晨4点了,关于TortoiseGit的使用会让你不断惊喜的,下篇会继续介绍分支的创建,分支间的灵活切换,合并等等很是实用的功能。

8.本节要点:

本节内容比较多,首先让咱们对Git这一版本控制系统有了一个初步的认识,为了不许多文章中一入手就是各类命令行,让初学者望而却步。我选择了从一个最简单的服务器环境配置入手,即GitStack来建立Windows下的Git服务器端,随后介绍了咱们熟悉的"小乌龟"版本的客户端工具,即TortoiseGit的安装及基本使用。下节更多实用的功能等着咱们。

若是喜欢个人博文 ,记得点赞哦,也能够加QQ群交流,群号:467189533

相关文章
相关标签/搜索