问题描述
我不知道主要原因,但偶尔 git
会在提交未成功完成时完全删除我正在处理的缓冲区/文件中的内容。
文件内容被清除后,文件的 undo-tree 也无法使用 emacs
获取最新更改,而是其树完全为空。我无法找到我所做的最新更改,并且它们没有显示在 stash
中。
在后台:zsh 的 git auto-fetch 正在运行,我不确定这会不会有任何影响。
❯ ls -lA -tr -h | grep lib.py
-rw-r--r-- 1 alper alper 0 2021-01-04 22:09 lib.py
解决方法
检查您的文件是否会被 git clean -ndx
删除(-n
很重要:它会预览将要删除的内容,而不是实际删除任何文件)
还要检查该文件是否被忽略:
git check-ignore -v -- the/temp/file
(它可以被 global core.exclude
file 忽略)
在这两种情况下,这都表明重复出现的 git clean
可能是文件删除的原因。
由于 check-ignore 没有返回任何内容,这指向了 Git 外部的根本原因,更多地与 Emacs 相关,正如 OP 指出的 in the comments。