我有這種情況:如何使用GIT後鉤將更改應用到不同的存儲庫
庫中的含有某種框架(如CakePHP的一個基本設置和一些常用的控制器)。
庫B包含項目,基於存儲庫,與其他文件,以及一些變化/在文件中添加從框架中來。
不幸的是,結構不能被改變,使得A是在B項目的單獨的子文件夾(在控制器中的文件夾是從框架的公共控制器,加上附加的)。
欲實現如下:
推一些改變的框架(A)後,我要被施加到不同的存儲庫(B)的那些變化。 A和B被設置爲服務器上的共享裸存儲庫。
據我所知,post-receive
(或post-commit
?)掛鉤可以處理,但我不知道它是如何完成的。我認爲鉤子應該創建一個從上次更改補丁文件,並以某種方式將此其他幾個倉庫。
是否有人有這樣的例子?
(另一種方法是,基於該框架對所有項目使用一個存儲庫,並且每個項目都是一個分支,但這看起來不太乾淨,我不喜歡將所有項目放入只是一大塊)。
你應該使框架(「'A'」)成爲所有使用它的項目的一部分(使用* git submodule *或* git子樹*)。然後編寫一個腳本,用於更新每個使用它的項目中的子模塊/子樹。這樣,您也可以控制每個項目中使用哪個版本的「A」(這實際上是您要解決的問題,而不是包含框架的技術性)。 – Sigi