【问题标题】:unwanted subfolder when adding a git submodule添加 git 子模块时不需要的子文件夹
【发布时间】:2023-04-03 06:10:01
【问题描述】:

我正在尝试添加一个 git 子模块。子模块本身没有任何问题,但我的问题是添加子模块时创建的布局。

我正在添加一个名为 utils 的简单子模块,它只包含一个文件。

我正在使用这个

git submodule add --force ssh://myserver/home/git_repositories/utils js/utils

因为我想将子模块 utils 添加到 js/utils 文件夹中

问题是在执行此操作后,在 js/utils 文件夹中,我找到了另一个名为 utils 的文件夹,例如 js/utils/utils,然后我找到了我的 javascript。

我想要一个像 js/utils/ 这样的布局,这里是我的 javascript。

我试图消除 git submodule add like 中的 /utils

git submodule add --force ssh://myserver/home/git_repositories/utils js/

然后 git 产生

'js' already exists in the index

你知道有什么方法可以避免那个次要的 /utils 吗?

提前非常感谢!

普鲁士蓝

【问题讨论】:

  • 除了这个目录utils 之外,您希望js 文件夹清空吗?子模块是否包含名为 utils 的文件夹?
  • 一个子模块,作为其在 Git 中定义的一部分,始终是一个完整的目录,因此它(可以)作为自己的存储库。然后,该目录将包含一个 .git 子目录,所有存储库都有一个。
  • 嗨,js 必须有它的子文件夹,比如 js/lib、js/controllers 等。我想要的是 /js/utils 而不是 /js/utils/utils,因为子模块创建额外的 /utils。我只希望 js/utils 和 /utils 成为子模块
  • 另外,我发现如果我做 git submodule add --force ssh://artcodee@a2s79.a2hosting.com:7822/home/artcodee/git_repositories/utils js 当js文件夹没有'不存在,那么布局是正确的,因为 utils 将在 /js/utils.问题是我的js不是空的!

标签: git subdirectory git-submodules


【解决方案1】:

我发现问题出在我原来的 utils 存储库中。

显然我忘了在那个特定文件夹中执行 git init,因此它把父级作为根级别,从而创建了额外不需要的 /utils

为了解决这个问题,我只需要在 utils 文件夹 git add 中执行 git init 。 , git 提交和推送。当作为子模块拉取时,现在它具有正确的布局!

我的错!希望这对某人有所帮助,非常感谢您的帮助。

【讨论】:

    【解决方案2】:

    试试这个:

    1. .gitmodules 文件中删除此子存储库的部分;
    2. .git/config 文件中删除此子存储库的部分;
    3. git rm --cached submodule_path;
    4. rm -rf submodule_path

    【讨论】:

      猜你喜欢
      • 2018-08-10
      • 2018-08-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2015-03-22
      • 2012-04-20
      • 2012-07-06
      • 1970-01-01
      相关资源
      最近更新 更多