繁体   English   中英

Git在存储库中创建目录[代码空间]

[英]Git creating directory in repository [Codespaces]

我的设置:我在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_foo
 - proj_1
   -src
 - proj_2
   -src
   -lib

等等

有什么想法吗?

现在,我创建了另一个存储库,比方说repo_foo。 对于此存储库,我想在其中放置多个目录(项目)。 我真的不需要这里的代码空间“项目”。 我只是想能够做到这一点。

因此,您想在其他git存储库中嵌套git存储库吗? 尚不清楚您的最终目标是什么。 也许git submodules可以满足您的需求? 子模块基本上是克隆到另一个git存储库中的其他存储库。 因此,假设您有一个主项目,但您也有一个要使用的出色库的存储库。 您可以将库添加为子模块,并将其引用到主项目。 这样,如果您对库进行更改,则可以自动更新将该库作为子模块的项目。 如果您需要的话,功能非常强大。

从我的角度来看,问题在于您正在将目录和存储库的概念整合为一件事。 因此,当您执行以下操作时:

git remote add origin git@codespaces.com:acct_name/repo_foo/proj_1

您说的是:“进入此仓库。 然后在该存储库中创建另一个存储库。”

git@codespaces.com:acct_name/repo_foo/proj_1不会有任何origingit@codespaces.com:acct_name/repo_foo/proj_1的父git@codespaces.com:acct_name/repo_foo已经存在。

您需要做的是为每个项目设置一个仓库,并确定一个命名方案。 就像是:

  • repo_foo_proj_1
  • repo_foo_proj_2
  • 等等…

您的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,该URL用于推和拉操作。 因此,如果初始化repo_foo并提供remote add ,则不能在proj_1下执行相同的操作。 它会被自动跟踪,并且所有推/拉操作都将使用repo_foo/.git/config文件中存在的路径。

暂无
暂无

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

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