首页 > 解决方案 > 需要帮助使用现有代码设置新的多项目 Git 本地存储库

问题描述

我正在使用 Perforce 并且正在切换计算机并决定尝试 Git。我有几个项目——源代码、电气工程文件、机械工程文件等。我想将它们的提交分开。我还希望能够标记不同的提交,以便我可以回到特定的配置(因为没有更好的术语)。

此外,我希望 Git 存储库位于单独的文件夹中。

我不希望与在线存储库或其他人共享代码。所以,我打算创建一个本地存储库并添加/提交到它。我可能只是将此目录返回到 OneDrive 或让 OneDrive 指向 Git 存储库。

我已经阅读了许多不同的博客和问题,但不知道如何进行,非常感谢您的指导。

目录结构如下:

c:\Depot c:\Depot\Source c:\Depot\Source\Robot1 c:\Depot\Source\Robot2 c:\Depot\Source\Robot3 c:\Depot\Source\Library c:\Depot\EE c:\Depot\EE\Robot1 c:\Depot\EE\Robot2 c:\Depot\EE\Robot3 c:\Depot\ME c:\Depot\ME\Robot1 c:\Depot\ME\Robot2 c:\Depot\ME\Robot3

每个“叶子”目录 - 例如。Robotx有更多的子目录,我想在Robotx.

我想做的是为,和目录Robotx中的每个目录以及. 我不想使用过滤器将它们分开。SourceEEMELibrary

最后,我希望 git 存储库位于c:\Depot\Git

我去了c:\Source并做了:git init --separate-git-dir Git它是c:\Source\Git用看起来像 Git 文件和文件夹的东西创建的。

要添加第一个项目,我去了c:\Depot\Source并做了:git submodule add `pwd`/Robot1我收到一条错误消息:'Source/Robot1' already exists and is not a valid git repo

标签: gitgit-submodules

解决方案


在单独的文件夹中创建 Git 存储库后,您需要设置GIT_DIR环境变量--git-dir在命令行中指定:

git --git-dir=C:\Depot\Git ...

只有当您的每个项目都有 Git 存储库时,您才能添加子模块。

我会先从简单的开始:简单地git init在您的每个项目中,然后开始在您的存储库中添加新的提交。
添加提交并将这些项目推送到远程位置后,您就可以开始测试子模块了。


推荐阅读