如果我用托管Web服务器做一个类比,我会说git的数据应该在/var/git中,所以我的git存储库应该在/var/git/myrepo中。 />

#1 楼

除了您个人的宗教信仰和系统上hier(7)联机帮助页中的内容外,此处没有正确或错误的答案。

典型的Linux hier联机帮助页;典型的BSD hier联机帮助页)

/var/git/*对我个人而言似乎很合理。那是我的住所。

评论


同样,在Arch Linux中,apache的文件夹是/ srv / http(而不是像其他发行版的/ var / www),所以我将git的内容放到/ srv / git中。

–trusktr
2014年1月30日8:14



/ var /下的某个地方似乎是合理的,但也请参见下面的Denis R的答案:serverfault.com/a/433584/45819-他有充分的理由将其放入/ var / lib / git

–mit
18年6月8日在8:18

错误的答案!正确的答案应该是“ / home / {user}下的任何地方”

–anton1980
20/09/28'0:48

#2 楼

将其放在/srv下的目录(或共享文件系统)中。这就是它的用途。

/srv目录用于系统提供的特定于站点的数据。从标准开始:


指定此名称的主要目的是使用户可以找到特定服务的数据文件的位置,以便
服务只读数据只需要一棵树,可写数据和脚本(例如cgi脚本)可以合理放置。仅特定用户感兴趣的数据应该进入该用户的主目录。

用于命名/srv子目录的方法未指定为
目前尚无关于如何完成此操作的共识。用于在/srv下构造数据的一种方法是通过协议,例如。 ftprsyncwww
cvs。在大型系统上,通过管理上下文来构造/srv很有用,例如/srv/physics/www/srv/compsci/cvs
等。此设置因主机而异。因此,任何程序
都不应依赖现有/srv的特定子目录结构或必须存储在/srv中的数据。但是,/srv应该始终
存在于FHS兼容系统上,并应被用作此类数据的默认
位置。 />无需管理员许可就可以在这些目录中进行操作。或者,您可以使用例如/var/www/git并将文件上下文设置为等效:

semanage fcontext -a -e /var/www/git /srv/git


评论


另一个错误的答案。作者说“我的git仓库”。显然,这是他的数据,与系统的任何其他用户无关。因此,它应该放在〜/下的某个位置

–anton1980
20/09/28'0:50

@ anton1980您似乎对这个问题有误解。

–迈克尔·汉普顿
20/09/28'1:35

#3 楼

/home/git/


乍一看似乎有点不合常规,但是这是非常合理的,因为在执行sudo useradd git时会为您创建此目录(具有正确的权限)。您只需切换到git用户cd并立即运行:

$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys


,并将对等方的公钥放入刚刚创建的authorized_keys文件中。

在执行完项目之后,“ URL”就是...等待它...

git@<server>:<project>


评论


几乎像《 Pro Git》一书中推荐的那样:git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server

– exic
18年6月1日在11:58

是!!它应该放在“家”下。更多信息,请访问:superuser.com/questions/897782/…

–anton1980
20/09/28'0:53

#4 楼

在Arch Linux上,我有/srv/http用于apache(这是系统默认值),我也将它用于我的node.js http服务器。同样,我决定将所有git存储库都放在/srv/git中。

我使用GitLab,在这种情况下,/srv/git也是git的主文件夹。

最终,这取决于您。我发现坚持使用类似于您发行版中其他服务的格式很容易记住。

#5 楼

就像voretaq7所说的,在这个问题上没有对与错的答案。
但是,如果您要遵循软件,数据库软件似乎会将其数据存储在

/var/lib/soft


例如,对于在debian上的Postgresql 9.1,文件夹是
/>

#6 楼

这完全取决于您。不过,理想情况下,您应该将git数据目录放置在单独的分区甚至磁盘上,以使系统升级等工作变得更加容易。当然,您必须确保有足够的磁盘空间。

#7 楼

如果您使用某个前端进行git,请随您的发行版打包的前端一起放置。其他任何事情都只会造成不必要的不​​兼容性。

评论


1 /我没有使用git进行前端2 / Git并没有建议在哪里放置git仓库...执行git init的任何文件夹都是git仓库。

–塞缪尔·罗西耶(Samuel Rossille)
13年1月1日在21:45



1 /在前端,我将假设git服务器为仓库提供服务。 2 /任何此类服务器,即使仅使用HTTP服务器也将具有默认位置。当然,我们谈论的是托管位置,当您使用代码时,.git主要位于项目内部。

– hultqvist
2014年1月30日17:23

#8 楼

首先,关于使用/ srv的建议,您假设所有git存储库都用于网站。对您来说可能是对的,但是您可能拥有的软件不是网站。

其次,通过将代码存储库存储在/ var / www / html或/ srv / html之外,您将获得两个不错的好处。您可以在任何级别上创建符号链接到您的仓库中,从而更容易隐藏您的库。另外,如果存储库的位置发生了根本变化,则无需修改虚拟主机配置。相反,您只需要调整符号链接。

我正在使用/ var / repo,但我认为/ var / git更好,并且将从现在开始使用。

#9 楼

当我下载git repos以便维护随后要部署的站点配置时,我将它们存储在
/ br / data / repos / $ REPO_GROUP_OR_USER / $ REPO_NAME

#10 楼

要向池中添加另一个选项:将Linux内核标头和DKMS内核模块源安装到debian上的/usr/src/中,我已经在/usr/src/repos/下安装了一个BTRFS卷,所有git项目都在该目录下...需要从我的机器xD中最慢的硬盘末端转移该卷