簡體   English   中英

版本控制與您自己協調

[英]Version control to coordinate with yourself

對於我業余時間的編程,我有一台台式機和一台筆記本電腦(兩台都是Mac機,但我懷疑這會對這個問題產生影響)。 我已經在他們兩個上安裝了VMware,使用Linux映像來運行我的代碼。 它們是相同的圖像,所以我在兩個地方都有相同的環境。

訣竅是我喜歡對我的所有編碼使用版本控制,即使我沒有與其他人協調。 我希望在我使用的任何系統上看到我的代碼的最新版本。

我不想一直依賴於網絡訪問 - 我可能在沒有Wi-Fi的情況下進行編碼(是的,它很少見,但有些地方仍處於石器時代)。 我正在考慮使用git,但是如果我在本地提供了存儲庫,那么像SVN這樣的東西也可以。 或者筆記本電腦可能成為SVN服務器,桌面也可以訪問它。

有沒有人以前做過這種事情? 任何陷阱/陷阱/經驗教訓?

如果您無法隨時訪問網絡,我強烈推薦使用git。

但是,如果您仍然需要使用subversion存儲庫,那么通過使用git-svn ,您仍然可以充分利用這兩個世界。

好吧,我絕對建議您查看分布式系統而不是Subversion。 這將滿足您不依賴於網絡訪問的要求,並且可能更適合您的工作流程。 分布式VCS的主要選擇是gitMercurial (也稱為“hg”)和Bazaar (或“bzr”)。 我個人的偏好是Mercurial,但它們都相當可比。

但是,Mercurial確實擁有的一件事(在你的情況下它會非常有用)是“hg serve”命令。 你可以在這里閱讀: 非正式分享“hg serve” 基本上它設置了一個非常簡單(臨時)的服務器,允許通過網絡提取存儲庫。 我一直使用它來保持我的台式機和筆記本電腦之間的代碼同步。 如果我在筆記本電腦上進行了一些更改,我只需在那里運行“hg serve”,然后從桌面“hg pull”,或者反之亦然,如果我一直在桌面上工作。

總的來說,我肯定建議調查分布式系統,我認為他們會盡力設置你想要的環境。 網上有大量有關使用所有這些信息的信息。 我沒有花太多時間與其他人,但如果你想嘗試Mercurial, 這本免費的在線書籍幾乎涵蓋了你開始所需的一切

無論您做什么,請確保定期備份您的存儲庫。 如果您的筆記本電腦存放您的存儲庫,則尤其如此 您還需要考慮如果您的筆記本電腦被盜會發生什么。 最好使用git並將存儲庫保留在桌面上。

作為已經提到的Git的替代品,我強烈推薦Bazaar 它是一個分布式VCS,就像git一樣,雖然存在一些差異。

對於(當然有點偏頗)比較,請查看此頁面

如果你是在簡單(設置)之后,SVN很好。 它在沒有網絡連接的情況下工作,因為您的整個歷史記錄保存在每個同步的PC上,並且SVN + SSH是TRIVIAL設置的。 它使用SSH的內置功能來運行程序,所以如果你設置了SSH服務器,你只需要創建一個存儲庫,一切正常......沒有任何服務器設置。

這也可以作為您的備份,因為您在同步的每台計算機上都有整個存儲庫。

分布式版本控制系統也很有意思,但我認為前期投資更高,但它的優勢在於您無需連接即可保存到存儲庫(如果您單獨工作,則不是太關鍵,但能夠在任何地方檢查點和回滾可以有它的優點)。

當您無權訪問存儲庫時,SVN變得非常難以使用。 由於我在一台計算機上完成了所有的開發工作,所以我對SVN做得很好,但是你可能覺得它不那么容易。 從我所聽到的,這正是git旨在處理的問題 - 它允許您進行在本地副本中注冊的提交,然后在您訪問它時將它們全部上傳到存儲庫。

您可以考慮購買SVN主機 - 它們相當實惠,讓您不必處理自己的網絡連接:

http://www.google.com/search?hl=en&q=svn+hosting&btnG=Google+Search&aq=f&oq=

我最喜歡的VCS是darcs,因為它支持補丁挑選。 它是一個分布式VCS,非常容易使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM