2016-05-29 101 views
0

我所有的項目都有相同的結構,基本文件(每個包含一些代碼)。版本在其他項目中工作的「入門工具包」

事情我想:

  • 版本的代碼;
  • 在其他項目中使用它;
  • 能夠在這些項目中進行更新;
  • 只在這些文件中添加代碼,特定於每個項目(不需要刪除或更改現有代碼)。

我做了一些研究。使用包管理器不適合我的需要,因爲我想將代碼添加到包中。然後我發現了git submodules和subtrees,後者似乎完成了這項工作。

您對此有何看法?我是通過選擇子樹進入正確的路徑還是有更好的方法?我應該使用完全不同的解決方案嗎?

由於球員

[編輯]

更多的相關信息:

該 「起動試劑盒」 是有點像一個框架。我正在考慮以不需要在其他項目中編輯其文件的方式構建它,但這會增加約束條件。

  • 我不認爲子模塊適合我需要在代碼上工作;
  • 每個項目都需要自己的回購。

回答

0

只要做一個主git回購,並克隆;你可以爲你的基礎文件的不同變體設置不同的分支。

這是非常基本的git用法。

+0

在「入門套件」回購中爲每個項目創建一個分支不是一個好主意。由於多種原因,每個項目都需要自己的回購。 –

+0

@AndréaMaugars不是每個項目,每個「骨架變化」。 –

+0

我並沒有說你應該把所有的項目都放在同一個回購@AndréaMaugars中。我說你應該克隆一個「模板回購」。從根本上說,這是不同的。 –

0

這看起來過於複雜,但取決於代碼庫的相似程度以及它們是否實際上是不同的項目,您可能希望使用分支或使用共享代碼創建一個回購,然後僅克隆(或更有趣,添加爲一個子模塊)進入其他項目的回購。因此,如果您的共享代碼是shared,並且您有項目foobar,您需要製作3個單獨的回購和克隆(或子模塊添加)sharedfoobar。這取決於你多久更新一次shared以及foobar如何分別是

+0

'foo'和'bar'可能是完全不同的項目,但它們將建立在相同的結構和代碼上。我對子模塊的理解是非常有限的。我認爲我想在每個項目中編輯子模塊的事實都會有問題。 –

+0

叉怎麼樣? – marisbest2

+0

叉子可能是個好主意。我會嘗試更新這篇文章。 –

相關問題