我正在使用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
,Source
和EE
目录中的每个ME
以及Library
都有单独的提交历史记录。我不想使用过滤器将它们分开。
最后,我希望git存储库位于c:\Depot\Git
我去了c:\Source
并做了:git init --separate-git-dir Git
,然后用看起来像Git的文件和文件夹创建了c:\Source\Git
。
要添加第一个项目,我去了c:\Depot\Source
并做了:git submodule add `pwd`/Robot1
并收到错误消息:'Source/Robot1' already exists and is not a valid git repo
一旦在单独的文件夹中创建了Git存储库,您需要在命令行中设置GIT_DIR
environment variable或指定GIT_DIR
:
--git-dir
并且只有在每个项目都有Git存储库的情况下,才能添加子模块。
我首先要简单地开始:在您的每个项目中简单地单击git --git-dir=C:\Depot\Git ...
,然后开始在存储库中添加新的提交。添加提交并将这些项目推送到远程位置后,即可开始测试子模块。