0

我有一個父分支,其中有3個分支。我還使用了一個子模塊repo,它具有3個具有相同名稱的分支,並且父repo的每個分支中的.gitattributes文件指向相同名稱的子模塊分支。這一切都很好,但我的問題是,當我在父回購中執行git checkout BRANCH時,我總是必須在執行git子模塊更新之後,或者子模塊目錄中的文件不會更新以反映正確的分支使用子模塊時的Git結帳

是否有一種簡單的方法來自動執行此操作,以便每次執行結帳時都會更新子模塊文件以反映正確的分支?

回答

1
git checkout master & git submodule foreach git checkout master 

哪裏master是您選擇的分支

的名稱可以添加hookpost-checkout,每當你自動調用git checkout做這個動作。你需要創建一個文件.git/hooks/post-checkout這將是這樣的:

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

希望這將有助於

+0

好吧,我可以別名此的方式,任誰克隆回購其他開發者將有機會獲得別名嗎?因爲我和他一起工作的人在每次結賬時都不會記得這樣做 –

+0

我已經通過git hooks更新了我的答案。如果有幫助,請記住標記答案爲解決:) –

+0

謝謝,這是有道理的 –