Git stash 正在更改文件内容
Git stash is changing files contents
每次我点击 git stash 时,它都会将我的文件更改为上次提交时的状态。为什么会发生这种情况,如何阻止这种情况?
[Ev]ery time I hit git stash it is changing my files to their state in the previous commit.
这就是应该要做的事情。 git stash
所做的是提交你的工作(分为两个特殊的临时提交,称为 "stash";这些提交不在 any 分支上,因此很容易切换到另一个分支并恢复它们),然后执行 git reset --hard
。 git reset --hard
重置您的索引和工作树以匹配当前提交。
如果您不想要,请不要使用 git stash
。
请注意,您 可以 git stash
在 / 而不是进行硬重置之后检查提交的索引内容。我相信此选项旨在允许预提交挂钩 运行 对将由 git commit
提交的文件进行代码检查操作。此选项是 -k
(如 git stash -k
)。这个策略有一些小缺陷;见 How do I properly git stash/pop in pre-commit hooks to get a clean working tree for tests?
每次我点击 git stash 时,它都会将我的文件更改为上次提交时的状态。为什么会发生这种情况,如何阻止这种情况?
[Ev]ery time I hit git stash it is changing my files to their state in the previous commit.
这就是应该要做的事情。 git stash
所做的是提交你的工作(分为两个特殊的临时提交,称为 "stash";这些提交不在 any 分支上,因此很容易切换到另一个分支并恢复它们),然后执行 git reset --hard
。 git reset --hard
重置您的索引和工作树以匹配当前提交。
如果您不想要,请不要使用 git stash
。
请注意,您 可以 git stash
在 / 而不是进行硬重置之后检查提交的索引内容。我相信此选项旨在允许预提交挂钩 运行 对将由 git commit
提交的文件进行代码检查操作。此选项是 -k
(如 git stash -k
)。这个策略有一些小缺陷;见 How do I properly git stash/pop in pre-commit hooks to get a clean working tree for tests?