Git是一个开源的分布式版本控制系统,可以有效、高速地处理项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
开发者需要一个GIT账号,通过这个查看项目的提交记录,可以更加清楚项目的开发情况,便于版本控制。
以下介绍在CentOS7.6操作系统搭建GIT服务器。
一、安装GIT服务器流程
一一
安装GIT:
[root@git ~]# yum -y install git
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
......
Package git-1.8.3.1-20.el7.x86_64 already installed and latest version
添加账户:
adduser git
修改用户密码:
passwd git
修改用户,不让登录操作系统:
usermod -s git-shell git
这时候,git账户已经无法登录子系统了,只是专用于git。
[root@git ~]# su git
su: failed to execute git-shell: Permission denied
查看目录:
[root@git ~]# ls -al /home/git/
total 12
drwx------. 2 git git 62 Sep 2 06:24 .
drwxr-xr-x. 3 root root 17 Sep 2 06:24 ..
-rw-r--r--. 1 git git 18 Oct 31 2018 .bash_logout
-rw-r--r--. 1 git git 193 Oct 31 2018 .bash_profile
-rw-r--r--. 1 git git 231 Oct 31 2018 .bashrc
创建目录:
[root@git ~]# mkdir /var/git/
[root@git ~]# mkdir /var/git/repositories
[root@git ~]# chown git:git /var/git/repositories
进入目录:
[root@git ~]# cd /var/git/repositories/
创建仓库:
[root@git repositories]# git init --bare test.git
Initialized empty Git repository in /var/git/repositories/test.git/
所属用户改为git:
[root@git repositories]# chown -R git:git test.git
至此,服务器流程完毕。
二、免密登录流程
证书登录(服务端):
mkdir /home/git/.ssh
chmod 700 /home/git/.ssh
chown -R git:git /home/git/.ssh
touch /home/git/.ssh/authorized_keys
chmod 600 /home/git/.ssh/authorized_keys
可编辑/home/git/.ssh/authorized_keys,把客户端公钥放进来。(注意:一个公钥一行。)
创建公钥(客户端):
[root@client ~]# ssh-keygen -t rsa -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:d1dZ8KsaMzbS1LqahZqS266Xwe3I9vzu7xBKZozeGnA [email protected]
The key's randomart image is:
+---[RSA 2048]----+
| . E . |
| o . + |
| . o . + |
| + o o * . |
| . S.B.# + |
| *oO.& |
| o.+=B |
| +*..o |
| o=o.o=* |
+----[SHA256]-----+
把公钥上传到GIT服务器:
[root@client .ssh]# scp id_rsa.pub [email protected]:/home/git/.ssh
[email protected]'s password:
id_rsa.pub 100% 400 207.3KB/s 00:00
服务端导入客户端公钥:
[root@git .ssh]# cd /home/git/.ssh
[root@git .ssh]# cat id_rsa.pub >> authorized_keys
至此,免密登录流程完毕。
三、验证仓库是否可用
克隆仓库:
[root@client git]# git clone [email protected]:/var/git/repositories/test.git
Cloning into 'test'...
warning: You appear to have cloned an empty repository.
提交数据到仓库:
[root@client test]# vim README
[root@client test]# git add README
[root@client test]# git commit README -m "add README"
[master (root-commit) 09b3e98] add README
1 file changed, 1 insertion(+)
create mode 100644 README
[root@client test]# git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 232 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:/var/git/repositories/test.git
* [new branch] master -> master
至此,验证仓库流程完毕。
本文只是简单讲述GIT安装、设置免密、验证仓库可用等。更多应用内容后续再讲述。