建立远程Ubuntu git 仓库
1、安装git
sudo apt-get install git
2、随便找一个目录作为代码仓库目录
cd /alidata/www/default/
sudo git init --bare sample.git #创建代码仓库,代码仓库地址 /alidata/www/default/sample.git
3、创建一个git用户使之能操作和访问代码仓库
sudo adduser git
4、修改git代码仓库的所有人权限
chowm -R git:git /alidata/www/default/sample.git
5、取消git用户通过22端口shell 登录
vi /etc/passwd
#将 git:x:1001:1001:,,,:/home/git:/bin/bash
#改为 git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
7、添加用户登录秘钥
cd /home/git
mkdir .ssh
chown -R git:git .ssh
cd .ssh
vi authorized_keys
chown -R git:git authorized_keys
收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
如果团队很小,把每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys文件里就是可行的。如果团队有几百号人,就没法这么玩了,这时,可以用Gitosis来管理公钥。
客户端(本地仓库windows)
1、下载git 并安装
2、随便找一个目录,进入进去,右键Git Bash
3、输入git init 将此目录作为本地仓库
4、设置自己的姓名和邮箱
git config --global user.name "谭勇"
git config --global user.email "123456789@qq.com"
5、查看自己输入的配置是否生效了
git config --list
6、生成用户秘钥
ssh-keygen -t rsa -C "123456789@qq.com"
注意这里的邮箱要和你上面配置中的邮箱是一样的
7、将生成的秘钥id_rsa.pub 文件交给服务器管理员,管理员登入服务器进行如下操作
vi /home/git/.ssh/authorized_keys #将id_rsa.pub 文件中的内容添加到里面去并保存
vi /home/git/.ssh/id_rsa.pub_tanyong #做一个备份,指明这个秘钥是谁的
8、本地连接远程仓库
git clone git@ip地址:/alidata/www/default/sample.git
可能会提示你输入密码,提示就输入吧