赞
踩
开发环境:Ubuntu16
sudo apt install git
在这里我是专门创建了一个新的用户来作为git仓库
特别说明:在这里我新建的用户名为 git ,名字是可以任意取的。
sudo adduser git
sudo mkdir /home/git/.ssh
sudo touch /home/git/.ssh/authorized_keys
特别说明:一定要修改权限。修改权限后,客户端 clone、pull 就不需要ssh密码了
加上 -R 表示 .ssh目录 以及里面的所有文件都会被修改权限
sudo chmod 644 /home/git/.ssh/authorized_keys
特别说明:只有此步是在客户端完成,其余都是在服务器完成!!!!
公钥邮箱很重要 icedustpan@email
!!
ssh-keygen -t rsa -C "icedustpan@email"
千万不要输入密码!!!
千万不要输入密码!!!
千万不要输入密码!!!
一直按回车就行了
生成的公钥在 .ssh目录
cd .ssh
id_rsa.pub 是公钥
特别说明:一行一个公钥
首先复制客户端上公钥的内容,也就是客户端上的 id_rsa.pub
然后 拷贝到 服务器的 .ssh/authorized_keys
sudo vim /home/git/.ssh/authorized_keys
特别说明:出于安全考虑,第二步创建的git用户不允许登录shell
进入
sudo vim /etc/passwd
把:
git:x:1001:1001:,,,:/home/git:/bin/bash
修改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
特别说明:rk3288-7.1.git 就是我们创建的仓库目录名,仓库名一般都是以.git结尾的
rk3288-7.1.git 的仓库路径是 /home/git/rockchip/rk3288-7.1.git
。
在这里我们把 rk3288-7.1.git
仓库创建在我们之前创建的用户 git 下
sudo git init --bare /home/git/rockchip/rk3288-7.1.git
执行命令后,Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。
特别说明:我们在这里把share.git仓库的所有者修改为作为服务器的 git用户
重要!!! 一定要进入git用户目录!!!
cd /home/git
修改仓库所有者:
sudo chown -R git:git share.git
到此git服务器就搭建成功了
克隆代码命令拆分说明:
git clone 服务器上的用户名@服务器ip地址:仓库所在的路径
git 是我的服务器上的用户名
ip 是我服务器的ip地址
/home/git/share.git 是我的仓库的路径
git clone git@ip:/home/git/share.git
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。