git reset --hard 似乎忽略了 .git/info/exclude

标签 git

我们有一个共享目录(称为/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/

相关文章:

git - 捆绑和压缩 git repo 有什么区别?

Ansible 中基于 SSH 的 GIT 挂起,即使设置了 ssh-agent 转发

python - pip 安装 dynamic-dynamodb InsecurePlatformWarning

linux - 亚搏体育appGitLab的密码

git - 在 Git 上执行 shell 命令时如何指定要使用的私有(private) SSH key ?

git - 在 msysgit 上使用 gitk

python - 如何 checkout 多个提交并将代码版本复制到另一个目录?

bash - 如何在终端中输入 token 而不留下历史记录?

eclipse - 如何使用 EGit 取消 stash 更改?

git - 概述列表 - 最常用的 git 命令