可以告诉Git忽略符号链接吗? 我正在使用混合的Linux / Windows环境,正如您所知,符号链接在两者之间的处理方式非常不同。
在win32中读取符号链接/连接点的目标(通过Python)
Linux基于USB端口执行脚本
Linux – 使用单个命令更新多个符号链接
使用git版本> = 1.6
Git用来处理与常规文件相同的sym-links,但是更新的git版本(> = 1.6)会检查文件是否超出了符号链接,并且会引发严重的错误。
例如:
# 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
不,全球无法做到这一点。 然而,如果你有很多的符号链接,这里是一个bash脚本,你可以用它来轻松地将它们添加到你的仓库的.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