git 服务器安装流程
参考:https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%90%AD%E5%BB%BA-Git
https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E9%85%8D%E7%BD%AE%E6%9C%8D%E5%8A%A1%E5%99%A8
1、在本地创建任意文件夹,mkdir my_project , 切换到my_project,git init
2、切换到my_project 上层目录
git clone --bare my_project my_project.git
生成种子项目
3、将种子 放到服务器的 opt/git 目录
scp -r my_project.git git@git.example.com:/opt/git
4、确保 服务器上有 /opt/git 目录:
认识:
git的远程服务器连接所用的用户名,其实是登录linux的用户名,只不过你可以设置这些用户名只有单一的目录访问权限。
-------------------------------------------------------------------------------------------------------------------------------------------------------简单流程 ↓↓↓ ------------------------------------------------------------------------------------------------------------------------------------------------
1、 添加 git用户
// 此时自动添加 与git同名的分组名称 sudo adduser git
2、将 某个文件夹权限赋予 git分组
// 将git文件夹的所有者赋予 git分组 chgrp -R git /opt/git // 将git文件夹的权限设置为 分组可修改 chmod 774 git
3、添加可访问权限 (其实不要这一步也可以只不过每次都要输入用户git的密码,将用户的key加入以后就不用输入密码了。直接push)
// 切换到git用户 su git // 切换到git用户的home $ cd // 创建 权限文件 $ mkdir .ssh && chmod 700 .ssh $ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys // 将用户pub key 加入到 authorized_keys文件中
4、 创建git项目 (一定要用git用户创建)
$ cd /opt/git $ mkdir project.git $ cd project.git $ git init --bare // Initialized empty Git repository in /opt/git/project.git/
5、用户端
git clone git@服务器地址:/opt/git/project.git
last 摸索过程....
// 删除用户 sudo userdel git // 创建用户 git sudo adduser git // 创建用户组 git_users // groupadd -g 888 git_users // 将git加入用户组 // gpasswd -a git git_users // 修改 /opt/git 的所属分组 // chgrp -R git_users git // 删除组git_users // groupdel git_users // 因为创建用户git的时候git已经被加入了git分组 // 将git文件夹的所有者赋予 git分组 chgrp -R git /opt/git // 将git文件夹的权限设置为 分组可修改 chmod 774 git //