繁体   English   中英

在使用GIT的服务器上创建存储库树

[英]Create a repository tree on my server working with GIT

我无法通过Google搜索找到想要的内容,因为我找不到能使我找到答案的关键字。

我最近开始使用GIT,使用的是我自己的服务器,而不是在线服务器:您需要付费以保持私密。 遵循本教程:

https://github.com/msysgit/msysgit/wiki/Setting-up-a-Git-server-on-Windows-using-Git-for-Windows-and-CopSSH

我使用了以下命令:

git init --bare

对于一个项目,一切正常。 但是我有数百个项目...分为3个部分:Web,桌面,其他。

所以我目前在想:

  1. 使自己成为服务器上的所有文件夹树,并在每个最终文件夹中重复上述命令。 我知道这会起作用,因为它适用于一个项目,但是肯定会很长。

  2. 尝试一次在整个文件夹树中进行git ...我认为这将失败,因为文件过多,可能会很沉重,而且我不知道git如何理解我想做什么会造成推送问题。

  3. 搜索一些内置的GIT命令,该命令将存储库划分为一个类似于我本地的文件夹树。

我确定有人以前这样做过,我不想开始做某事,后来意识到这本来可以简单得多...

当您已经有很多项目时,通常的GIT启动方式是什么?

一个单一的git存储库可容纳数百个项目,这会使协作工作变得非常困难,因为提交日志将汇总到所有项目中。 我不会推荐这个。

假设您在MyGitRepo下有一个项目集合(P1,P2等),则可以使该过程自动化。

MyGitRepo
|..P1
|..P2
|..
\..PN

您可以在每个项目中从Powershell如下运行命令git init --bare

Get-ChildItem -Path C:\\MyGitRepo -Directory -Depth 0 | Foreach {echo $_.fullname; cd $_.fullname; git init --bare}

  • Get-ChildItem列出项目
    • -Path搜索位置
    • -Directory仅返回目录
    • - -Depth -仅返回子文件夹且不递归
  • 将输出重定向到Foreach
    • echo显子文件夹
    • cd更改目录/输入目录
    • git ...在目录中执行命令

如果您有提到的文件夹结构

MyGitRepo
|..Web
   |..W1
   \..W2
|..Desktop
   \..D1
|..
\..Others
   \..O1

Get-ChildItem -Path C:\\MyGitRepo\\*\\* | Foreach {echo $_.fullname; cd $_.fullname; git init --bare}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM