如何将共享的git仓库链接为其他项目仓库的子目录?



我一直找不到这个问题的答案几天的搜寻和寻找暗示暗示'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?
  1. 项目B中的"git status"会提醒我Banner的回购更改吗?
  2. 当我从项目A推送Banner时,可以通知我要拉哪些项目吗?

第一个问题对我来说是最重要的。如果我可以修改Banner的回购,然后默默地拉它当我拉出repos A和repos B时,这可能就足够了,但我想要更好的

使用git子模块,在这里阅读更多信息http://git-scm.com/book/en/v2/Git-Tools-Submodules。您将有一个子模块为您的Banner.py,它将被添加到您的a和B项目。每个子模块都可以递归地更新它们各自的子模块来拉入新的更改,但它不会自动发生(因为你真的应该知道代码修订何时发生更改,所以你通常必须更新它并提交你在A/B仓库中更新它的事实)。

相关内容

最新更新