2008-09-24 207 views
9

我已經使用「傳統」版本控制系統來維護過去項目的源代碼庫。我正在開發一個分佈式團隊的新項目,我可以看到使用分佈式系統的優勢。鑑於我理解SourceSafe,CVS和Subversion;你對Git新手有什麼建議?我開始使用Git之前應該知道些什麼?

回答

2

在提交文件之前,必須將它們添加到Git臨時區域— 每隔時間。爲了使這更容易,有一個-a選項來添加所有跟蹤的文件,如git commit -a

此外,當你做git diff時,它只顯示你的工作副本和暫存區域內的區別。如果您已將更改的文件添加到暫存區域,即使您可能有未提交的更改,git diff也可能不會報告任何內容。確定使用git status進行查看。

+0

...除非你命令「git diff foo/bar.file」 – 2008-09-24 12:56:34

3

執行tutorial

然後玩弄它。在開始使用主代碼庫之前,先做一個小小的玩具項目來感受它。

我大量使用git來查看修補程序並跟蹤代碼如何從提交更改爲提交。

-1

我在我的公司試過git。 我們使用CVS並希望轉移到更好的VC工具。 我們選擇git作爲文件版本控制的最佳工具(Linus on GIT)。 它的性能僅僅是最好的,對於深入理解版本控制的開發人員來說,它是一個非常好的工具,但是對於在後臺使用版本控制並且不想學習如何使用更多的開發人員而言,這是一場噩夢。 (而且他們確實需要學習很多)

而且它與現有IDE的集成對於完成來說是遠遠不夠的。 對於一個普通的開發人員來說,整個可用性是一個相當大的問題。

經過4名開發人員的試點後,我們轉而使用Subversion作爲最簡單的工具。

還有Subversion的多點會議商業解決方案(我們沒有嘗試,但仍然會嘗試不久) - WANDisco

6

在我自己的經驗移動從Subversion到Git的,最重要的是你不用什麼學習,但你需要忘掉。分佈式版本控制是不同於集中版本控制。 CVC是DVC的一個子集,因此您可以在DVC工具中執行CVC,但這比使用CVC工具更復雜。

嘗試重新學習CVC,並獲得DVC的心態。如果您最終只是在DVC工具中使用CVC,那麼您只會因所有增加的複雜性而感到沮喪,並且您不會意識到增加的複雜性會在靈活性方面購買您。

所有的DVC工具都有很好和非常強大的支持分支和合並。用它。所有的歷史都在您的指尖。用它。 (例如:從不註釋掉代碼,只需刪除它即使在沒有互聯網連接的飛機上也可以隨時取回。)

Git的一個非常重要的方面:所有其他工具都有或多或少的定義工作流程。 Git沒有。 Git是DVCS工作流程構建工具包。這使得有時很難知道該怎麼做:必須設計和實現自己的工作流程(提示:使用大量的shell腳本)。我現在使用Git已經有一年多了,而且我還沒有完全弄清楚我的工作流程。

相關問題