考虑到Git不能识别指向存储库之外的符号链接,使用硬链接有什么问题吗?

Git能打破它们吗?

推荐答案

"tree"对象表示Git中的目录,存储文件名和权限(子集).它不存储索引 node 号(或其他类型的文件id).因此,hard links cannot be represented in git,至少在没有第三方工具,如metastoregit-cache-meta的情况下是不可能的(我不确定即使使用这些工具也是否可能).

Git试图不接触它不需要更新的文件,但你必须考虑到Git不会试图保留硬链接,所以它们可能会被Git destruct .


大约symbolic links pointing outside repository:git没有问题,应该保留符号链接的内容...但这种链接的实用性对我来说是可疑的,因为这些符号链接是否会被 destruct 取决于文件系统布局outside git存储库,而不是git的控制.

Linux相关问答推荐

将UTC字符串日期时间转换为毫秒UTC时间戳

并行函数的最后一个实例的状态

Shell 脚本程序 - 从日志(log)文件中过滤磁盘空间利用率超过 80% 的行

在 Bash 中使用 shell 脚本从文件中解析版本号

通过 ssh 在远程计算机上按索引访问数组元素

使用ansible配置Linux VM使用vmware_vm_shell模块时变成su?

erlang 格式的 utf8 变为 \x(反斜杠 x)ascii 编码

为什么`__vfprintf_internal`(`stdio.h`中的`printfn`)强制`$rbp`在我的x86-64机器上向前跳转6313864字节?

读取命令停止执行 bash 脚本

如何使用 awk 重新排列列?

Linux 如何将主机文件作为用户的输入并将其调用到脚本中

try 使用 patchelf 修补 MuJoCo 二进制文件时出现执行格式错误

Linux上Kvaser数据库编辑器的等效工具

在 64 位 Linux 操作系统上编译 32 位程序导致致命错误

SVN 错误:无法将字符串从本机编码转换为UTF-8

为什么可执行文件操作系统依赖于?

谁决定任何数据类型或 struct 的大小(取决于 32 位或 64 位)?

初学者如何在 Linux 中开始使用 Mono?

bash / Makefile中双美元符号的含义是什么?

libaio.so.1:无法打开共享对象文件