2011-11-30 78 views
2

我們正在使用SVN來處理我們的代碼。但是,有時候我們都是一次全部編碼。與多個用戶一起使用SVN

例如3人簽出同一個項目。用戶1完成一些事情並將其檢入。用戶2和用戶3如何在不丟失當前工作的情況下獲得更新?我們嘗試了更新命令,但通常會產生一些錯誤。

我們應該使用SVN以外的東西嗎?

我正在使用eclipse的svn存儲庫。

+0

由於'svn update',你不應該丟失本地更改,但我假設你在進行更新時遇到了合併衝突 - 有人更改了你在本地副本中的代碼,然後你必須在本地解決它們:http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-conflicts.html – birryree

+0

謝謝,這更有意義。 – Dan

回答

3

Subversion的設計正是爲了你正在做的。但是,您對Subversion的工作原理有一個基本的瞭解。我推薦閱讀svn book的第1章和第2章。

此外,您在更新中看到的錯誤可能是衝突,本書將對此進行介紹。

0

你可以試試Git,但我懷疑問題是源代碼管理軟件。

您正在使用哪個客戶端?更新不應該產生錯誤。開發人員需要學習如何分支,更新,合併和提交代碼。這並不總是很容易,但它是必要的。

一些規律可循:

  1. 入住及早並經常。您等待登記的時間越長,碰撞和合並的可能性就越大。
  2. 習慣經常更新。
  3. 在提交之前總是進行更新。

Git可以使合併更容易,但它並沒有消除它們。

+0

更新下載是否從首次檢出時更改?也正在使用eclipse中內置的SVN存儲庫。謝謝 – Dan

0

如果它產生錯誤,則表示您對相同的代碼行進行了不兼容的更改,導致合併衝突。無論你使用哪種VCS,你都會遇到同樣的問題,你應該以不兼容的方式修補相同的代碼。

VCS無法解決您始終合併的問題。您需要一些協作規則,以確定誰正在處理代碼的哪一部分,並最終解決合併問題。

實際上,如果遇到合併衝突,您需要手工解決它,提交併讓其他用戶更新其工作副本。

相關問題