Git版本控制的安装使用指南

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 概述

Git是基于Linux内核开发的分布式版本控制/软件配置管理软件,与CVS、Subversion 等集中式版本控制软件不同,Git采用分布式管理,不需要服务器端软件即可运行。Git速度很快,并且具有很出色的合并追踪能力。很多有名的软件开发都使用Git来进行版本控制,其中有Linux内核、服务器和OLPC内核开发等。

作为开源软件的代表,Git不对版本库的浏览和修改作任何的权限限制,因此只能采用其他工具实现权限管理,如gitosis、gitolite、CodeBeamer MR。

原本Git的使用只限于Linux/Unix,由于Cygwin、msysgit、TortoiseGit等GUI工具的出现,在Windows平台的使用逐渐成熟。

2. Git安装

2.1 安装Git

安装Git作为客户端,运行客户端可通过Git Bash(Git的命令行)或Git GUI操作。Windows下使用Git-1.7.8-preview20111206.exe,安装要点如下:

上述图片所示选项,似乎也不确定,网上帖子安装教程各种选项都有。安装完后,点击桌面Git Bash启动,执行命令pwd查看默认进入的文件目录,执行下面命令:mkdir .ssh (注意文件名前有.),即在默认目录下建立.ssh文件夹。修改环境变量,桌面右击我的电脑,

在属性中选择高级选项,左击环境变量,在系统变量中选择新建或编辑

下面列出一些问题的解决方法:

a. Git Bash中ls不能显示中文目录(可直接打开编辑):在

git/etc/git-completion.bash中增加一行:

alias ls='ls --show-control-chars --color=auto',注意引号为中文单引号,重启Git Bash

b. Git commit不能提交中文注释:修改git/etc/inputrc中对应的行:

set output-meta on

set convert-meta off

c. git log无法显示中文注释,在git/etc/profile中增加一行:

export LESSCHARSET=iso8859

安装完后,需要在Git Bash中注册本人信息:

git config --global Your Name

git config --global user.email your@email.address

在服务端,即Ubuntu,安装Git:

sudo apt-get install git-core git-doc

3. Gitolite安装

3.1 安装Gitolite

在下文中,在Windows操作系统中,通过虚拟机安装Ubuntu,安装Windows系统的机器叫虚拟机本机,Ubuntu是作为SSH或Git的服务端,客户机则是运行任何系统的其他电脑。

安装Gitolite可作为服务端使用。在Windows下需要先装Cygwin,在Cygwin中安装Gitolite。以下是在Ubuntu中安装Gitolite。首先需要保证远端客户机能通过SSH登陆Ubuntu,SSH登陆方式有密码和密钥两种方式。密钥是最安全的,下面介绍的是密钥登陆的设置。Ubuntu自带安装了SSH服务,自带安装了SSH的客户端Openssh-client(在/etc/ssh/中存在ssh_config即是客户端配置文件),可是Ubuntu是作为SSH的服务端,因此需要手动安装Openssh-server,电脑需要联网。

上图中配置文件标记了的参数需要重点关注。

客户机连接Ubuntu,需要保证虚拟机和客户机在同一个网段。可以在客户机ping虚拟机ip,直到ping通才能进行SSH连接。设置方法如下:

关闭虚拟机本机、虚拟机、客户机防火墙

此时,在客户机通过命令:ssh git@192.168.0.45就可以远程登陆192.168.0.45的账户git了。可以采用主机别名方式,主机别名是进行Gitolite操作的基础。在客户机中,Git Bash 默认进入C:\Documents and Settings\Administrator目录,此目录存在.ssh文件夹。主机别名的配置文件就存在.ssh文件夹中,名称为config。

此时,可以在客户机通过命令:ssh zhaoqi登陆192.168.0.45的账户git。

至此,安装Gitolite的环境搭建完毕。

在上图中,创建的两个目录~/gitolite/conf和~/gitolite/hooks应该是:/usr/share/gitolite/conf 和/usr/share/gitolite/hooks。(不带/local的目录是经过验证过的,不过两种目录可能都对,只是可能会造成后面的步骤不同)。在执行gl-system-install命令后,会出现如下界面,表明成功:

上图提示需要将gitolite的安装目录/usr/local/bin加入环境变量,这一步很关键,图中提示说,gl-setup命令需要使用环境变量,而不能到~/gitolite/src中执行此命令。因此,将

/usr/local/bin加入环境变量后,在任何目录都可以执行gl-setup命令。环境变量文件名可能是bashrc或/etc/profile。

总结下Gitolite安装步骤:

a. sudo apt-get update更新包源;

b. ps –e查看是否有sshd、ssh_agent。否则安装openssh-server;

c. 安装git-doc、git-core;

d. 配置/etc/ssh/sshd_config文件;

e. 创建git用户,下载gitolite源码包到/home/git目录;

f. 修改虚拟机ip,关闭防火墙;

g. 客户机管理员通过ssh协议scp管理员公钥到/tmp目录;

h. 创建/usr/share/gitolite/conf和/usr/share/gitolite/hooks文件;

i. 在/home/git/gitolite/src目录执行gl-system-install命令;

j. 将gitolite的安装目录加入环境变量,安装目录即是gl-system-install的第一个参数;

k. 执行gl-setup命令;

l. 客户机管理员下载gitolite-admin仓库,如果成功,即安装成功。

4. 版本管理实施

在下文中,管理仓库是指位于服务端的gitolite-admin.git,管理员是指所有客户端中挑选的一位,拥有修改管理仓库的权限,负责版本的权限管理。管理员就是Gitolite安装过程中上传.pub文件的客户机。管理仓库被管理员下载到本地后,会有conf和keydir两个文件夹,conf中的gitolite.conf文件即是用于配置权限,keydir中用于手机所有客户机的.pub文件(所有客户机必须生成一对密钥,私钥存于本地,公钥交给管理员,由管理员上传到服务端)。所有客户机在使用Git Bash前,需在Git Bash中注册本人信息,或者在后面介绍的TortoiseGit中注册,注册方式见2.2节最后。

4.1 Git常用命令

通过Git Bash对服务器仓库进行操作,主要有clone(下载到本地)、add(添加本地文件)、commit(将添加的文件制作成映像)、push(将映像上传到服务端)。

相关文档
最新文档