Git服务器搭建

来源:互联网 发布:拜占庭东罗马知乎 编辑:程序博客网 时间:2024/06/08 20:18

git中远程仓库与本地仓库没什么区别,只是提供了一个24小时不关机的服务器,方便不同的机器获取和开发,然而托管于在线GitHub网址是开源的,大多数公司不希望自己的代码被别人知道,所以那么选择SVN集中式版本开发,要么自己搭建Git服务器,这节主要学习搭建Git服务器的知识 主人博客

Git服务器搭建

准备工作:
1. 准备一台 Linux 的机器(Ubuntu或者 Debian)
2. 安装 git:
sudo apt-get install git

3. 创建git用户,用来运行 git 服务

sudo adduser git

收集所有需要访问用户的GitHub上面的公钥 就是用户自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authoriz ed_keys文件里,一行一个

4.初始化版本仓库,假定是/srv/sample.git,在/srv目录下输入
sudo git init --bare sample.git

Git 就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的 Git 仓库纯粹是为了共享,所有不让用户直接登记到服务器上去改服务区,并且服务器上的 Git 仓库通常都是 .git 结尾。然后,把owner 改为git:

sudo chown -R git:git sample.git

5. 禁用 shell

处于安全考虑,创建git的用户不允许登录shell,找到etc/passwd文件找到类似下面的一行:

git:x:1001:1001:,,,:/home/git:/bin/bash
改为
git:x:1001:1001:,,,:/home/usr/bin/git-shell

这样git用户可以正常通过ssh使用git,但无法登录shell,因为为git用户指定的shell登录就自动退出。

6.验证服务器
git clone 克隆远程库

git clone git@server:/srv/sample.git

涉及到的知识:
1. apk 是Debian及其派生发行版的软件包管理器
2. Sudo 是一种程序,用于类Unix操作系统如BSD,Mac OS X,以及GNU/Linux以允许用户通过安全的方式使用特殊的权限运行程序(通常为系统的超级用户)。

原创粉丝点击