繁体   English   中英

使用子模块时的Git签出

[英]Git checkout when using submodules

我有一个3个分支的父git repo。 我还使用了一个子模块存储库,该子模块存储库具有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

希望这会有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM