Git 使用子模块时结账
Git checkout when using submodules
我有一个包含 3 个分支的父 git 存储库。我还使用了一个子模块仓库,它有 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 )
git submodule foreach git checkout $branch
希望这会有所帮助
我有一个包含 3 个分支的父 git 存储库。我还使用了一个子模块仓库,它有 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 )
git submodule foreach git checkout $branch
希望这会有所帮助