2011-01-18 15 views
5

我試圖將我的CVS存儲庫轉換爲git,並且一直困在最後一個問題上。在git中等效的CVS&符號模塊

我目前使用CVS&符號模塊來共享projets之間的代碼。這些允許您基本上「別名」一個不同的存儲庫作爲項目中的子目錄,因此您可以更新/提交整個項目,並將其包含在遠程存儲庫中,就像它是一個存儲庫一樣。

我見過推薦子樹合併或子模塊的主題,參考(svn:externals)。這不會起作用,因爲:

  • 子樹合併顯然是不允許你輕鬆推回/更新外部回購。

  • 子模塊仍然要求您手動推/拉每個子模塊。我有大量的子模塊,並且每一個子模塊都會推動我的更改將是單調乏味的,並且可能會導致遺漏,因爲更改會被遺忘。

只是要清楚,我想有一個包含其他git倉庫作爲子目錄一個Git倉庫,並能夠在同一時間提交/推/拉他們都用一個命令。

+2

子模塊正在逐漸變得更接近你想要的東西--Git fetch現在是子模塊意識,我相信會有更多的人來。儘管如此,在子模塊中承諾離他們預期的目標還有一點距離。 – Cascabel 2011-01-18 21:09:56

+1

看來你是對的,submodules是我正在尋找,但他們還沒有那麼完整。我很驚訝,因爲我覺得這個工作流程相當普遍,git已經有一段時間了。 – paulsc 2011-01-18 22:08:45

回答

1

這非常糟糕。如果它們是單獨的項目,則它們屬於單獨的存儲庫。

然而,repo工具用於通過項目如Android提供上述GIT中的層,它包括大量的,其可能來自不同的位置依賴項目,並可以讓你有來自所有它們中的本地分支的工作流通過版本控制(可以按項目分到不同的地點)。

這是一個層次,如果你期待確切的git體驗,你不會得到。您可以在任何子項目中使用標準的git工具,但在頂層,您正在使用不同的工具進行協調。

0

我的git-subtree項目可以在進行子樹合併後重新提取更改。許多人認爲這是git-submodule和子樹合併之間的兩個世界中最好的。