有什么办法可以防止 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
完全删除文件的内容?
文件 (scripts/lib.py
) 不在 .gitignore
或 ~/.gitignore_global
.
git check-ignore -v -- scripts/lib.py
returns空
请注意文件保持原样,只有 0 个字节
❯ 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 指出的那样 。
我不知道主要原因,但偶尔 git
会在提交未成功完成的情况下完全删除我正在处理的 buffer/file 中的内容。
清理文件内容后,文件的 undo-tree 也无法使用 emacs
获取最新更改,它的树完全是空的。我无法找到我拥有的最新更改,它们没有显示在 stash
.
在后台:zsh 的 git auto-fetch 是 运行,我不确定这会不会有任何影响。
=> 有没有办法防止 git
完全删除文件的内容?
文件 (
scripts/lib.py
) 不在.gitignore
或~/.gitignore_global
.git check-ignore -v -- scripts/lib.py
returns空请注意文件保持原样,只有 0 个字节
❯ 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 指出的那样