2008-11-26 30 views
8

我的團隊在一個包含大約20,000個Java文件的cvs項目中工作。由於文件數量多,需要一段時間才能執行CVS更新。我通常會保留整個樹的大約5個副本,以便輕鬆檢查不同的請求,而不用擔心哪些文件會被修改。讓所有5棵樹保持最新並且彼此同步是一種真正的痛苦。與cvs相比,git是否比cvs更快?

我讀過,使用遠程cvs服務器在本地使用git相當容易,而且git速度很快。 git會大大加快我的本地樹的更新嗎?

我意識到下界是做一次CVS更新的時間。但是我想,一旦第一棵樹變成最新的,可能會快速地將其他4與第一棵樹同步,而不是再做4個CVS更新命令。我是否正確理解git?

回答

8

我使用Git作爲一個大型項目的Subversion客戶端(大約10k文件)。 Git速度很快,速度非常快。速度如此之快,我只保留一個工作克隆,並在同一克隆中的功能分支之間切換。和你一樣,當我使用Subversion的時候,我會有兩到三個類似的簽出,並且會定期在它們之間切換,因爲我正在同時進行多項操作。有時候它會讓人很困惑。藉助Git的輕量級分支,存儲和「git add -p」功能,我發現我不再需要多個簽出。我可以在一個目錄中做所有事情,而不用擔心丟失我忘記或意外覆蓋的更改。

我還沒有使用CVS的Git,但如果它的集成是類似git-svn的話,那就沒有問題了。

10

我們在工作上做了類似的事情。我們基本上使用git中的master分支作爲單個,更新的CVS版本的代碼;我們在那裏不做任何開發,只是CVS更新。然後,我們所有的開發項目都發生在我們重新分配的功能分支上。當我們在master分支上執行CVS更新時,我們將這些更改提交到master,然後將我們的其他開發分支與master重新綁定。

這並不理想 - 它使與其他人共享分支變得困難。但是,我們可以一次管理好幾個開發項目,並輕鬆地對它們進行分支,合併和區分。而且,我們只需要在一個master分支上與CVS進行交互。

+0

聽起來不錯。 rebase步驟比cvs快嗎? – 2008-11-26 17:20:17

+0

是的,它快一點,因爲它都是本地的。它基本上從您的分支生成差異並將它們應用到分支的新頭部。 – 2008-11-26 17:58:02