我最好是用一个shell脚本替换符号链接的副本,还是有另一种方式告诉Git遵循符号链接?
PS:我知道这不是很安全,但我只是想在一些特定的情况下这样做。
我最好是用一个shell脚本替换符号链接的副本,还是有另一种方式告诉Git遵循符号链接?
PS:我知道这不是很安全,但我只是想在一些特定的情况下这样做。
当前回答
使用硬链接代替。这不同于软(符号)链接。包括git在内的所有程序都将该文件视为常规文件。注意,可以通过更改源或目标来修改内容。
macOS版本(10.13 High Sierra之前版本)
如果你已经安装了git和Xcode,安装hardlink。这是一个创建硬链接的微观工具。
要创建硬链接,只需:
hln source destination
macOS High Sierra更新
苹果文件系统支持目录硬链接吗? 苹果文件系统不支持目录硬链接。在macOS上从HFS+转换为APFS卷格式时,所有目录硬链接都转换为符号链接或别名。 来自APFS FAQ上developer.apple.com
关注https://github.com/selkhateeb/hardlink/issues/31了解未来的替代方案。
在Linux和其他Unix版本上
ln命令可以创建硬链接:
ln source destination
在Windows (Vista, 7,8,…)
使用mklink在Windows上创建一个连接:
mklink /j "source" "destination"
其他回答
嗯,mount -bind似乎对达尔文不起作用。
有人有什么诀窍吗?
(编辑)
好吧,我在Mac OS X上找到了答案,那就是做一个硬链接。只是这个API不是通过ln公开的,所以你必须用你自己的小程序来做这件事。以下是该程序的链接:
在Mac OS X中创建目录硬链接
享受吧!
符号链接的转换可能很有用。链接到Git文件夹中,而不是脚本中的符号链接。
为什么不反过来创建符号链接呢?这意味着不是从Git存储库链接到应用程序目录,而是以相反的方式链接。
例如,假设我正在设置一个安装在~/application中的应用程序,它需要一个配置文件config.conf:
我将config.conf添加到Git存储库中,例如~/repos/application/config.conf。 然后我通过运行ln -s ~/repos/application/config.conf从~/application创建一个符号链接。
这种方法可能并不总是有效,但到目前为止对我来说效果很好。
使用硬链接代替。这不同于软(符号)链接。包括git在内的所有程序都将该文件视为常规文件。注意,可以通过更改源或目标来修改内容。
macOS版本(10.13 High Sierra之前版本)
如果你已经安装了git和Xcode,安装hardlink。这是一个创建硬链接的微观工具。
要创建硬链接,只需:
hln source destination
macOS High Sierra更新
苹果文件系统支持目录硬链接吗? 苹果文件系统不支持目录硬链接。在macOS上从HFS+转换为APFS卷格式时,所有目录硬链接都转换为符号链接或别名。 来自APFS FAQ上developer.apple.com
关注https://github.com/selkhateeb/hardlink/issues/31了解未来的替代方案。
在Linux和其他Unix版本上
ln命令可以创建硬链接:
ln source destination
在Windows (Vista, 7,8,…)
使用mklink在Windows上创建一个连接:
mklink /j "source" "destination"
我以前在符号链接之外添加文件已经有一段时间了。这在过去工作得很好,不需要做任何特别的安排。自从我更新到Git 1.6.1后,这就不再有效了。
您可以切换到Git 1.6.0来实现这个功能。我希望Git的未来版本会有一个Git -add标志,允许它再次跟随符号链接。