我有一个文件,假设 file.txt 我已经完成了 git mv file.txt 到 file1.txt,然后我创建了一个名为 file.txt 的新文件并对其进行了处理。不幸的是我还没有将该文件添加到 git 中。不管怎样,问题是我做了 git stash,然后 git stash apply,但是新的 file.txt 消失了......无论如何要找回它?
这里的问题主要是对什么的误解git stash save
做。它仅保存对以下内容的更改tracked文件。未跟踪的文件不会被保存git stash
。当您将 file.txt 移动到 file1.txt 时,新的 file.txt 是一个未跟踪的文件,并且will not被拯救git stash
。这不是一个错误,只是这样git stash
行为。可能是文档git stash
对此应该更加清楚。
作为文档git stash save
州,它将做一个git reset --hard
保存更改后。这是git reset --hard
覆盖新的 file.txt。有人可能会争辩说git reset --hard
如果未跟踪的文件将被覆盖,应该生成警告,但我仍然不会将此称为错误。它正在做它应该做的事情。
这里要理解的重要一点——以及可以为你省去很多麻烦的——是git stash save
不保存未跟踪的文件(而且可能不应该)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)