首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我读到了关于git-stash的文章,不明白这个‘-index’是干什么的

我读到了关于git-stash的文章,不明白这个‘-index’是干什么的
EN

Stack Overflow用户
提问于 2020-09-15 17:49:11
回答 1查看 229关注 0票数 0

我读过关于藏匿物的文章,不明白-index做了什么

我理解存储的功能,应用pop和等等,但是这个-index不是

我读过whats-the-difference-between-git-stash-apply-and-git-stash-apply-index,但不明白。有人会画一个场景吗?

-索引此选项仅对pop和apply命令有效。 尝试不仅恢复工作树的更改,而且恢复索引的更改。但是,如果有冲突(这些冲突存储在索引中,因此无法再应用原来的更改),这可能会失败。

EN

回答 1

Stack Overflow用户

发布于 2020-09-15 21:15:42

假设您在master分支上工作,并且您的主分支包含一个文件foo.txt,其内容是:

代码语言:javascript
复制
first line: master

编辑该文件,并添加一个新行:

代码语言:javascript
复制
first line: master
second line: index

然后运行git add foo.txt,但尚未提交;在提交之前,添加第三行:

代码语言:javascript
复制
first line: master
second line: index
third line: worktree

现在,出于某种原因,您可以运行git stash

如果使用git stash popgit stash apply恢复存储,那么2行版本将被“遗忘”,您只会得到3行版本,并将其放在索引中。

但是,如果添加--index,则将检索索引中的2行版本和磁盘上的3行版本,但尚未添加。

关于索引的警告是:如果尝试在不同的提交上重新应用存储的存储,并恢复存储的更改会触发冲突: git使用索引来存储冲突的版本,而且git stash可能无法分离工作树版本和索引版本。

当您同时拥有暂存文件和修改-但未分阶段的文件时,返回到该状态可能是有用的。

git stash pop / git stash apply的默认行为是恢复索引中的所有内容,因此您必须手动选择要实际运行的文件和要卸载的文件。

如果你的意图是在指数中加入“什么是分阶段的”,而不是把它和“没有分阶段的”混为一谈,那就是--index派上用场的时候了。

话虽如此,但我,例如,在恢复我的藏品时,通常不使用--index

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63907322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档