我使用的是 Mac OS X,但是是命令行。我想从我的.profile
文件到系统上的另一个文件建立链接,以便更新一个文件更新另一个文件,反之亦然。
本文让我认为硬链接就是我所需要的。我一直使用的命令是:
ln .profile ~/Newpath/.profile
这种方式是有效的,因为文件是在 处创建的Newpath
,但是,更新一个文件不会自动更新另一个文件,反之亦然。
我尝试过ln
在桌面上使用简单的文件,并且链接确实会相互更新。我想知道是否有人有过由于某种原因无法使用点文件或 Mac 上主目录中的文件的链接的经验。
知道这里会发生什么吗?
答案1
请注意,许多编辑器会写入临时文件并最终重命名为目标文件。
这将导致您的硬链接丢失。
答案2
也许这些文件所在的目录位于不同的文件系统/分区上?硬链接只能存在于单个分区上。
if test x"$(stat -f'%d' .)" != x"$(stat -f'%d' ~/Newpath)"; then
echo "Directories are on different partitions"
fi
答案3
我刚刚在我的 Mac 上进行了测试,效果非常好。
更新其中一个,另一个也会更新。
顺便说一句,符号链接应该和硬链接一样有效。
答案4
dubiousjim 的评论指出了我的问题:
我认为每次你签出文件的新副本时 git 都会中断硬链接。编辑:是的,我刚刚验证了它会,即使硬链接位于单个存储库中