如何在Linux服务器上正确创建集中式GIT存储库?为什么我在本教程后面会出现此错误?

时间:2016-10-04 17:35:07

标签: linux git version-control git-bash

我是GIT的新手,我正在按照本教程在Linux服务器上安装集中式GIT存储库:http://toroid.org/git-central-repo-howto

它显示了这两个第一步:

$ git init --bare --shared foo.git
Initialized empty shared Git repository in /git/foo.git/
$ chgrp -R dev foo.git

所以基本上是第一个命令:

git init --bare --shared foo.git

我认为这意味着我正在创建一个新的空 foo 存储库( foo 是创建的存储库的名称?)。

据我所知, - bare 选项意味着此存储库未与工作树相关联。为什么呢?

阅读本文档:https://git-scm.com/docs/git-init我可以理解 - 共享意味着此存储库将在多个用户之间共享。这允许属于同一组的用户进入该存储库

但是用户是什么?用户是什么?

第二个陈述是:

chgrp -R dev foo.git

根据我的理解,它将 foo.git 目录(我的存储库)及其所有内容设置为 dev 组。

问题在于执行此命令我在shell中获取此错误消息:

XXX@YYY:~$ chgrp -R dev foo.git
chgrp: invalid group: ‘dev’

我不是很喜欢Linux,但我认为这意味着 dev 组不会退出我的服务器。为什么要将此存储库文件夹(及其内容)与组关联?我该如何解决这个问题?

TNX

2 个答案:

答案 0 :(得分:1)

重读手册:

  

让人们对它(存储库)进行读写访问的简单方法是   将所有相关用户添加到一个组(例如dev),然后给该组   存储库的所有权

  

--shared选项设置对所有内容的权限   存储库到组可写。

ssh://假设访问类型为repo。即user属于本地组,其所有成员在FS级别的存储库中具有RW rigths

答案 1 :(得分:0)

我自己对GIT很新,但我认为你只需要预先创建linux组“dev”,或者使用已经存在的组。您可以将linux服务器的用户添加到该组中。该组的用户以后可以克隆/从/推送到您的存储库。 关于管理小组的链接:

https://wiki.archlinux.org/index.php/users_and_groups