这是关于git 处理二进制文件以及git 如何不能很好地跟踪文件历史的一些类似“已回答”问题的后续。
所以,git 不能正确地跟踪文件历史。哎呀,甚至git log --follow -M100% --name-only -- path-to-my-file
不会这样做,而且我应该告诉它只关注 100% 相似的文件!
那么我们应该使用其他方法来找出责任人,例如一分为二。这里的问题是:这些似乎不适用于二进制文件。并且根据 Linus的说法,我们不太可能git log --follow
很快得到一个完整的工作。
最后我的问题是:
我们是否有任何自动化方式来启用某种git log
跟踪重命名/移动的二进制文件?
或者也许有任何类似的版本控制系统但具有此功能?
作为一种解决方案的一个例子,我会接受一些安全和简单的使用filter-branch
方式,但我从来没有玩过它,也不知道它有多么危险。发出这样的程序后,我们是否能够毫无问题地拉动和推动?我们可以轻松地恢复它吗?我们可以在不恢复的情况下跟踪旧名称/引用吗?你知道,在版本控制系统中,访问历史就是一切。