1
帶子模塊的A common mistake是要在超級項目中提交一個子項目散列,指向每個人都無法使用超級項目訪問的提交(例如,提交可能只存在於某人的個人機器)。斷言子模塊始終指向有效提交
我想審覈整個歷史記錄,以確保超級項目引用的每個子項目提交實際上都存在於給定的遠程存儲庫中。有沒有一個好的方法來做到這一點?
帶子模塊的A common mistake是要在超級項目中提交一個子項目散列,指向每個人都無法使用超級項目訪問的提交(例如,提交可能只存在於某人的個人機器)。斷言子模塊始終指向有效提交
我想審覈整個歷史記錄,以確保超級項目引用的每個子項目提交實際上都存在於給定的遠程存儲庫中。有沒有一個好的方法來做到這一點?
你可以試試這個GitHub project git-pre-push-submodule-check
(從Konrad Malawski aka ktoso)來完成檢查(Ruby腳本):
從現在起,你可能需要使用POM,而不是其他的推動方法,這裏是它會是什麼樣子:
當你在子模塊unpushed變化:
$ git pom
Checking [styles-common] submodule for unpushed commits...
**********************************************************
You have 2 unpushed commits within styles-common:
1a87491 added more fluffy icons
bd40c09 flash now has nice round corners
**********************************************************
Aborting push.
當你沒有unpushed變化子模塊:
$ ./check_submodule_pushed.rb
Checking [styles-common] submodule for unpushed commits...
Seems all submodule commits you refer to are reachable, let's push!
但我的觀點是:我不知道的檢查,如果一個子模塊已經推動其母公司回購之前一直推原生方式。
謝謝,整潔的項目。如果我理解正確,這是對新提交的完整性檢查 - 如果您想審覈現有的歷史記錄,那麼該怎麼辦? – gcbenison
@gcbenison我認爲(尚未測試)您可以將其應用於現有項目:它會檢測您的子模塊是否有未提交的提交(即使您的父回購可能沒有任何推送) – VonC