CentOS7 Linux环境下搭建Git仓库

SVN&GIT 01/13 阅读 570 views次 人气 0
摘要:

Git是目前世界上最先进的一个分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。其特点就是分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库。

1、安装依赖库

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel


2、安装Git

yum install git

$ git --version

git version 1.8.3.1


3、创建git用户组和用户

# groupadd git

# useradd git -g git


4、创建证书登录

$ su - git

$ cd /home/git/

$ mkdir .ssh

$ chmod 755 .ssh

$ touch .ssh/authorized_keys

$ chmod 644 .ssh/authorized_keys

收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。


5、初始化Git仓库

$ su - git

$ mkdir gitrepo

$ chown git:git gitrepo/

$ cd gitrepo

$ git init --bare learngit.git

初始化空的 Git 版本库于 /home/git/gitrepo/learngit.git/


6、git客户端

下载客户端:https://git-scm.com/

参考:http://www.what21.com/u/10019/6699619077197581376.htm

进入Git Bash命令行客户端

git-client.png


7、客户端创建SSH公钥和私钥

进入Git Bash命令行客户端:$ ssh-keygen -t rsa -C "1732482792@qq.com"

git-client2.png


8、服务器端Git打开RSA认证

SSH配置

vi /etc/ssh/sshd_config

PubkeyAuthentication yes

RSAAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys

重启SSH服务

service sshd restart


7、客户端公钥导入服务器端 /home/git/.ssh/authorized_keys 文件

将客户端生成的~/.ssh/id_rsa.pub内容,复制到服务器端的./ssh/authorized_keys中。


8、客户端clone 远程仓库

$ git clone ssh://git@192.168.1.201/home/git/gitrepo/learngit.git


9、SVN与Git的最主要的区别

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。


10、Git工作区 暂存区 版本库概念

(1) 工作目录(working Directory):我们肉眼能够看到的目录及相应的文件; 

(2) 暂存区(Staging Area,也有叫Index):中间过渡区域,可以通过git add命令将工作目录文件放入该区域;

(3) 版本库(Repository):存放版本、分支、Commits的相关信息,通过git commit命令将Staging Area区域的内容放在版本库中;版本库的信息以文件的形式存放在工作目录下的.git隐藏文件夹中。


评论

表情

分享到: