【问题标题】:How to ensure `submodule update` automatically with `git pull` on a repository level如何在存储库级别使用“git pull”自动确保“子模块更新”
【发布时间】:2017-06-13 04:46:13
【问题描述】:

我有一个由 10 多名开发人员组成的团队使用的 git 存储库。我在我的存储库中添加了一些git submodules。子模块当然可以通过以下命令检出。

git submodule update --init

但是如果我希望submodule update 在某人执行git pull 时自动发生,这可行吗?我该怎么做?

我可以用 git hooks 做些什么吗?

【问题讨论】:

    标签: git github git-submodules githooks


    【解决方案1】:

    您只需在克隆项目后update 一次(除非您要添加新的子模块)。如果您想像使用 pull 一样从每个子模块中获取所有更改,您可以使用以下命令:

    git pull && git submodule foreach git pull
    

    这将拉取主存储库,然后拉取与主存储库关联的每个子模块。

    或者,您可以在您的.bashrc 文件中设置一个别名来自动执行此操作。例如,我有:

    alias git-pull='git pull && git submodule foreach git pull'
    

    【讨论】:

    • 是否有可能在存储库级别做一些事情以使所有开发人员都可以使用?
    • 您提供的答案适用于我的机器本地。但我正在寻找存储库级别的东西。可能是 git-hooks 的东西?
    • 您可以共享.bashrc 文件。服务器端 Git 挂钩仅适用于 push 操作:atlassian.com/git/tutorials/git-hooks#server-side-hooks。或者您可以按照这个 SO 问题中的说明管理客户端挂钩:stackoverflow.com/questions/427207/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 2020-09-23
    • 2011-06-04
    • 2010-10-29
    • 2023-04-02
    • 2015-09-25
    相关资源
    最近更新 更多