有什么办法可以防止 git 完全删除文件的内容吗?

Is there anyway to prevent for git to completely delete the contents of a file?

我不知道主要原因,但偶尔 git 会在提交未成功完成的情况下完全删除我正在处理的 buffer/file 中的内容。

清理文件内容后,文件的 undo-tree 也无法使用 emacs 获取最新更改,它的树完全是空的。我无法找到我拥有的最新更改,它们没有显示在 stash.

在后台:zsh 的 git auto-fetch 是 运行,我不确定这会不会有任何影响。


=> 有没有办法防止 git 完全删除文件的内容?


❯ 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 是文件删除的可能原因。

由于检查忽略没有 return 任何东西,这指向 Git 外部的根本原因,更多地与 Emacs 相关,正如 OP 指出的那样