来自本地文件夹的 git 子模块

kyb*_*kyb 5 git git-submodules

有一个名为 的 git 存储库parent-repo。它有lib包含库的文件夹。'lib/one' 受parent-repo. 现在我想让 git 识别lib/oneparent-repo.

cd lib/one
git init
git add .
git commit -m 'first commit'
Run Code Online (Sandbox Code Playgroud)

我认为下一步是

  1. cd parent-repo
  2. 取消跟踪lib/one
  3. 注册lib/one为子模块
  4. 阶段并提交。

如果可能的话,请使用 git 命令清除后续步骤。

kyb*_*kyb 4

当前的解决方案是从该来源创建专用存储库parent-repo。移出lib/oneparent-repo创建新的 git 存储库。

mv 'lib/one' ../one
cd ../one && git init && git add . && git commit -m 'first commit
# git remote add ... && git push
Run Code Online (Sandbox Code Playgroud)

然后

cd parent-repo
git submodule add --name one file:///path/to/one lib/one  # for example in windows file:///D/myrepos/one, file://../one relative path disallowed
git add lib/
git commit -m 'lib/one is submodule now'
Run Code Online (Sandbox Code Playgroud)