我只使用Git和Mercurial几天,并没有很多编程经验。
在过去的几天中,我阅读了许多比较两者的文章。根据我的阅读和测试,我得出以下结论:
Git的重命名是100%自动化的,但不是100%准确的。它依靠算法来猜测重命名。即使完全错误,最终用户也无法更改其决策。
我猜Git的方法对于99%的情况可能没问题,但那1%会导致头痛。如果我尝试大量修改代码(同时更改类名和内容),那么我可能会失去文件历史记录,这让我犹豫不决。
只要我始终在Visual Studio内重命名/移动我的文件并安装了VisualHG,Mercurial就可以是100%自动化和100%准确的,VisualHG应该准确且自动地跟踪移动和重命名(目前VisualHG有一个错误- 当我将文件移动到其他项目中时,文件未被重命名)。而且最终用户可以更改其决策,如果出现错误。
如果我没有Visual Studio,我仍然可以使用TortoiseHg的“检测复制/重命名”窗口。我可以设置相似度百分比,要求Mercurial自动检测重命名。如果出现错误,我有机会进行更正。
我的结论是对还是错?
参考文献: Git and Mercurial - Compare and Contrast
在过去的几天中,我阅读了许多比较两者的文章。根据我的阅读和测试,我得出以下结论:
Git的重命名是100%自动化的,但不是100%准确的。它依靠算法来猜测重命名。即使完全错误,最终用户也无法更改其决策。
我猜Git的方法对于99%的情况可能没问题,但那1%会导致头痛。如果我尝试大量修改代码(同时更改类名和内容),那么我可能会失去文件历史记录,这让我犹豫不决。
只要我始终在Visual Studio内重命名/移动我的文件并安装了VisualHG,Mercurial就可以是100%自动化和100%准确的,VisualHG应该准确且自动地跟踪移动和重命名(目前VisualHG有一个错误- 当我将文件移动到其他项目中时,文件未被重命名)。而且最终用户可以更改其决策,如果出现错误。
如果我没有Visual Studio,我仍然可以使用TortoiseHg的“检测复制/重命名”窗口。我可以设置相似度百分比,要求Mercurial自动检测重命名。如果出现错误,我有机会进行更正。
我的结论是对还是错?
参考文献: Git and Mercurial - Compare and Contrast