可以使用git来处理仓库中的项目吗?

时间:2017-04-20 19:16:45

标签: linux git

我在Debian上设置了一个git服务器,并在/srv/git/中创建了一个名为git的文件夹。

在文件夹中,我想通过云托管cloud和本地托管on-prem来划分我的git项目。这两个文件夹中包含主机名及其部署,重新部署等所需的特定文件。

因此,使用类似webapp的主机名在云上执行apache的服务器将具有类似/srv/git/repos/cloud/webapp的文件夹结构。

是否应从git init文件夹或cloud文件夹运行命令webapp

2 个答案:

答案 0 :(得分:1)

我假设您设置了裸仓库。

正如你在问题中提到的,你想在这里有单独的git项目复数,所以我理解你想在云目录下有多个项目。

方法1:

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对现有存储库没有害处是安全的。它不会覆盖已存在的东西

方法2:

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;最终结果将完全相同,但为什么要这么麻烦?。