当我重命名一个zip文件并修改它时,我丢失了文件历史记录。自从Git 将它识别为新文件。我尝试使用--follow和git GUI的git log命令 TortoiseGit或git扩展选项等工具可用于查看文件历史记录 我正在使用Git-lfs来跟踪所有* .zip文件,我也尝试使用textconv 对于zip文件的差异,希望它会有所帮助 我对textconv的配置
.gitattributes:
*.zip filter=lfs diff=zip merge=lfs -text
.gitconfig file :
[diff "zip"]
textconv = unzip -c -a
binary = true
如何在包含的提交后保留Git中的“result.zip”历史记录 将其重命名为“result_Two.zip”并进行修改?
答案 0 :(得分:0)
如果重命名文件,无法保留历史记录。
重命名是隐式处理而不是显式处理。普通的 对CVS的抱怨是它使用文件名来识别它 修订历史记录,因此如果没有,则无法移动或重命名文件 要么打断历史,要么重命名历史 使历史不准确。大多数CVS后修订控制系统 通过为文件提供一个唯一的长期名称(一种inode来解决这个问题) 数字)幸存重命名。 Git没有记录这样的 标识符,这是一个优势。
确认没有本机方法更改文件名而不丢失其历史记录的内容,Git没有此功能。
解决方案维护历史记录并查找完整历史记录,使用以下命令:
git log --follow ./path/to/file
答案 1 :(得分:0)
进行一次仅重命名zip文件的提交:
git mv foo.zip bar.zip
git commit -s 'rename zip file without any other changes'
然后,进行完全替换内容的提交:
<create new bar.zip>
git add bar.zip
git commit -s 'replace bar.zip contents'
之后,跑步:
git log --follow bar.zip
将以Git通常的倒退方式显示&#34;替换内容&#34;提交,然后&#34;重命名&#34;提交,然后提交影响foo.zip
(旧名称)的任何提交。