Git版本管理及代码上线

1.1 有了git版本管理后怎么样

1、自动生成备份

2、随时回滚

3、知道改动的地方

说明:简单来讲,有新和旧的来对比,回滚高亮检查多个版本,并且能检查出来有多少个东西是修改过的.

1.2 介绍常见版本管理软件

1.2.1 SVN

1.2.2 Git

1.2.3 使用Git的好处

1、没有网络依然可以使用Git同步数据

2、SVN非常强烈要依赖网络,Git没网也可以用。

1.3 github与gitlab的区分

github是网上公用的仓库,但是公开的如需保密要交费,所以缺点就是这些,但gitlab是本地仓库,有保护不收费,搭建方便。

1.4 安装Git环境准备

cat /etc/redhat-release    #查看系统版本,只要是7就没有问题

uname –r                  #查看系统内核

getenforce                 #查看防火墙关闭没有

systemctl disable firewalld     #如果没有关闭就立即关闭。

vim /etc/selinux/config    #修改end为disabled

1.5 安装Git

rpm –qa git   #查看有没有git,一般系统会自带

yum install –y git  #如果没有就yum安装

1.6 Git全局配置

git config --global user.name “你的名字”     #例如fxs,不能为中文

git config --global user.email “你的邮箱”        #邮箱地址

git config --global color.ui true              #语法高亮

git config --list                              #查看全局配置

说明:记得config后面是两个--,不是一个,否则会报错。

1.7 初始化GIT工作目录

mkdir git_data

cd git_data/

git init        #初始化,后面会显示初始化一个git隐藏目录,在刚创建的那个目录下的.git目录

git status      #查看工作区状态,会显示主要的分支,现在还没有东西等信息。

1.8 常规使用(创建数据-提交数据)

touch README               #创建一个文件

git status                 #查看git状态,此时红色的,因没添加到缓存区。

git add README             #提交数据到暂存区域,暂存区域是给你检查错误的缓存区,如果有错可撤销。

git status                 #上面git add提交到缓存区后,文件会被绿色。

git commit –m ‘firstcommit’ #提交暂存文件至版本库,为你每次提交写一个说明,如不写说明,不知每次提交是什么东西就乱了,方便查历史记录

1.8.1 提交过程小总结

先提交到缓存区域,然后在git commit一次性将缓存区域的东西提交到数据库。

1.9 删除暂存区数据

1、没有添加到暂存区的数据直接rm删除即可

2、已经添加到暂存区数据:

git rm –cached 要删的文件名       #这个是将文件从Git暂存区域列表删除,(并不会删除当前工作目录内的数据文件)

git rm –f 要删的文件名            #将文件数据从Git暂存区和工作目录一起删除

1.10 重命名暂存区数据

1、没有添加到暂存区的数据直接move改名即可

2、已经添加到暂存区数据:

git mv 要改的文件名 改成什么文件名

1.11 查看历史记录

git log         #查看历史记录,每次提交的用户名称、账号、数据提交时间、以及提交说明都会有。

git commit –a –m “xx test”     #-a是add的意思,-m是写说明信息,不写的话,使用log命令查看不到,这个命令可一次性提交数据到缓存区和写说明

测试的话:

1、 创建一个文件或目录,空目录不行,需目录里创文件

2、 并且可使用一次性完成添加到暂存区和写说明。

1.12 git commit参数说明

添加新文件

git add            #添加到暂存区域

git commit      #提交git仓库  -m 后面接上注释信息,内容关于本次提交的说明,方便自己或他人查看

修改或删除原有文件

常规方法

git add *

git commit

简便方法

git commit –a –m “注释信息”

-a 表示直接提交

1.13 查看历史记录

git log         #查看提交历史记录

git log -2      #查看前二条

git log –p -1     #显示每次提交的内容差异,相当于最近的文件改变信息

git log –stat -2  #stat简要显示数据增该行数,这样能够看到提交中修改过的内容,对文件添加或移动的行数,并在最后列出所有增减行的概要信息

git log –pretty=oneline   #pretty根据不同的格式展示提交的历史信息(根据版本号与后面注释查找我们需要的文件)

git log –pretty=fuller -2   #以更详细的模式输出提交的历史记录(更详细的显示前两行,谁提交、提交时间、注释内容)

git log –pretty=fomat:“%h %cn”  #查看当前所有提交记录的简短SHA-1哈希字串与提交着的姓名    ,其他格式见备注(类似AWK切割内容,指定想要看的内容,显得方便,参数有固定语法)

1.14 还原历史数据

说明:当你觉得版本后问题,你可以反悔,可以返回指定历史记录的版本,head相当于一个软连接,你指向哪个版本,用户看到head就是你指向的哪个版本。

git reset --hard HEAD^      #还原历史提交版本上一次

git reset --hard HEAD~5      #这里可指定前几个的数量,不然用~的方式去数的话比较麻烦,所以这个方式会好一些。

git reset --hard 3de15d4     #找到历史记录还原点的版本,号码可不写全,可写版本的前几个数,例如版本为asdasd21321,可指定为asdasd2也可指定。

1.15 还原未来数据(当还原历史记录反悔后的操作)

说明:当我还原历史记录后,前面的历史记录会全部没有,并且文件也没有了,所以一般人觉得不可以后悔和恢复数据,所以这里还涉及一个命令,可以返回之前所有的数据再重新head软连接指向

git reflog  #查看未来历史更新点

git reset –hard 版本号前几个号码    #使用hard指向那时候的版本,再使用ls或git log –pretty=oneline查看现在所有缓存区的东西与工作目录下的当时的内容了。

1.16 标签使用

说明:前面回滚使用的是一串字符串,有长又难记,每一个版本使用一个标签来方便回滚和查找,下次可快速查找到对应标签的版本,但是使用标签的时候,他默认只对现在当前使用的版本来指定标签。

git tag V1.0       #当前提交内容打一个标签(方便快速回滚)每次提交都可以打个tag

git tag             #查看当前所有的标签

git show v1.0       #查看当前1.0版本的详细信息

git tag v1.2 –m “version 1.2 release is test”      #创建带有说明的标签,-a指定标签名字,-m指定说明文字

指定当前版本后,新建标签名字和标签注释

git reset –hard 版本号

git reset –hard V1.0

1.17 对比数据

说明:git diif可以对比当前文件与仓库已保存文件的区别,知道了对README作了什么修改后,再把它提交到仓库就放心多了。

git diff 文件名    #指定查看对比的文件

举例:

echo oldboy >>README

git diff README

说明:追加点信息到README文件里,在使用diff查看这个文件,会看到绿色,绿色是新增的内容。

1.18 分子管理

1.18.1 分支原理与原理图

说明:当刚创建Git的时候,会有个master的主分支字样,但其实git还有主分支与分支的作用,主分支是是必须要非常稳定的,子分支就是在实际的项目开发中是给开发用的,开发为一个部门,部门为一个dev子分支,在这个dev子分支下,分为划分了好几个分支,每个开发主要负责一个功能开发来提交到属于自己的分支,这样就不会造成多个人去写一份配置文件造成冲突,有过多的麻烦,所以每个人都有分工和分支来解决代码冲突,写完后再统一发到部门dev的分支,再确认代码没问题就提交到主分支发放给任何一个用户,所以分支是团队合作的分支管理。

1.18.2 创建分支

git branch linux       #创建分支

git checkout linux     #切换分支

git branch         #查看当前分支情况,当前分支前有*号

说明:创建分支后,会将master分支里的文件克隆一份到linux分支里,当你在linux分支里修改文件时,其实跟master是两条管道了,他的东西你修改不了,你修改的东西只能在linux下修改了,开发人员在linux分支里修改东西和创建东西,是无法在master里创建的,相当于git也有权限管理。

1.18.3 模拟开发在自家分支修改文件时,master无修改(举例)

开发操作:

[[email protected] git_data]# git branch       #当前在linux分支

* linux

master

[[email protected] git_data]# echo "this is test" >>11    #我追加点信息到一个文件里

[[email protected] git_data]# git commit -a -m "this is test"     #提交到缓存区,并且写上文件提交的注释

linux运维管理人员操作:

[[email protected] git_data]# git checkout master     #管理人员切换到master主分支

Switched to branch ‘master‘

[[email protected] git_data]# cat 11                  #打开开发人员在自家分支里修改的11文件,并没有修改,是空的,说明没有真正修改文件。

[[email protected] git_data]# git log -1              #查看最新的第一条日志历史记录,发现不是我们刚才提交的注释那条信息,说明确实没有。

commit eb77741ee3142b37f37002524f0812851a9627fb

Author: “fxs” <“[email protected]”>

Date:   Fri Aug 17 21:27:46 2018 +0800

ceshi.test

1.18.4 合并分支(将linux分支的工作成果合并到master分支)

[[email protected] git_data]# git branch       #查看现在在哪个分支,必须得切换到master分支下在合并

linux

* master

[[email protected] git_data]# git merge linux  #使用merge命令合并linux分支,将指定分支合并到当前master分支

Updating eb77741..c3eb6fe

Fast-forward

11 | 1 +       #有新增内容

1 file changed, 1 insertion(+)

[[email protected] git_data]# cat 11       #在查看在开发修改的文件里的信息,确定有新内容了。

this is test

[[email protected] git_data]# git log -1   #查看最新的历史记录,也能看到刚才开发提交的那个注释信息,已经同步过来了。

commit c3eb6fe004849d0e5c4e4d06d5c3ffcf20576ac9

Author: “fxs” <“[email protected]”>

Date:   Sat Aug 18 12:45:18 2018 +0800

this is test

1.18.5 子分支在工作当中的规范(习惯)

说明:当将开发人员写好东西的分支合并到master后,就要立刻删除分支,当然也可以继续用,但是根据生产环境而言可能开发是一周或者一个月更新一次代码,开发忘记自己的分支在哪里了,不然容易混淆乱,常年下去分支会特别多,新来接手的开发就不知道哪个能用哪个是能删哪个是能动的,因为每个分支修改后的代码只会保存在自己的分支里,当master更新后的代码在那个旧的分支是不会有变化的,所以新来的开发来接手更改就不知道哪个是最近版本更新的,所以每一次更新代码就重新开一个分支,开一个分支相当于克隆master最新代码到新的分支里,非常快,能接着编辑,这是一个习惯、工作规范。

git branch –d linux   #删除linux分支

1.18.6 手动合并分支

master分支内容与linux子分支内容冲突案例:

master 分支也是单独一个仓库,linux 分支也是单独的一个仓库,当master与linux分支提交到自己单独的仓库缓存区时不会报错,但使用git merge linux合并linux到master仓库时,就会出现某某文件内容冲突,因为内容一样导致合并失败、需要人工修改文件来进行划分需要哪些内容,当我们打开冲突的文件时,git系统会帮忙划分master分支与linux分支修改的内容划界限来帮忙区分哪部分是谁写的,哪部分是master自带的,让我们人工手动修改

出现这个后,如果不要master分支的内容,就把HEAD那一行,与linux与等号、mastert内容去掉,留下linux的,这样就是人工合并。

1.19 windows客户端使用

说明:前面讲的都是linux客户端,在讲讲windows客户端使用,安装Git-2.10.0-64-bit

windows的git,本质是windows上的linux系统

下载地址:https://git-scm.com/download/win    根据自己系统多少位来下载,安装过程全靠默认Next

步骤1

右键可使用命令行模式,也可使用win下的GUI图形化模式,命令模式也是使用git等命令创建,使用GUI模式先创建仓库,提交等等这些操作。

步骤2

创建工作目录

说明:随后在工作目录写上东西,在点击Rescan重新扫描, ,就可以了,随后等操作可百度,这些不常用,只是方便,了解下。

1.20 安装GitLab服务器

说明:GitHub是一个网络平台,可上传代码,员工从这里下载,但是内容公开的,如果要保密要交费,所以也可以在服务器上搭建Git代码仓库,但是比较麻烦一些,GitHub每年好像交7美元。

说明:内存需要2个G,他运行一些东西需要大点的空间。

curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.9.8-ce.0.el7.x86_64.rpm  #官网下载或从百度下载再拉到服务器,因为慢。

yum localinstall -y gitlab-ce-8.9.8-ce.0.el7.x86_64.rpm       #解决本地rpm包的依赖问题

gitlab-ctl reconfigure     #初始化,就执行一次。

gitlab-ctl status          #查看gitlab状态

通过浏览器访问并设置初始密码:

10.0.0.7

通过浏览器访问页面,设置初始化密码

密码:12345678   #要求8位,少就不行。

git登陆界面:

账号:root  密码:12345678

浏览器操作

创建新的项目

填写项目名称、项目描述、权限设置,Private是登陆的用户才能查看,internal是必须登陆的用户才能克隆,public是能被所有人克隆,克隆是能访问的意思,能访问说明能直接复制。

创建项目

提示使用ssh密钥登陆(否则开发push代码时每一次都需要提供账号密码,在开发机器上使用ssh-keygen -t rsa生成密钥后,将根目录下的pub公钥所有复制到上面授权开发用户就好。)

可用这个地址登陆,这个oldboyedu-47是系统主机名,如果win没有host解析是登陆不上去的,所以现在直接用IP访问。

开发可直接输入网址可登陆,因为刚保存了我们登陆的cookies会话,用无痕窗口登陆就需要输入账号密码,因为刚设置的是私有仓库,共有的就不用登陆。

服务器内操作:

[[email protected] tools]# ssh-keygen      #生成一个密钥对,简称公钥,安装全部回车。

[[email protected] tools]# cat /root/.ssh/id_rsa.pub      #打开密钥文件,复制里面的内容。

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMQKObsjIuKLu5tx104wYs/0t1qQXHGscgwXrCRi14Dn4PT564hhe6pp21CkelzCaB1mPoRCKheyL70d5cPW1hg+qpsJr9REh2lLDeG/tpfV4b/y3ekqMZxLwQl7bcG9z1V1C95PMs4GYd/Es6BdlG1/F7XDy/ZAjV+R/VVcNygNFZKf0H6Dg9w+GMzVEcSw5TpRImfW90R9+cShgeU6nfKXGbjDaA4FdoI/L0iV5m6dl4jcs1sGwn6FuKDouKVTLM9t1Y4O5Cc2eulhai+C5i+2hHoH4A+AdGMAjXeRKBUsoz0Gmvz/+WtGR7I5mFosfs7emWL8FElBwpOHnkS8Lr [email protected]

点击警告标志进入页面

将公钥内容放置里面,填写名称,名称可随意填,有描述性就好。

点击头顶标志,再点击刚创建项目的名字。

网页上有专门的操作教程,可查看使用,第一个是创建新的存储库,第二个是在现有文件夹操作的命令,(第一种情况是从开发电脑没有文件夹的情况下去操作的命令,第二种情况是开发有这个文件夹的目录再执行的命令。)

服务器操作:

[[email protected] /]# git clone [email protected]:root/oldboyedu47.git        #执行这条命令,输入yes,会在/目录克隆创建一个项目名称的目录,想在哪个目录生成这个工作目录,就切换到哪个目录再克隆生成,这个其实像共享目录似得,想要在本地同步一下这个工作目录,必须要输入账号密码,但使用了ssh密钥分发,就登录不用账号和密码了。(开发用户操作)

[[email protected] /]# cd oldboyedu47/                        #进入克隆好的工作目录

[[email protected] oldboyedu47]# touch 123test                #创建一个文件

[[email protected] oldboyedu47]# git add 123test              #将文件添加到暂存区

[[email protected] oldboyedu47]# git commit -m "123 git-test" #提交文件至本地仓库,并且写上注释

[[email protected] oldboyedu47]# git push -u origin master    #最后提交到刚搭建的gublab服务器。

浏览器操作:

点击头部、点击项目名称

点击Repository下面的Files,下面就有刚提交的文件,因没写内容,所以是空的,也有对应的描述。

服务器插入内容操作:

[[email protected] oldboyedu47]# echo 1234 >>123test              #插入内容到文件内

[[email protected] oldboyedu47]# git commit -a -m "mod 123test"       #提交到缓存区,并且写描述

[[email protected] oldboyedu47]# git push -u origin master        #提交到Github服务器平台里。

刷新页面后,点击文件内会有刚更新的内容。

也可在浏览器上编辑内容,并且同步到GitLab服务器内:

点击Edit编辑

填写内容

下面滚动,点击这个按钮更新。

GitLab服务器更新内容,并查看文件内容是否更新:

[[email protected] oldboyedu47]# git pull          #下载代码

[[email protected] oldboyedu47]# cat 123test       #查看更新文件的内容,看到已经更新了。

1234

hello

test

ceshi!! QQ806304019

GitLab代码小总结:

git push -u origin master          #推送代码

git pull                           #下载代码

说明:这些命令都比较常用。

1.21 开发使用pycharms将开发代码上传到GitLab平台(默认是在master主分支里操作)(开发的软件与git仓库建立连接,进行push等操作)

打开pycharms,点击VCS-第六个-Git

填写这个地址到pycharms界面。

因为win没有解析oldboyedu的域名IP,所以改成GitLab服务器的IP地址。

输入登录GitLab网页的账号与密码

连接这个git项目成功。

点击Clone

询问:克隆完了是要打开这个工作目录吗?点击yes

询问是打开一个新窗口,还是默认在新窗口,点击OK。

会出现一个新的目录,并且有工作目录中新的文件,里面可以填写文件内容。

点击这个配置选项,提交到缓存区,和填写注释信息。

填写注释信息,并且提交缓存区

填写邮件地址,点击下一步。

点击push

点击网页刷新

点击Branch或点击下面那个就是我们刚py提交的注释。

1.22 在Pycharms里新建子分支进行工作

在Pycharms的项目右键点击新建分支的设置

新建一个分支

分支名字叫做linux

切换分支的设置

新建linux分支的时候,已经默认进入linux分支里面了,所以如果要切换到其他分支的时候可以在里面设置切换。

切换到linux分支的时候,点击文件进行修改。

然后按照上面的操作,进行提交注释信息。

点击push

在网页上,点击刷新

点击Branches分支

看到新的分支出现后,会有linux分支出现,有master并且出现刚才创建的linux。

顺着linux分支-123test文件-点击进去会看到linux分支修改的内容。

这里有合并请求

提交合并请求

接受合并请求

点击左上方名字,找到master分支的文件,看下是否合成在一个文件里了。

点击进入master分支

点击123test文件,看到linux分支的文件内容,已经合并到master一起了。

说明:以前就是分支修改文件在合并到主分支里了。

 

运维要操作的内容:以上都是开发要做的,我们运维只需git push –u origin master下载代码,然后git put更新代码。

1.23 Gitlab备份管理

vim /etc/gitlab/gitlab.rb  #编辑配置文件

#配置文件中最后插入参数。

参数说明:第一个是备份的路径,第二个是文件保留时间,默认为秒单位,现在设置是7天。

1.24 Gitlab备份的数据恢复

停止数据写入服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

gitlab-ctl status  #检查两个写入数据的服务是否down掉。

gitlab-reke gitlab:backup:restore BACKUP=源码备份文件名       #注意不加.tar后缀,在备份目录找源码文件,文件在备份目录找,提示默认yes。

gitlab-ctl restart

gitlab-ctl status  #检查是否启动成功

说明:过一会在访问gitlab页面,才可看到恢复的仓库。

1.25 亚哥讲座

hequn

告诉上面谁使用git上传,用户是谁

只要被跟踪过来的文件,进行更改,就要重新commit 提交,相当于做任何一个操作(移动或更改内容),就要重新提交一次。

不能直接使用MV 否则要重新提交,特别麻烦 所以使用git mv 就不用提交,用GIT系统内置就好一些。

新建用户组oldboy,设置这个用户组的权限(公开,还是需登录),新建用户dev,并且设置8位密码,新建项目,控制这个项目的用户组是oldboy,项目名称为test_web,最后点击oldboy用户组将dev添加进去并且设置dev开发角色。  随后点击扳手点击test_web项目在git服务端初始化克隆好好仓库(git clone)。

开发: 使用刚创建的dev账号登录web界面,点击test_web项目,克隆好仓库到本地,随后无权限提交到master,所以在客户端创建dev分支,在切换到dev分支,创建文件,并且提交到本地仓库(暂存区域 git add . git commit -m “123”),随后在浏览器切换到dev分支可看到文刚创建的文件就在里面,在dev分支右上角创建合并请求,填写合并理由留下历史记录,最后点击创建请求。

开发老大:在浏览器登录administrator账号,找到dev发送的合并请求,点击dev发过来的请求,然后点击Merge确认合并,此时网页上同步了,但是git服务端工作目录没有同步过来,需要手工git pull下载同步下来,就可以了。

502错误可能是与jenkins端口8080冲突

java环境冲突。

原文地址:https://www.cnblogs.com/shell520/p/9757896.html

时间: 2024-07-31 05:23:10

Git版本管理及代码上线的相关文章

企业SVN版本管理与代码上线方案

1.SVN服务实战 1) 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统.Svn版本管理工具管理着随时间改变的各种数据.这些数据放置在一个中央资料档案库(repository)中,这个档案库很像一个普通的文件服务器或者FTP服务器,但是,与其他服务器不同的是,SVN会备份并记录每个文件每一次的修改更新变动.这样我们就可以把任意一个时间点的档案恢复到想要的某一个旧的版本,当然也

SVN版本管理与代码上线架构方案

SVN是Subversion的简称,是一个开放源代码的版本控制系统,可以超越时间的管理文件和目录.文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器.你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改.这就是为什么许多人将 Subversion 和版本控制系统看作一种"时间机器".说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的. svn与git的区别svn   svn版本控制系统是集中式的数据管理,

01.Svn版本管理与代码上线架构方案

空杯心态,从零开始. 应用运维->实操最重要. 每个业务至少有一种解决方案:每个方案至少会一个软件实现. 系统架构师实际是软件架构师. 系统运维架构师. 架构师主要是架构思想,不是某一个软件个体. 制造子弹->系统开发级别. 组装坦克飞机->凤毛麟角. Linux系统架构师->一期 软件架构师->二期 能力要求: 系统架构相关的知识和经验: 很强的自学能力.分析能力.解决问题的能力: 写作.沟通表达.培训: 原文地址:https://www.cnblogs.com/lzp12

SVN版本管理与大型代码上线

SVN版本管理与大型代码上线 一.SVN简介 SVN是近年来崛起的非常优秀的版本管理工具,是一个开源的版本控制系统,开发的代码版本, 这些数据位置放置在一个中央资料档案库,很想一个普通的文件服务器或者FTP服务器 与其他服务器不用的是,SVN会备份并记录每个文件每一次的修改更新变动, 可以进行回滚操作,可以把任意一个时间点的档案恢复到想要的某一个旧的版本, 也可以浏览指定文件的更新历史记录. SVN是一个非常通用的软件系统,它常被用来管理程序源码,但是它也可以管理任何类型的文件, 如文本,视频,

Hybrid App开发git多分支代码版本管理实践

3.Setting Up and Configuring Backup and Recovery 这个单元讲述如何启动.与rman client如何互动,准备rman环境,实现备份和恢复策略 注意:尽管闪回数据库和安全还原点不是真的数据库备份,但是它们是数据保护策略一个重要部分.这些特性需要一些初始化设置,这些设置依赖于在备份策略中你怎么混合它们.Chapter 5-Data Protection with Restore Points andFlashback Database 提供了关于怎么

svn详细介绍,独立安装配置,hooks的配置管理以及大型门户网站代码上线流程

代码发布方案: 1,安装,优化 软件环境,(nginx,lvs)  <-------运维工程师 2,程序代码(不断更新).   <--------开发工程师,(开发,运维都可以发布) 3,配置变更(不断变更).   <--------运维工程师. 一.版本控制管理工具SVN详解 1.1 什么是SVN(subversion) ? SVN是近年来非常优秀的版本管理工具,与CSV管理工具一样,SVN是一个跨平台开元版本控制系统,但是SVN与众不同的是,SVN会备份并记 录每个文件每一次的修改更

Git 版本管理工具(一)

Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器) 1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便. Git 的速度很快,这对于诸如 Linux kerne

GIT版本管理工具

原文:http://blog.csdn.net/ithomer/article/details/7527877 Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器) 1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本库的方

Git——版本管理工具(一)

Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器) 1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便. Git 的速度很快,这对于诸如 Linux kerne