我读过关于藏匿物的文章,不明白-index做了什么
我理解存储的功能,应用pop和等等,但是这个-index不是
我读过whats-the-difference-between-git-stash-apply-and-git-stash-apply-index,但不明白。有人会画一个场景吗?
-索引此选项仅对pop和apply命令有效。 尝试不仅恢复工作树的更改,而且恢复索引的更改。但是,如果有冲突(这些冲突存储在索引中,因此无法再应用原来的更改),这可能会失败。
发布于 2020-09-15 21:15:42
假设您在master分支上工作,并且您的主分支包含一个文件foo.txt,其内容是:
first line: master编辑该文件,并添加一个新行:
first line: master
second line: index然后运行git add foo.txt,但尚未提交;在提交之前,添加第三行:
first line: master
second line: index
third line: worktree现在,出于某种原因,您可以运行git stash。
如果使用git stash pop或git stash apply恢复存储,那么2行版本将被“遗忘”,您只会得到3行版本,并将其放在索引中。
但是,如果添加--index,则将检索索引中的2行版本和磁盘上的3行版本,但尚未添加。
关于索引的警告是:如果尝试在不同的提交上重新应用存储的存储,并恢复存储的更改会触发冲突: git使用索引来存储冲突的版本,而且git stash可能无法分离工作树版本和索引版本。
当您同时拥有暂存文件和修改-但未分阶段的文件时,返回到该状态可能是有用的。
git stash pop / git stash apply的默认行为是恢复索引中的所有内容,因此您必须手动选择要实际运行的文件和要卸载的文件。
如果你的意图是在指数中加入“什么是分阶段的”,而不是把它和“没有分阶段的”混为一谈,那就是--index派上用场的时候了。
话虽如此,但我,例如,在恢复我的藏品时,通常不使用--index。
https://stackoverflow.com/questions/63907322
复制相似问题