我的设置:我在Eclipse IDE本身中进行本地提交。我的本地存储库也位于工作区中。不知怎的,我无法使用Eclipse进行远程提交,所以我就这样做了,因此我一直在使用gitbash对codespaces.com 进行远程提交
git remote add origin git@codespaces.com:acct_name/repo_name
git push origin master
到目前为止,这对我很有用。
现在我创建了另一个存储库,比如repo_foo
。对于这个存储库,我想在其中放置多个目录(项目)。我真的不需要这里的代码空间Projects
。我只想能够做到这一点。
git remote add origin git@codespaces.com:acct_name/repo_foo/proj_1
(currently this gives no repository in path error)
所以回购结构应该是这样的。
repo_foo
- proj_1
-src
- proj_2
-src
-lib
等等。
对此有什么想法吗?
现在我创建了另一个存储库,比如repo_fo。对于这个存储库,我想在其中放置多个目录(项目)。我真的不需要这里的代码空间"项目"。我只想成为能够做到这一点。
所以你想在其他git存储库中嵌套git存储吗?目前还不清楚你的最终目标是什么。也许git submodules
能满足你的需求?子模块基本上是克隆到另一个git存储库中的其他存储库。假设你有一个主项目,但你也有一个你想使用的伟大库的repo。您可以将库添加为子模块&请参阅主要项目。这样,如果您对库进行更改,则将该库作为子模块的项目可以自动更新。如果你需要的话,这是一个非常强大的概念。
从我的角度来看,问题是你正在卷积目录的概念&一个存储库变成一件事。因此,当您执行以下操作时:
git remote add origin git@codespaces.com:acct_name/repo_foo/proj_1
你在说,"进入这个回购。在这个回购中创建另一个回购。"
将不存在git@codespaces.com:acct_name/repo_foo/proj_1
的origin
,因为git@codespaces.com:acct_name/repo_foo
的父回购已经存在。
你需要做的是为每个项目设置一个回购;决定一个命名方案。类似于:
- repo_fo_proj_1
- repo_fo_proj2
- 等等
你的git remote add origin
命令是:
git remote add origin git@codespaces.com:acct_name/repo_foo_proj_1
git remote add origin git@codespaces.com:acct_name/repo_foo_proj_2
etc…
初始化文件夹中的git时,会自动跟踪所有子文件夹。当使用多个项目或文件夹时,每个项目或文件夹都应单独跟踪。你应该把它们保持在同一水平上。
--home
--Workspace
--project1
--project2
--project3
如果您在工作区意外初始化git,当您选中git status
时,它会包含下面要跟踪的所有文件和文件夹。当您执行git remote add origin
时,.git/config下的配置文件会添加一个远程url,用于推送和拉取操作。因此,如果初始化repo_fo并提供remote add
,则无法在proj_1下执行相同的操作。它将被自动跟踪,所有推/拉操作都将使用repo_foo/.git/config
文件中的路径。