git bash里ln -s
程序员文章站
2022-03-01 17:17:20
...
程序员日常都会写些脚本,一个脚本在多处使用,免不了要建多个软链接,可以方便的从各种去改同一个文件。然而在git bash中却有坑
硬链接
很多时候直接创建了硬链接,可以达到目标,没毛病
ln hardLink path/to/sourceFile
但是硬链接有一个要求,比如windows上要求在同一个磁盘上,远程的文件也是无法硬链接。现在都是ssd+时代了,多搞几个硬盘都是常规操作。跨硬盘只能搞成软链接
软链接
指令很简单
ln -s softLink path/toSourceFile
然而在windows上的git bash里有坑,因为git bash里 ln -s的行为等于copy
是的,你没看错。明明想让多个链接指向同一个文件,它直接给拷贝了,坑
官方说明在这里
By default, the
ln -s
command in Git Bash does not create symbolic links. Instead, it creates copies.
To create symbolic links (provided your account has permission to do so), use the built-in mklink > > > command, like so:mklink /d this-link-points-to c:\that-directory mklink this-link-points-to c:\that-file
所以,官方推荐的方法是用windows自带的mklink指令来搞软件链接
上答案:
mklink softLink path/to/sourceFile
上网一搜,其他一些文档里说的多是在git repo中添加链接作为内容,什么要在安装的时候选中打开符号链接的选项之类的。
上一篇: linux集群分发脚本
下一篇: pytest-fixture