1

我們目前正在重構代碼,以便在我們公司的不同項目之間共享代碼。該共享代碼將作爲Git submodule包含在其他項目中。防止破壞git子模塊更改的工作流程

我們擔心的一件事是在項目的某些階段(例如:我們應該穩定/代碼凍結的一個點)突破從子模塊向超級項目引入的變更。

我從來沒有使用子模塊,但根據我所知,子模塊引用了另一個回購中的特定提交,因此只要不更新項目中的子模塊,基本上就可以。

我的另一個隊友建議,只要我們進入項目的「穩定階段」(例如:完成開發),我們應該創建子模塊的一個分支並指向它。我認爲這是一種開銷,似乎是錯誤的(共享項目不應該與其他使用它的項目鎖定版本)。

所以,概括起來講,我的問題是:

  1. 有沒有在所有的事情應該怎樣做才能保護子模塊的更新(破變化)超級項目?
  2. 有沒有一個已知的工作流程,其中一個超級項目進入穩定階段,也創建了其子模塊的新分支指向? (一個鏈接會很棒)。

回答

2

是否有任何應該做的事情來保護超級項目免受子模塊更新(重大更改)?

號:任何修改在子模塊完成(並推至其上游回購)將不會影響到母公司回購:它仍然會引用同gitlink(一special entry in the index of the parent repo)。

有沒有一個已知的工作流程,其中一個超級項目進入穩定階段,也創建了其子模塊的新分支指向?

否:子模塊是固定的SHA1。