本身基於合併的系統並不比基於鎖的系統好。這一切都取決於你的項目。如果你有不可合併的文件,基於鎖的系統可能會更好。
但是,如果我明白你的問題是正確的,你想知道如何輕鬆你的同事。
你可能會認爲,linux是一個很好的例子,即基於鎖的系統永遠無法實現linux開發。然而,linux有一個巨大的開發基地,你的團隊可能沒有。所以這不是一個爭論。如果對您沒有任何問題,則可伸縮性和多用戶的所有好處都不適用。
但是,您的同事擔心代碼的完整性。這就是爲什麼你應該改變系統。基於鎖的方法是以文件爲中心的。 (當然有像svn這樣的問題的中間解決方案,但假設你使用類似cvs或vss的東西)。然而,單個文件很少由其自己分發。
也就是說,一個文件的更改會影響其他文件,因爲它們相互通信。使用基於鎖定的方法,您永遠無法確定您的更改會如何影響其他同事更改。如果您將文件A更新爲版本2並使用文件B第1版對其進行測試,然後將您的同事將文件B更新爲版本2,您會如何知道它會起作用?你的同事爲什麼會認爲這可能是一個問題?他只碰到文件B,他爲什麼要測試文件A?
使用git,您可以採用基於系統的方法解決問題。每次更改都是對整個存儲庫的更改,並且您始終可以擁有可以保證正常工作的版本。重點是,只看文件,無論如何你都要完成代碼的完整性。
如果成千上萬的開發人員連續發展歷史的七年都同時工作,記錄在每個linux回購中,但還不足以證明可靠性,因此很難知道該做什麼。但是沒有任何東西可以阻止你使用git:製作一個你的svn或任何工作樹的repo,在你獲取它們時提交更新,工作在一個克隆中,做你自己的合併,然後推送到你的雙代理回購,並檢查結果基於鎖的回購。你爲自己的工作獲得所有好處,其他人可能會開始注意。 – jthill
基於鎖的系統比基於合併的系統需要更多的關注。如果有人將某些東西鎖定並且離開一天,沒有其他人可以觸摸該文件而不應用某些非常醜陋的技巧。在基於合併的系統中,這個問題不存在。合併對於軟件開發人員來說不是一件難事。 – confusopoly