版本控制通常如何工作?它是否將差異文件保存爲散列路徑以驗證路徑?版本控制如何工作?
11
A
回答
7
不同的VCS使用不同的方法。例如,CVS將爲您提交的每個文件在服務器上創建一個文件。這本質上是RCS格式的文件; CVS只是RCS的一個包裝器,它通過目錄子樹中的許多文件運行RCS命令(RCS只能在單個文件上工作)。
RCS文件包含一系列更改(版本號,簽入消息和更改的數量)。之後,出現當前HEAD版本的副本。其餘文件是版本之間的差異(long explanation)。
通過這種方式,CVS可以快速返回HEAD版本(最經常要求的版本),並且可以計算其他版本。
CVS不做任何驗證;如果其中一個文件損壞,則需要備份。由於CVS基於RCS,因此它不能版本化目錄,也不能跟蹤重命名。 CVS和RCS使用標準的diff(1)
命令來創建差異。
Subversion(SVN)的工作原理類似,但增加了對目錄和重命名的版本控制。此外,SVN使用更好的差異算法(xdelta),它提供了一個更小的存儲庫。
8
結賬Eric Sinks blog series on version control。
此外,Joel Spolsky寫道Hg Init: a Mercurial tutorial,最終讓我「得到」分佈式源代碼控制的全部內容。
有不止一種方法去皮膚...
0
Darcs是非常不同的,恕我直言比其他SCM更直觀,甚至分佈式的。 初學者對於它的工作原理有一個很好的指導:Understanding Darcs。
相關問題
- 1. monodevelop版本控制如何工作?
- 2. 版本控制工作流建議
- 3. 版本控制視頻編輯工作
- 4. 版本控制員工
- 5. 數據庫版本控制 - 分支交換如何工作?
- 6. JavaScript文件的版本控制如何工作?
- 7. 版本控制如何在QTP中工作?
- 8. TFS發佈工件 - 如何鏈接版本控制工件?
- 9. 版本控制
- 10. 版本控制
- 11. 如何找出我的工作副本來自哪個版本控制系統?
- 12. 版本控制SharePoint二進制工作流ASPX任務表
- 13. TFS集成工具:版本控制到版本控制 - 沒有真正發生
- 14. 工具版本控制的Xcode
- 15. 同步版本控制和工件庫
- 16. nodejs的版本控制工具
- 17. iPhone版本控制工具(subversion)
- 18. 如何版本控制與WordPress
- 19. 如何版本控制一個對象?
- 20. 如何清潔版本控制$ Id $ comment
- 21. 如何啓用版本控制?
- 22. 如何控制ODP.NET的多個版本
- 23. Java版本控制
- 24. PLC版本控制
- 25. NuGet版本控制
- 26. JAR版本控制
- 27. iTunesConnect版本控制
- 28. MySQL版本控制
- 29. NHibernate版本控制
- 30. TFS版本控制