【问题标题】:Git and binary files historyGit 和二进制文件历史
【发布时间】:2012-07-06 06:09:32
【问题描述】:

这是对有关git handling binary files 以及git can't follow file history very well 的一些类似“已回答”问题的跟进。

所以,git 无法正确跟踪文件历史记录。哎呀,即使 git log --follow -M100% --name-only -- path-to-my-file 也不会这样做,我是 supposedly 告诉它只关注 100% 相似的文件!

然后we are supposed to use other ways 来查找责备的人,例如二分法。这里的问题是:这些似乎不适用于二进制文件。 accodring to Linus 我们不太可能很快让 git log --follow 完全正常工作。

最后我的问题是

我们是否有任何自动化方式来启用某种git log 来跟踪重命名/移动的二进制文件?

或者有没有类似的版本控制系统但是有这个功能?

作为一种解决方案的示例,我会接受using filter-branch 的一些安全且简单的方法,但我从未玩过它,也不知道它可能有多危险。发出这样的程序后,我们是否能够毫无问题地拉动和推动?我们可以轻松恢复它吗?我们可以在不恢复的情况下跟踪旧名称/引用吗?您知道,在版本控制系统中,访问历史就是一切。

【问题讨论】:

    标签: git version-control git-log


    【解决方案1】:

    过滤器分支是安全的。只是不要更改您提供的脚本中的任何内容。我也对 -M 选项感到恼火。 100% 也不适用于常规文件。试试看。

    【讨论】:

    • 你确定吗?就我而言,重写历史总是危险的。它会在克隆的 repos 中正确地拉和推吗?我可以随时轻松恢复它吗?我可以在不恢复旧名称的情况下追溯旧名称吗?
    • 如果您愿意,请进行备份。但是索引过滤器和工作树过滤器除了执行你说要为它过去的每个提交执行的内容之外什么都不做。
    • 这不是那么紧急我会经历备份和测试所有这些的麻烦...但是你没有回答任何问题! :D
    猜你喜欢
    • 2014-05-14
    • 1970-01-01
    • 2013-08-09
    • 2011-04-27
    • 2013-06-01
    • 2011-01-22
    • 1970-01-01
    • 2018-08-14
    • 1970-01-01
    相关资源
    最近更新 更多