Git是一个分布式的版本控制系统,也就意味着它可以在有网络环境或者没有网络环境的时候使用。而通常情况下会搭建一个服务端,所有用户的更改统一发布到服务端上。
Git的安装
1 2 3 4 5 6 7 8 |
# CentOS REHL # yum install git # Ubuntu # sudo apt-get install git # Windows 访问:http://git-scm.com/download/ |
部署Git
本文主要介绍通过SSH的方式访问Git的部署。
1.在客户端生成公钥
每个需要使用Git服务器的客户端都需要生成这个公钥,然后将它们全部上传到服务器。
使用命令:
1 |
$ ssh-keygen |
或者指定密钥算法和用户标识:
1 |
$ ssh-keygen -t rsa -C "youremail@example.com" |
然后在你的用户文件夹下,会生成一个.ssh文件夹,里边有两个文件:id_rsa(私钥,不要泄漏) id_rsa.pub(公钥,复制到服务器上)
1 2 3 4 5 6 7 |
cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3 Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx NrRFi9wrf+M7Q== schacon@agadorlaptop.local |
2.服务端搭建
新建git用户:
1 2 3 4 5 6 7 |
# useradd git # su - git $ mkdir ~/.ssh $ chmod 700 ~/.ssh $ cd ~/.ssh $ touch authorized_keys $ chmod 600 authorized_keys |
请注意,.ssh文件夹的权限为700,authorized_keys文件的权限为600,一定要这样设置,不然无法生效。
将公钥添加到authorized_keys,一行一个。
1 2 3 |
$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys $ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys $ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys |
创建裸仓库:
1 2 3 |
$ mkdir ~/project.git $ cd ~/project.git $ git --bare init |
将git用户设置为不可使用shell:
1 |
# sudo vim /etc/passwd |
最后一行应该类似于:
1 |
git:x:1000:1000::/home/git:/bin/bash |
将/bin/bash改为/usr/bin/git-shell(使用which git-shell查看路径)
1 |
git:x:1000:1000::/home/git:/usr/bin/git-shell |
客户端使用
1 |
git clone git@server:/home/git/project.git |
如果目录在git的用户目录下,可以省略/home/git
1 |
git clone git@server:project.git |
如果配置正常,应该可以直接拉下来了。如果不正常,一般是会让输入密码或者提示权限不足,请重新看一下本教程,确认无误。
更多参考:服务器上的 Git
- 本文固定链接: https://blog.kuoruan.com/81.html
- 转载请注明: Index 于 扩软博客 发表
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!
Pingback 引用通告: 在Linux上快速搭建Git服务器教程 | 大专栏
Pingback 引用通告: 在Linux上快速搭建Git服务器教程 | Doubi's Love
Pingback 引用通告: 在Linux上快速搭建Git服务器教程 | db1024
Pingback 引用通告: 在Linux上快速搭建Git服务器教程 – I'M VIP