使用子模块时的 Git 签出



>我有一个父 git 存储库,里面有 3 个分支。我还使用了一个子模块存储库,它具有 3 个同名的分支,父存储库每个分支中的 .gitattributes 文件指向同名的子模块分支。这一切都很好,但我的问题是,当我在父存储库中执行 git checkout BRANCH 时,我总是必须在之后进行 git 子模块更新,否则子模块目录中的文件将不会更新以反映正确的分支

有没有一种简单的方法来自动化这一点,以便每次我进行结帐时,子模块文件都会更新以反映正确的分支?

git checkout master & git submodule foreach git checkout master

其中master是所选分支的名称

您可以添加hook post-checkout,并在调用git checkout时自动执行此操作。您需要创建一个文件.git/hooks/post-checkout如下所示:

branch=$(git rev-parse --symbolic --abbrev-ref $1)
git submodule foreach git checkout $branch

希望这会有所帮助

相关内容

  • 没有找到相关文章

最新更新