我在Debian上设置了一个git服务器,并在/srv/git/
中创建了一个名为git的文件夹。
在文件夹中,我想通过云托管cloud
和本地托管on-prem
来划分我的git项目。这两个文件夹中包含主机名及其部署,重新部署等所需的特定文件。
因此,使用类似webapp
的主机名在云上执行apache的服务器将具有类似/srv/git/repos/cloud/webapp
的文件夹结构。
是否应从git init
文件夹或cloud
文件夹运行命令webapp
?
答案 0 :(得分:1)
我假设您设置了裸仓库。
正如你在问题中提到的,你想在这里有单独的git项目复数,所以我理解你想在云目录下有多个项目。
cloud
|------->webapp
|------->something1
|------->something2
非常直接的方式是/srv/git/repos/cloud/webapp.git
这里webapp是git repo。
将webapp设置为git repo。
git init --bare /srv/git/repos/cloud/webapp.git
--bare
:对于裸仓库,您可以使用现有仓库跳过此处。
虽然init对现有存储库没有害处是安全的。它不会覆盖已存在的东西
cloud (git repo)
|------->webapp (submodule)
|------->something1 (submodule)
|------->something2 (submodule)
在另一个选项中,您可以将云保持为git repo并将webapp作为子模块。那是git repo里面的回购。
您可以选择最适合您的方式。
我建议使用两个不同的repo,如果你在一个git repo中有足够的子模块,那么在开始跟踪事物时可能会很麻烦。
答案 1 :(得分:0)
您的问题的答案是您应该从云文件夹运行git init
,将webapp作为第一个参数,即git init webapp
。
也就是说,你也可以创建webapp目录,改成它,然后运行git:mkdir webapp; cd webapp; git init;
最终结果将完全相同,但为什么要这么麻烦?。