我使用 git 对正在跟踪的代码进行了一些更改。这些更改已上演(添加)。然后我使用 git stash
将它们藏起来。然后我使用 git stash pop
取消 stash 它们。那时,更改不再上演。这是预期的行为吗?如果是这样,git 文档中是否有描述?
最佳答案
你可以告诉 git 尝试恢复索引状态
git stash pop --index
乍一看,这不是默认行为,这很令人困惑,甚至看起来像是一个错误;特别是如果您仔细观察并知道内部存储 确实 保留了有关在创建存储时暂存的内容与工作树中的内容的知识。但这是记录在案的内容(请参阅 pop
下的 git stash
文档)。
但问题是,如果在应用存储时发生冲突,则需要索引来解决冲突...因此 --index
操作必须失败。因此,无论好坏,默认行为是执行更有效的操作(即使它必须让您处于“解决冲突”状态)。
关于git - git stash pop 之后未上演的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51522952/