首页 > 解决方案 > 如何撤消/恢复已添加到 .git/info/exclude 的文件的排除

问题描述

问题:

我有一个排除在外的文件,.git/info/exclude并希望恢复此排除并重新跟踪该文件。

背景:

我有一个在本地不断更改的文件,我不想提交更改,也不想添加到我的项目的.gitignore. 所以我将它添加到项目.git/info/exclude列表中,效果很好,直到我意识到一旦远程更新我就无法更新文件。

git version 2.24.0

我尝试过的(但没有奏效):

  1. 删除文件名.git/info/exclude
    1. git checkout -- my-file.ext-什么都没发生
    2. git update-index && git checkout -- my-file.ext-什么都没发生
    3. git update-index --skip-worktree my-file.ext && git checkout -- my-file.ext-什么都没发生
    4. rm my-file.ext && git checkout -- my-file.ext-文件被删除,但没有新文件到达
    5. git reset --hard origin/my-branch-只是为了它,但什么也没发生
    6. 手动更新文件并尝试强制跟踪它git add my-file.ext -f 在 git 阶段没有任何变化
    7. git update-index --really-refresh-这个标志只是觉得它会有所帮助:) 但没有变化
    8. git update-index --force-write-index-现在我只是在尝试随机的东西,没有变化
    9. git update-index --no-assume-unchanged my-file.ext-没有变化

如果我运行git status --ignored该文件不是被忽略列表的一部分

我在这里想念什么?

标签: git

解决方案


最终为我工作的是:

  1. 删除文件名.git/info/exclude
  2. 从 git 缓存中删除文件git rm -r --cached my-file.ext
  3. 取消分阶段的更改git reset
  4. 删除了本地文件rm my-file.ext
  5. 再次签出文件git checkout my-file.ext

我很确定步骤 3-5 可以替换为 a git reset --hard,但没有对其进行测试。


推荐阅读