Git 存储库使用目录作为外部
Git repository using directory as externals
我有一个 SVN 存储库,其中一些文档通过 svn:externals 使用相同的参考 (bibtex) 文件。其内容如下所示:
bibtex/
doc1/
-doc1.tex
-bibtex/ (svn:externals)
doc2/
-doc2.tex
-bibtex/ (svn:externals)
这样我就可以单独检查每篇论文并获得相同的参考资料。我如何设置与 git 相同的设置?
我读到建议使用子模块,但如果我尝试(在 git svn clone 之后)
git submodule add ./bibtex ./doc1/bibtex
我得到
fatal: repository '/home/user/repo/bibtex' does not exist
Clone of '/home/user/repo/bibtex' into submodule path 'doc1/bibtex' failed
您需要确保 bibtex
在其自己的 Git 存储库中。这不是 svn external
的用法,因为它是 "relative external" link 到 same 存储库的文件夹。
此外,在 git svn clone
之后,只有在您不打算 git svn dcommit
返回 SVN 存储库的情况下,您才可以重新组织 Git 存储库。
如果是这样,那么是的,您可以:
- split bibtext in its own repository
- 将其推送到一个新的远程空仓库
- 将其作为子模块添加到您的原始存储库中
即:
cd /path/to/svl-cloned/repo
cd doc1
git rm -r bibtex/
git commit -m "remove bibtex"
git submodule add /url/remote/bibtex/repo bibtex
git add .
git commit -m "Add bibtex submodule"
我有一个 SVN 存储库,其中一些文档通过 svn:externals 使用相同的参考 (bibtex) 文件。其内容如下所示:
bibtex/
doc1/
-doc1.tex
-bibtex/ (svn:externals)
doc2/
-doc2.tex
-bibtex/ (svn:externals)
这样我就可以单独检查每篇论文并获得相同的参考资料。我如何设置与 git 相同的设置?
我读到建议使用子模块,但如果我尝试(在 git svn clone 之后)
git submodule add ./bibtex ./doc1/bibtex
我得到
fatal: repository '/home/user/repo/bibtex' does not exist
Clone of '/home/user/repo/bibtex' into submodule path 'doc1/bibtex' failed
您需要确保 bibtex
在其自己的 Git 存储库中。这不是 svn external
的用法,因为它是 "relative external" link 到 same 存储库的文件夹。
此外,在 git svn clone
之后,只有在您不打算 git svn dcommit
返回 SVN 存储库的情况下,您才可以重新组织 Git 存储库。
如果是这样,那么是的,您可以:
- split bibtext in its own repository
- 将其推送到一个新的远程空仓库
- 将其作为子模块添加到您的原始存储库中
即:
cd /path/to/svl-cloned/repo
cd doc1
git rm -r bibtex/
git commit -m "remove bibtex"
git submodule add /url/remote/bibtex/repo bibtex
git add .
git commit -m "Add bibtex submodule"