ubuntu安装git
# 安装git
sudo apt-get install git
# 查看git版本
git --version
添加客户端公钥到远程库
1.客户端git生成密钥
ssh-keygen
2.查看客户端公钥(windows的公钥放在/c/Users/admin/.ssh/id_dsa.pub中,可通过git查看)
cat /c/Users/admin/.ssh/id_rsa.pub
3.将客户端公钥添加到远程库(复制公钥添加到authorized_keys中
注: 团队很小(不超5人)可以把每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys
文件里,如果团队较大可以用Gitosis来管理公钥
创建用户运行git
服务
1. 创建git远程库用户的账号-git
sudo adduser git
2. 禁用shell登录(出于安全考虑, 创建的git用户不允许登录shell, 通过编辑/etc/passwd
文件完成)
sudo vim /etc/passwd
如图:
将=>: git:x:1000:1000:1001:1001:,,,:/home/git:/bin/bash
改为: git:x:1000:1000:1001:1001:,,,:/home/git:/usr/bin/git-shell
初始化Git仓库并设置权限
1. 创建一个裸仓库(选定一个目录作为Git仓库, 假定是/home/git/sampel.git
)
,在/home/git
目录下输入命令:
sudo git init --bare sample.git
2. git目录添加写的权限
sudo chown -R git:git sample.git
克隆远程库与远程库提交
克隆远程库:git clone [email protected]:/home/git/sample.git
提交到远程库
注:
Git报错:insufficient permission for adding an object to repository database .git/objects
在本地搭建Git服务器后,在开发机上push新代码,发现Git提示:insufficient permission for adding an object to repository database .git/objects。 出现的原因是:没有版本库所在目录的写权限,导致新的文件无法上传。更改xx.git版本库的权限命令