【发布时间】:2017-11-13 07:44:31
【问题描述】:
我在 git 中有一个项目,当我第一次从 git 进行符号链接时,符号链接不起作用。据我所知,它们是正确制作的符号链接。如果我删除符号链接并自己重新创建它们,git 也会认为它们与它拥有的符号链接相同。
如果符号链接来自 git,Linux 或 Git 中是否存在阻止符号链接工作的设置?
用于创建符号链接的命令:
ln -s /absolute/path/to/dest symlink-name
一些附加信息
- 符号链接最初是在 MacBook 上创建的,但由于 git 将我新创建的符号链接(在 linux 上)视为相同,我怀疑这是问题所在。
- 第一次获取符号链接时,它们在 linux 上不起作用,但在其他 Mac 机器上却可以。
- 在通过删除和重新创建符号链接来修复它们后,git 将它们视为相同的,因此它们不会在未来的 pull 中被覆盖。
- 所有符号链接都指向 .phar 文件。
- Linux 机器运行的是 Ubuntu 16.04 或 Centos 7
使用ls -lah 将符号链接列为常规文件:
-rw-rw-r--. 1 vagrant vagrant 28 Nov 13 09:01 dep
-rw-rw-r--. 1 vagrant vagrant 28 Nov 13 09:01 drupal
-rw-rw-r--. 1 vagrant vagrant 20 Nov 13 09:01 drush
-rw-rw-r--. 1 vagrant vagrant 32 Nov 13 09:01 drush.complete.sh
-rw-rw-r--. 1 vagrant vagrant 29 Nov 13 09:01 drush.launcher
-rw-rw-r--. 1 vagrant vagrant 24 Nov 13 09:01 drush.php
-rw-rw-r--. 1 vagrant vagrant 33 Nov 13 09:01 php-parse
-rw-rw-r--. 1 vagrant vagrant 26 Nov 13 09:01 phpunit
-rw-rw-r--. 1 vagrant vagrant 22 Nov 13 09:01 psysh
然而,如果我手动删除并重新创建 dep 符号链接,它会正确显示。 Git 仍然认为这是相同的,没有进行任何更改。
lrwxrwxrwx. 1 vagrant vagrant 28 Nov 13 09:33 dep -> ../deployer/deployer/bin/dep
将损坏的符号链接上的权限表单-rw-rw-r-- 更改为lrwxrwxrwx,也不能修复它们。
非常感谢任何帮助。
【问题讨论】:
-
你是什么意思他们“不工作”?他们是如何失败的?
ls显示什么?它们有什么特殊字符吗? -
@EdwardThomson 我已经编辑了帖子以包含此类信息,感谢您的提问,因为我没想过提供这些信息。
-
你为什么写
\absolute\path? `` 在 Linux 上不是路径分隔符。 -
@JohnZwinck 只是一个路径占位符,所以我不需要输入实际路径,尽管稍后在我的帖子中被否定了,在示例中错误地使用了
\`, 将得到修复。 (实际符号链接正确使用/)