我们有一个共享目录(称为/shared),我们通过在推送到 master 时运行这些命令,自动与我们的 master git 分支保持同步:
git reset --hard HEAD git clean -f -d git pull
这在大多数情况下都有效。然而,有一个目录/shared/media 我们不想被触及,即使有一个“媒体”符号链接(symbolic link) checkin git。
我已将“媒体”添加到 .git/info/exclude,但无论如何,“git reset --hard HEAD”会删除/shared/media 并将其替换为 checkin 的符号链接(symbolic link)。
除了例如通过事先将其移开并在之后恢复它?
最佳答案
git update-index --skip-worktree <file>
应该可以解决问题(参见类似问题:git update-index --assume-unchanged and git reset)
关于git reset --hard 似乎忽略了 .git/info/exclude,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8042070/