我怎样才能让git跟随符号链接?
我有一个谷歌如何做到这一点,但没有任何运气。
我最好是将shell脚本替换为副本的符号链接,还是有另一种方法告诉git遵循符号链接?
PS:我知道它不是很安全,但是我只想在某些特定情况下这样做。
解决方案
回答
注意:从git 1.6.1开始,这个建议已经过时了。 Git过去一直是这种方式,现在不再这样做。
默认情况下,Git尝试存储符号链接而不是跟随符号链接(为了紧凑起见,这通常是人们想要的)
但是,当符号链接是目录时,我不小心设法使其添加到符号链接之外的文件。
IE。:
/foo/ /foo/baz /bar/foo --> /foo /bar/foo/baz
通过做
git add /bar/foo/baz
当我尝试它时,它似乎起作用了,但是当时我不希望这种行为,所以我无法提供更多信息。
回答
我过去很长时间以来都在符号链接之外添加文件。过去这种方法工作得很好,无需进行任何特殊安排。自从我更新到git 1.6.1以来,这不再起作用了。
我们可能可以切换到git 1.6.0来完成这项工作。我希望git的将来版本中会有一个git-add的标志,使它可以再次跟随符号链接。
回答
我使用的是git 1.5.4.3,如果传递的符号链接带有斜杠,它就在传递的符号链接之后。例如。
# adds the symlink itself $ git add symlink # follows symlink and adds denoted directory's contents $ git add symlink/
回答
我做了什么添加才能将符号链接中的文件转换成git(我没有使用符号链接,但是):
sudo mount --bind SOURCEDIRECTORY TARGETDIRECTORY
在git托管目录中执行此命令。必须在将" SOURCEDIRECTORY"安装到其中之前创建" TARGETDIRECTORY"。
在Linux上可以正常工作,但在OS X上却不能正常工作!这个技巧也帮了我颠覆。我使用它来包含来自Dropbox帐户的文件,该帐户由Webdesigner负责。
回答
hmmm mount --bind似乎不适用于达尔文。
有人有招吗?
[编辑]
好的,我发现OSX的答案是建立硬链接。除了该API不是通过ln
公开的,因此我们必须使用自己的微型程序来执行此操作。这是该程序的链接:
在MacOS X中创建目录硬链接?
享受!