如何解决Git子模块,仅添加忽略的目录
说我具有以下结构:
Foo
|-- Bar 1 (git repo)
|-- Folder 1
|-- Folder 2
|-- Bar 2 (git repo)
|-- Folder 1
|-- Folder 2
其中Bar 1和Bar 2是 same 克隆的git repo(例如项目代码),因此两个目录的Folder 2位于.gitignore中。 (因此,条1和条2都忽略文件夹2),但是文件夹1实际上位于“条”存储库中。
我想要做的是在文件夹Foo上创建一个新的存储库,该存储库跟踪所有2s文件夹中的更改。 (又称不在Bar 1/2存储库中的文件夹)
我一直在尝试添加子模块和类似的东西,但是它似乎并没有满足我的需求。 (我对子模块了解不多,当您处理已经存在的内容时,它们会使您感到困惑。)任何人都知道如何执行此操作,或者可以向我指出一个指南,该指南显示了如何使子模块工作,而不是基本的向导?
解决方法
我要做的是在文件夹Foo上创建一个新的存储库
该新存储库不必位于文件夹Foo中。
子模块是将远程存储库引用导入当前存储库的一种方法。
因此,理想情况下,您可以在Foo之外定义Folder2并将其推送到其自己的远程存储库(在GitHub / GitLab / BitBucket / Gitea / ...上)
然后在Foo上输入:
git rm Bar1/Folder2
git rm Bar2/Folder2
git submodule add /url/remote/Folder2 Bar1/Folder2
git submodule add /url/remote/Folder2 Bar2/Folder2
git commit -m "Replace Folder2 by submodules"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。