我知道子模块,但有一个奇怪的边缘情况,我想避免为外部存储库的代码保留一个单独的目录。
我的毕业论文有一个LaTeX项目: https://github.com/jklukas/gradthesis
使用我保存在单独存储库中的样式文件(供其他人轻松使用): https://github.com/jklukas/uwthesis
我可以将uwthesis包含为子模块,但LaTeX只在主目录中查找样式文件。在LaTeX中有很多方法,比如在导入样式文件时给出显式路径,但这看起来很难看。
目前,我只是在uwthesis.sty
回购中保留了gradthesis
的副本。是否可以将uwthesis
配置为远程,并且能够仅针对这一个文件推送更改?
答案 0 :(得分:8)
您可以使用普通git submodule
机制添加子模块:
git submodule add git://github.com/jklukas/uwthesis.git uwthesis
然后从顶级目录创建一个符号链接到相应的样式文件:
ln -s uwthesis/uwthesis.sty uwthesis.sty
答案 1 :(得分:4)
如果您的问题只是
仅针对这一个文件推送更改
您可以将所有文件(不包括一个)添加到.gitignore
,如下所示:
*
!path/to/explicit.file
并清除您当地的回购索引:
git rm -r --cached .
然后添加,提交并推送您想要的任何内容。