2008-08-12 178 views
19

我應該從哪裏開始學習版本控制系統?過去我使用過SVN,Team Foundation和Sourcesafe,但我並不覺得我完全掌握了它,而且我的團隊似乎也沒有把握。學習版本控制,並學習它

哪些點最重要?我意識到這與VCS和VCS不同,但爲了這個問題,我們可以假設Subversion是我最感興趣的VCS。

此外,如果可以的話,請推薦任何有用的書籍。

+0

這將是「學習得很好」,而不是「學吧好'。我不能相信這些MOD錯過了這個。 – 2008-12-04 19:30:01

回答

10

在版本控制維基百科的文章是一個偉大的地方開始

Revision control

當試圖教我的同事,我發現讓他理解的詞彙量最後是開始向他介紹源代碼控制技術的好方法。

不知道分支是什麼?去找出他們如何工作:)

有一個免費的在線顛覆書Version Control with Subversion它提供了寶貴的參考。

1

回答你的問題:哪些是最重要的要點,我建議你在完成整個檢查和檢查過程後,回滾到舊版本並執行差異,你應該看看分支。分支可以幫助您應對處於巨大變化中的痛苦,並且突然需要執行錯誤修復並將其部署到生產環境中,而不需要在一半的工作中進行混合。

1

我認爲Subversion文檔是一個很好的開始。我發現維基百科並沒有真正的幫助,因爲它只涵蓋了「基本」的觀點。

Subversion Book亞歷克斯提到,我特別推薦第1章,儘管如果你已經有了一些Svn的經驗,那麼這個水平可能太低了。第4章詳細介紹了分支和合並,但技術性很強。

對我有幫助的很多是TortoiseSVN文檔中的日常使用指南;它涵蓋了教程風格中最重要的操作。

我想你需要掌握的最重要的事情是分支,合併和標記。瞭解這些需要時間和練習,所以我強烈建議在本地存儲庫中使用一個小型寵物項目,以便您可以進行實驗。我認爲重要的是要認識到整個系統是基於差異的:合併只不過是將一個分支中所做的更改自動應用於另一個分支中的代碼,而不是自己糾正代碼。像衝突這樣的東西(這讓我花了很多時間去理解)只是這些的後果。

但當然,我還在學習,以及:)

6

我認爲最重要的點之一必須學會有關源代碼控制系統有以下幾種:

  • 值小,頻繁簽入/提交
  • 標籤,分支與合併
  • 回滾
  • 解決衝突
  • 獨佔與非獨佔結帳
  • 持續集成
  • 測試驅動開發&自動單元測試面對面的人源代碼控制系統
  • 分叉

如果你有這些主要概念覆蓋,這幾乎是大多數的,你永遠需要知道的源代碼控制的事情:)

1

我也和你一樣,從來沒有真正感到舒服SVN或SourceSafe的100%。

退房MercurialQuickstartCheatsheets
也有很大的cheat sheet from DongWoo Lee(他的網站似乎下來,我掃描並上傳到我的)

與Mercurial一切似乎很多更光滑,容易不知道爲什麼,因爲它不是在別人的命令不同。

1

我不確定你有多少版本控制系統的經驗,但對於沒有預先了解這個概念的人,我推薦閱讀Subversion book的前幾章。這裏描述的一些東西是Subversion特有的,但是許多概念對於版本控制系統以及如何使用它們是「通用的」。

我認爲這是非常重要的是,人們在試圖開始使用它們之前,瞭解版本控制系統背後的主要概念和基本原理的努力。我經常看到開發人員只使用他們系統的一小部分功能,因爲他們不瞭解底層概念,因此或者沒有看到使用他們認爲「高級」或「不必要」功能的重點,或者他們只是害怕這樣做,因爲害怕破壞某些東西或導致項目出現問題。

在經歷了這個現象,許多開發商在過去,我最近寫了什麼,我認爲best practices for version control在我的博客的摘要。

0

恕我直言,用於配置管理的最佳網絡資源將The ACME Project由布拉德·阿普爾頓

你應該閱讀有關的所有SCM模式和反模式。 所有SCM技術術語在本網站上都有明確定義,並且有許多關於分支技術,敏捷SCM和其他重要內容的文章。

這可能會給你足夠的理論背景來處理任何特定的版本工具。

至於一本Subversion書,它可能是上面提到的官方Subversion book。它可以在線免費獲得,或者您可以購買一份紙質版。