欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

git bash里ln -s

程序员文章站 2022-03-01 17:17:20
...

git bash里ln -s

程序员日常都会写些脚本,一个脚本在多处使用,免不了要建多个软链接,可以方便的从各种去改同一个文件。然而在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中添加链接作为内容,什么要在安装的时候选中打开符号链接的选项之类的。