参考:https://www.cnblogs.com/onelikeone/p/6857910.html

首先创建一个git服务器

  1. mkdir git-server && cd git-server
  2. git init --bare

此操作和普通的git init初始化不同,不会生成.git目录 image.png

权限设置

参考: https://blog.csdn.net/defeattroy/article/details/13775499

设置目录权限

  1. chmod 770 git-server # 同组人可用
  2. chmod 770 git-server/refs/heads # push时需要创建refs/heads/master.lock
  3. chmod 770 git-server/objects # 每次push会在objects目录下新建目录
  4. chmod g+s git-server/objects # 组权限增加s权限(setgid), 这样新建的文件会继承该目录的属性

2 设置config文件

增加一行 **sharedRepository = 1**

image.png

每个人从服务器clone/pull到自己的目录,操作后再push到服务器

  1. git clone /path/to/git-server mydir
  2. cd mydir
  3. # do something
  4. git add .
  5. git commit -m 'xxx'
  6. # git pull
  7. git push

注意:每次工作前和push前最好都执行以下 git pull 命令,以保持和服务器最新一致

更简单的方式

  1. git init --bare --shared