是否可以告诉Git忽略符号链接?我正在使用混合的Linux / Windows环境,如你所知,符号链接在两者之间的处理方式截然不同。
答案 0 :(得分:1)
使用git版本> = 1.6
Git用于处理sym-links与常规文件相同,但较新的git版本(> = 1.6)检查文件是否超出符号链接并将引发致命错误。
e.g:
# git init
# mkdir newdir
# touch newdir/foo
# git add newdir/foo
# git commit -m 'add foo'
# mv newdir /tmp/
# ln -s /tmp/newdir
# touch newdir/bar
# git add newdir/bar
fatal: 'newdir/bar' is beyond a symbolic link
# git add/tmp/newdir
fatal: '/tmp/newdir' is outside repository
# git --version
git version 1.7.3.4
答案 1 :(得分:1)
不,全局无法做到这一点。但是,如果你有很多符号链接,可以使用bash脚本轻松地将它们添加到你的repo的.gitignore文件中:
for f in $(git status --porcelain | grep '^??' | sed 's/^?? //'); do
test -L "$f" && echo $f >> .gitignore; # add symlinks
test -d "$f" && echo $f\* >> .gitignore; # add new directories as well
done