15

我不能让它工作。

我克隆了一个存储库,其中包含一个虚拟文件(名为 src)/path/src:.

在 Windows 上,我创建了一个符号链接:(mklink -d /path/src /otherplace/src但我当然必须先删除虚拟 src 文件)。
在我.gitignore.git/info/exclude我都有

/path/src/ 
/path/src 
path/src/
path/src

我试过了

git ls-files -s | gawk '/120000/{print $4}'

git update-index path/src/ --assume-unchanged

但我仍然得到:

error: readlink("path/src"): Function not implemented
error: unable to index file path/src   
fatal: updating files failed

我已经尝试了所有 其他 建议。甚至这也行不通
有任何想法吗?

4

3 回答 3

3

您可以像这样忽略这个单个文件进行结帐:

git checkout HEAD . --no path/src

.gitignore文件仅适用于向索引添加内容。即使在将文件添加到之前提交的文件的修改.gitignore也不会被忽略。

于 2012-09-17T20:11:24.333 回答
2

我知道这已经晚了,但我遇到了这个问题。

就我而言,我显然在某个时候检查了我的符号链接。所以无论我做什么,.gitignore都行不通(我认为这就是亚历山大的意思)。

修理:

  1. 删除所有符号链接
  2. 看看 git 现在是否认为有已删除的文件要提交。
  3. 如果是这样,那么继续并提交删除。

现在您可以重新添加符号链接并且.gitignore应该可以工作。

于 2020-03-21T23:30:32.703 回答
0

这是我针对此问题的步骤,类似,但与其他答案有些不同。

假设我有一个文件夹.fvmcontainsfile.json并且flutter_sdk(link)之前都在 git 中提交,那么我想忽略 out flutter_sdk

  1. 添加.fvm/flutter_sdk.fvm/flutter_sdk/.gitignore.
  2. .fvm/flutter_sdk出到存储库以外的其他地方。
  3. git add .git commit ....
  4. 粘贴回链接。
于 2020-12-21T13:47:37.157 回答