我开始使用硬链接而不是符号链接来组织文件......
我一直在为我拍摄的照片做这件事,以对它们进行分类,并指出我想打印哪些照片等。
我正在使用 git 来备份我的图像,似乎 git 认为它们是新文件,因为存储库的大小增长了大约 1GB。如果我不使用 git 重命名文件,Git 在检测重命名方面做得非常好,但它是否也处理硬链接?
沃尔特
Chr*_*sen 13
多重链接的跟踪文件不会导致 Git 的对象存储增长太多,因为每个链接将由完全相同的 blob 对象表示。但是,由于链接断开,您的工作树最终可能会增长。
Git 不跟踪被跟踪的工作树文件是否是指向同一文件的硬链接。
如果您不要求 Git 执行任何涉及修改这些路径名的内容或删除路径名的目录条目的操作,Git 将单独保留多个链接的、跟踪的、工作的树文件。但是,如果您要(例如)检出旧的提交或分支,然后切换回正常的、最新的分支/提交,那么 Git 最终将“破坏”硬链接(用新的(但相同的)替换受影响的路径名) 文件,而不是重新创建多重链接的情况)。
要恢复您的多重链接状态,您可以编写一个程序来扫描相同的文件并将它们重新链接到任何一个文件。如果所有链接都不在工作树本身中,或者至少不在一些易于识别的“外部”位置(即,如果您正在链接,可能很难恢复链接),这种“重新链接”操作可能会更加复杂将主目录中的“随机”文件放入“备份”存储库并使用 Git 修改工作树)。
这个想法已经出现在 Git 邮件列表中:
cp -a是独立的core.keepHardLinks(从未集成到任何已发布的 Git 中?)| 归档时间: |
|
| 查看次数: |
9932 次 |
| 最近记录: |