我在项目中使用的唯一分布式修订控制系统是集市.除了如何办理结账外,我对git和mercurial了解不多.我喜欢bazaar的原因是automv插件.它检测我何时移动/删除了文件(从命令行/ ide等),当我赶时间时,我倾向于做很多事情.但是集市真的很慢,而我正在考虑转向git.git有类似于这个功能的东西吗?
Git在移动/重命名情况下的工作方式完全不同.Git只跟踪内容,因此它知道文件X abc123...
在一次提交时有SHA1哈希值,而文件Y abc123...
在下一次提交时碰巧有相同的哈希值.因此,当查看历史记录或其他内容时,Git工具得出结论,文件X必须在此时重命名为文件名Y.
通过这种方式,Git重建了从一次提交转移到下一次提交所采取的操作,而无需在提交时获得该知识.它可以检测重命名文件并更改文件内部内容的事件(当然,它不是通过比较SHA1哈希,而是通过在提交中更改的文件之间进行文本比较来实现).