我的设置:我在Eclipse IDE中进行本地提交。我的本地存储库也位于工作区内。 不知何故,我无法使用Eclipse进行远程提交,所以我就这样做了,因此我一直在使用git bash对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结构应该是这样的。
repo_foo
- proj_1
-src
- proj_2
-src
-lib
等
对此有何想法?
答案 0 :(得分:0)
现在我创建了另一个存储库,让我们说repo_foo。对于这个存储库,我想在其中放置多个目录(项目)。 我真的不需要这里的代码空间“项目”。我只想成为 能够做到这一点。
所以你想在其他git存储库中嵌套git存储库?目前还不清楚你的最终目标是什么。也许git submodules
会满足您的需求?子模块基本上是克隆到另一个git存储库中的其他存储库。所以假设你有一个主项目,但你也有一个你想要使用的伟大图书馆的回购。您可以将库添加为子模块&将其引用到主项目中。这样,如果对库进行更改,则可以自动更新将该库作为子模块的项目。如果你需要,那就是非常强大的概念。
从我的角度来看问题是你正在卷入一个目录的概念。一个存储库到一个东西。因此,当您执行以下操作时:
git remote add origin git@codespaces.com:acct_name/repo_foo/proj_1
你说,“进入这个回购。并在该回购中创建另一个回购。“
由于origin
的父回购已经存在,git@codespaces.com:acct_name/repo_foo/proj_1
将不会git@codespaces.com:acct_name/repo_foo
。
您需要做的是为每个项目设置一个仓库&决定命名方案。类似的东西:
您的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…
答案 1 :(得分:0)
在文件夹中初始化git时,会自动跟踪所有子文件夹。处理多个项目或文件夹时,应单独跟踪每个项目或文件夹。你应该把它们保持在同一水平。
--home
--Workspace
--project1
--project2
--project3
如果您在工作区意外初始化git,当您选中git status
时,它会包含要跟踪的所有文件和文件夹。当您执行git remote add origin
时,.git / config下的配置文件会添加一个用于推送和拉取操作的远程URL。因此,如果您初始化repo_foo并提供remote add
,则无法在proj_1下执行相同的操作。它会被自动跟踪,所有推/拉操作都将使用repo_foo/.git/config
文件中的路径。