git checkout - <filename>无法在Windows 10上恢复本地删除的符号链接

时间:2016-11-15 13:34:02

标签: windows git symlink git-checkout

所以,是的,我正在使用Windows 10,当时我身边的每个人都在使用Linux / Mac。但我不会放弃。

我删除了一个Symlink,它是repo的一部分,由本地创建的&#34; git clone&#34; - (如果你感到无聊,请阅读下面的原因)

现在当我跑步&#34; git status&#34;它说:&#34;已删除&#34;对于我的符号链接。我想要他们回来,所以我尝试了以下内容:

git checkout。
git checkout -
git reset --hard HEAD

没有任何效果,它们都没有错误地完成,但是&#34; git status&#34;仍然显示符号链接被删除,实际上&#34; ls&#34;表明他们走了。任何使用&#34; ln -s&#34;自己创建它们的尝试(在git-bash中)导致&#34; typechange&#34;在git状态。

我怎样才能获得&#34; git checkout。&#34;或任何其他git命令将符号链接恢复为存储库中的符号链接?

1 个答案:

答案 0 :(得分:2)

所以,是的,时间戳应该显示当我已经知道答案时我发布了问题,但是,因为我花了差不多两个小时试图解决这个问题,而且答案不在stackoverflow上(还)我决定我发布帖子我的问题无论如何都要回答。

Eitam@DESKTOP-JJOOD64 MINGW64 /d/git/my-repo (master)
$ git checkout .

Eitam@DESKTOP-JJOOD64 MINGW64 /d/git/my-repo (master)

命令似乎已经完成,没有任何错误或问题,但是&#34; git status&#34;仍会显示我的符号链接不存在。

解决方案:

以管理员身份运行git-bash!并使用&#34; git checkout。&#34;或&#34; git reset - hard HEAD&#34;或任何本来应该起作用的git命令。

git-bash并没有抱怨它缺少管理员权限,这让人非常恼火。当我尝试通过使用&#34; mklink&#34;创建符号链接来解决问题时,我发现它是必需的。这告诉我,我需要管理员私人......