5

我知道子模块,但是有一个奇怪的边缘情况,我想避免为外部存储库的代码保留一个单独的目录。

我的研究生论文有一个 LaTeX 项目: https ://github.com/jklukas/gradthesis

它使用我保存在单独存储库中的样式文件(供其他人轻松使用): https ://github.com/jklukas/uwthesis

我可以将 uwthesis 作为子模块包含在内,但 LaTeX 仅在主目录中查找样式文件。在 LaTeX 中有一些 hacky 方法,比如在导入样式文件时给出明确的路径,但这看起来很难看。

目前,我只是uwthesis.stygradthesis回购中保留一份副本。是否可以配置uwthesis为远程并能够仅针对这个文件推送更改?

4

2 回答 2

9

您可以使用正常git submodule机制添加子模块:

git submodule add git://github.com/jklukas/uwthesis.git uwthesis

然后创建从顶级目录到相应样式文件的符号链接:

ln -s uwthesis/uwthesis.sty uwthesis.sty
于 2013-01-10T03:43:52.887 回答
5

如果你的问题只是

只为这个文件推送更改

您可以添加所有文件,不包括一个,.gitignore像这样:

*
!path/to/explicit.file

并清除您的本地回购索引:

git rm -r --cached .

然后添加、提交和推送任何你想要的东西。

于 2012-05-08T20:21:00.597 回答