假设我有一个工具,我所使用的每个程序都使用它,有时我会更新这个工具,我希望它能在每个使用它的repo上更新。有没有办法实现这个目标?
我不是要求将一个存储库放在另一个存储库中,我要求在其他几个存储库中使用相同的存储库,并且能够以与复制/粘贴原始文件夹的存储库不同的方式更新它们。
如果使用Git + Sourcetree
可行谢谢!
答案 0 :(得分:1)
Submodule是实现此目的的好方法,提供您将该子模块设置为遵循其自己的master
分支
cd /a/repo1
git submodule add -b master -- /url/to/repo/tool tool
(重复所有需要工具仓库的回购)
每次更新该工具仓库时,您在仓库中需要做的就是:
cd /a/repo1
git submodule update --remote
git add .
git commit -m "update tool"
git push
请记住,每次更改子模块时,都需要记录其 gitlink (父级回购的special entry in the index)以跟踪该更改。