我一直找不到这个问题的答案几天的搜寻和寻找暗示暗示'git remote'和'git submodule',但不够清晰。
我写了一个CLI python脚本Banner.py,其中包含一个有用的可导入函数。(见"https://github.com/jlettvin/Banner")。我在Makefiles, bash脚本和其他python脚本中作为函数使用它。
现在假设我有项目A和B,它们都可以使用该脚本和函数。我想在a和B中创建一个包含Banner.py的'util'目录。然后我想在Makefiles中调用'$(HOME)/util/Banner.py'并将Banner导入到这些项目的python脚本中。
在项目A工作时,我发现必须对Banner.py进行调整。我想修改项目A中的banner。py,提交并推送到项目A中,然后在项目B中使用pull来获取更新版本并在其他地方独立拉Banner回购。
- 我使用什么git命令来链接Banner项目到项目A和B?
- 项目B中的"git status"会提醒我Banner的回购更改吗?
- 当我从项目A推送Banner时,可以通知我要拉哪些项目吗?
第一个问题对我来说是最重要的。如果我可以修改Banner的回购,然后默默地拉它当我拉出repos A和repos B时,这可能就足够了,但我想要更好的
使用git子模块,在这里阅读更多信息http://git-scm.com/book/en/v2/Git-Tools-Submodules。您将有一个子模块为您的Banner.py,它将被添加到您的a和B项目。每个子模块都可以递归地更新它们各自的子模块来拉入新的更改,但它不会自动发生(因为你真的应该知道代码修订何时发生更改,所以你通常必须更新它并提交你在A/B仓库中更新它的事实)。