这是关于一些类似的“已回答”问题的后续,这些问题涉及git处理二进制文件以及git无法很好地跟踪文件历史记录。
所以,git不能正确地跟踪文件历史记录。即使使用git log --follow -M100% --name-only -- path-to-my-file
也无法做到这一点,而我应该告诉它只跟踪100%相似的文件!
然后我们应该使用其他方法来找到需要责备的人,例如bisecting。问题在于:这些方法似乎对二进制文件不起作用。而根据Linus的说法,我们不太可能很快得到一个完全可用的git log --follow
。
最后,我的问题是:
我们有没有自动化的方法来启用某种git log
来跟踪重命名/移动的二进制文件?
或者是否有任何类似的版本控制系统具有此功能?
作为解决方案的一种示例,我将接受一种安全简单的使用filter-branch
的方法,但我从未尝试过它,也不知道它可能有多危险。在执行这样的过程后,我们能够无问题地拉取和推送吗?我们可以轻松地恢复吗?我们可以跟踪旧名称/引用而不回滚吗?你知道,在版本控制系统中,访问历史记录就是一切。