首页 > 解决方案 > Git stash 正在更改文件内容

问题描述

每次我点击 git stash 时,它都会将我的文件更改为上一次提交中的状态。为什么会发生这种情况以及如何阻止这种情况?

标签: gitgit-stash

解决方案


[每次我点击 git stash 时,它都会将我的文件更改为上一次提交中的状态。

这就是它应该做的。所做的是提交您git stash的工作(进入两个称为“stash”的特殊临时提交;这些提交不在任何分支上,因此很容易切换到另一个分支并恢复它们),然后执行git reset --hard. 重置您的git reset --hard索引和工作树以匹配当前提交。

如果你不想这样,请不要使用git stash.

请注意,您可以git stash/ 之后检查提交的索引内容,而不是进行硬重置。我相信此选项旨在允许预提交挂钩对将提交的文件运行代码检查操作git commit。选项是-k(如git stash -k)。这种策略有一些小缺陷;请参阅如何在预提交挂钩中正确 git stash/pop 以获得干净的工作树进行测试?


推荐阅读