git - 如何撤消/恢复已添加到 .git/info/exclude 的文件的排除
问题描述
问题:
我有一个排除在外的文件,.git/info/exclude
并希望恢复此排除并重新跟踪该文件。
背景:
我有一个在本地不断更改的文件,我不想提交更改,也不想添加到我的项目的.gitignore
. 所以我将它添加到项目.git/info/exclude
列表中,效果很好,直到我意识到一旦远程更新我就无法更新文件。
git version 2.24.0
我尝试过的(但没有奏效):
- 删除文件名
.git/info/exclude
git checkout -- my-file.ext
-什么都没发生git update-index && git checkout -- my-file.ext
-什么都没发生git update-index --skip-worktree my-file.ext && git checkout -- my-file.ext
-什么都没发生rm my-file.ext && git checkout -- my-file.ext
-文件被删除,但没有新文件到达git reset --hard origin/my-branch
-只是为了它,但什么也没发生- 手动更新文件并尝试强制跟踪它
git add my-file.ext -f
在 git 阶段没有任何变化 git update-index --really-refresh
-这个标志只是觉得它会有所帮助:) 但没有变化git update-index --force-write-index
-现在我只是在尝试随机的东西,没有变化git update-index --no-assume-unchanged my-file.ext
-没有变化
如果我运行git status --ignored
,该文件不是被忽略列表的一部分
我在这里想念什么?
解决方案
最终为我工作的是:
- 删除文件名
.git/info/exclude
- 从 git 缓存中删除文件
git rm -r --cached my-file.ext
- 取消分阶段的更改
git reset
- 删除了本地文件
rm my-file.ext
- 再次签出文件
git checkout my-file.ext
。
我很确定步骤 3-5 可以替换为 a git reset --hard
,但没有对其进行测试。
推荐阅读
- python - 在 __init__function 中获取嵌套变量
- forms - 使用嵌套组件 vuejs 提交表单的最佳实践
- python - 使用 scapy.sniff 嗅探网络 (ARP) 流量
- r - rJava for R 安装在 Windows 机器上失败
- r - 沿 r 中的列按类别运行方程
- c - CS50 凯撒密码问题:程序不产生任何结果
- python - Pandas Dataframe - 在匹配行之前/之后获取第 N 行
- excel - 逐行条件格式
- mysql - 检查另一列 (2) 中的值的列 (1) 的约束等于“字符串 1”和“字符串 2”,将列 (1) 设置为不为空
- php - 在 Laravel 和 Livewire 中抛出 errorException 时捕获