git - 有没有办法将子模块添加到非空目录
问题描述
我正在尝试将一个通用文档(几乎所有我的产品都使用)添加到包含我的项目所需的其他文档的文件夹中。当我使用 git submodule add 时,我得到目录不为空的错误,这就是重点。如果我以任何其他方式添加它,它会创建一个新的子目录,它会破坏我到该文件的所有链接。
解决方案
如果我理解正确,您的项目 X 的结构如下:
- /
+- docs/
+- projectdoc1.txt
+- projectdoc2.txt
.. 然后您在另一个 git 存储库中有一个公共项目,其中包含(至少)一个您想要集成到项目 X 的文档?
(另外我假设你有一个用于执行命令的 bash shell。)
假设这一点,您也许可以使用符号链接来解决您的问题?
首先,在根目录下添加公共项目作为子模块:
git submodule add my-common-repo.git
现在你有
- /
+- docs/
| +- projectdoc1.txt
| +- projectdoc2.txt
+- my-common-repo/
+- commondoc.txt
现在,转到 docs 子目录并创建一个指向 commondoc.txt 的链接:
cd docs/
ln -s ../my-common-repo/commondoc.txt
然后你可以像普通文件一样添加链接:
git add commondoc.txt
git commit -m 'Add commondoc.txt symlink from my-common-repo'
而已。现在你有:
- /
+- docs/
| +- projectdoc1.txt
| +- projectdoc2.txt
| +- commondoc.txt
+- my-common-repo/
+- commondoc.txt
每当您更新 my-common-repo/ 子模块时,docs/commondoc.txt 都会保持最新状态。
推荐阅读
- reactjs - 为孩子柯里化 React 父函数
- javascript - (index):1 Uncaught ReferenceError:(function) is not defined at HTMLSelectElement.onchange
- reactjs - 如何使用 React 获取 Spotify 授权令牌?
- android - 如何使所有页面反应原生 RTL?
- reactjs - 组件异常错误:对象作为 React 子对象无效(发现:带有键 {_U,_V,_W,_X} 的对象)如果您打算渲染一组子对象
- javascript - × TypeError:无法读取未定义的属性“地图”,但可以控制台记录保存数组的键 - 带有钩子的 ReactJS
- mongodb - 未捕获的异常:SyntaxError:缺失:在属性 id 之后:
- javascript - Javascript - 单击图标显示下拉菜单
- javascript - 显示 Bootstrap Alert 时是否有事件
- arrays - gatling:如何从 csv 文件中读取 json?