相关疑难解决方法(0)

git对二进制文件好吗?

git对二进制文件好吗?

如果我修改了很多未压缩的文件,并且许多压缩文件从未(或几乎从未)被修改过,那么git会处理得好吗?例如,如果我插入或删除中间并在末尾附近插入数据,它会注意到它与文本一样吗?

如果git对二进制文件不好,我可以考虑使用什么工具?

git

87
推荐指数
6
解决办法
7万
查看次数

使用gitk查看已移动文件的完整历史记录

经过多次搜索,我还没有找到一个令人满意的方法,这个方法很容易用来查看Git中移动文件的完整历史记录,更重要的是在Gitk中查看.使用"git log --follow [filePath]"甚至"gitk --follow [filePath]"会为您提供文件所涉及的提交,但不会显示移动前文件的实际更改历史记录.因此,我提出了一个原始但简单的解决方案.

  1. 对已移动的文件执行gitk:"gitk [newFilePath]".复制第一次提交的SHA1 ID,这应该是文件移动的提交.
  2. 对复制的SHA1 ID执行gitk:"gitk [SHA1ID]".最新的提交应该是移动发生的时间.找到已移动的文件并复制旧路径.
  3. 对我们刚刚复制的SHA1 ID和旧文件路径执行gitk:"gitk [SHA1ID] - [oldFilePath]"

此过程将允许您在移动之前查看文件的历史记录.如果有多个移动,则可以重复上述过程.

如果有任何更好的解决方案可以解决这个问题,特别是如果有办法将这些步骤结合起来显示移动的完整历史记录,我们将非常感激.

git move gitk

21
推荐指数
2
解决办法
2917
查看次数

Git如何在重构期间跟踪历史记录?

我很清楚Git如何支持文件移动:因为它使用文件哈希,"添加"文件很容易被检测为与"删除"文件相同.

我的问题是关于重构:考虑到Java,包声明会发生变化,因此文件内容将不相同.在这种情况下,Git如何确定"添加"文件与"已删除"文件共享历史记录?它是否检查"最相似的内容",假设我只做了一些小改动,或类似的非确定性解决方案?

git hash refactoring dvcs

17
推荐指数
1
解决办法
5288
查看次数

标签 统计

git ×3

dvcs ×1

gitk ×1

hash ×1

move ×1

refactoring ×1