安装环境 centos7
说明:centos yum 库里面的git 好像是不区分 客户端和服务器端, 安装 git 以后 就可以创建 仓库,也可以检出 别的 git 仓库的 代码了。所以不用 纠结 找 git server 和 git client。
第一步: yum -y install git 等待 安装完成
第二步: 查看git 是否正常安装。
第三步: 添加 用户 useradd git ,然后 为他设置密码 passd git 。 下面提示密码太短,但是设置成功了。
第4 步:找个 存放 git 仓库的 目录。 我放在 /git/resp
mkdir -p /git/resp
cd /git/resp
第5 步: 创建 初始化仓库 git init --bare test.git
第6步:指定 这个目录的权限 chown -R git:git resp ,直接白 resp 目录和子目录 的用户和用户组都指向 git 。 ( 如果不做这一步无法上传 )
第七步:git clone git@ip:/git/resp/test.git
备注:git clone 用户名@你的服务器ip:仓库路径
备注2:我一般 使用的 tortoisegit ,用法 和 tortoisesvn 差不多。
上面就做完一个git 用户的 登陆了, 但是通过用户名密码登陆,肯定不是我们想要的 下面我们要做的 git 的 证书登陆。
第8步: 回到 /home.git 目录下面 ,
第九步: mkdir .ssh touch 然后在 .ssh目录下面 touch authorized_keys
第10步: 在 authorized_keys 里面写入你的公钥 vi authorized_keys 然后 写入 你的私钥
备注: 如果你们团队有 20 个人 ,那么 收集 他们的 公钥 ,然后 一次写在 这个里面就可以了。
第 11 步:clone 代码的时候 直接选择 你的私钥就可以了
第 12 步: 怎么区分谁是谁上传的呢。 tortoisesvn 右键 设置里面 可以修改 名字和邮箱。
第 13 步: git 这个用户 我们 其实不需要它登陆 。所以应该 禁用它的登陆。
因为 我们只是想禁用 git 这个账户的登陆。
vi /etc/passwd
git:x:1000:1000:,,,:/home/git:/bin/bash
改成
git:x:1000:1000:,,,:/home/git:/usr/bin/git-shell
备注: 正常用户 进入shell 是 执行的 /bin/bash 这个文件 , /usr/bin/git-shell 文件是安装git 的时候 附带的,这里面限制了用户登陆。
备注:有些人觉得 git 这种 每个人一个 证书,并且 上传用户 是 自己随便改的 ,不安全, A 可能假冒 B 乱改代码。 没错,确实有这种可能,但是一般同一个团队 不会这样做。
如果 你非常想 一个人一套用户密码。那么你大概可以这么干,添加 N个用户 。 设置 这些用户 为同一个 用户组,比如 都归属于 git 这个用户组。 设置 仓库 的 权限 777 ,修改 这些用户的 umask=002 。 这样就每个人都有自己的账号密码了。上面 colen 的地址 每个人也不同( git clone 用户名@你的服务器ip:仓库路径 )。
备注: centos yum 库里面的git 好像不区分 客户端和服务器端, 安装 git 以后 就可以创建 仓库,也可以检出 别的 git 仓库的 代码了。