我无法让这个工作。
我克隆了一个包含虚拟文件(名为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
我已经尝试了所有these other suggestions。甚至this doesn't work 有什么想法吗?
答案 0 :(得分:3)
您可以执行结帐,忽略此单个文件,如下所示:
git checkout HEAD . --no path/src
.gitignore
文件仅适用于向索引添加内容。
答案 1 :(得分:1)
我知道这很晚,但是我遇到了这个问题。
就我而言,我显然已经签入了我的符号链接。因此,无论我做什么,.gitignore
都行不通(我想这就是亚历山大的意思)。
修复:
现在,您可以重新添加符号链接,.gitignore
应该可以正常工作。
答案 2 :(得分:0)
以下是我针对此问题的步骤,类似,但与其他答案略有不同。
假设我有一个文件夹 .fvm
包含 file.json
和 flutter_sdk(link)
,它们之前都在 git 中提交过,那么我想忽略 flutter_sdk
。
.fvm/flutter_sdk
中添加 .fvm/flutter_sdk/
和 .gitignore
。.fvm/flutter_sdk
剪切到存储库以外的其他位置。git add .
和 git commit ....