git 只删除最后的存储提交

标签 git git-stash

当我的藏品多于一个时,有时我需要在最后一个之前放下一两个:

> git stash
stash@{0}: WIP on 0.9.1: e59f763 UPDATE deploy script UPDATE requirements
stash@{1}: WIP on dev: c9f86fb ADD index view ADD return view ADD welcome

在这种情况下,我想删除 @{0}。如果我 git stash pop 我遇到了必须手动解决的 merge 冲突,也许不止一次,以摆脱 stash 的提交。

通常,我创建另一个分支:

git checkout -b temp  
git stash pop
# solve merge-conflicts
git checkout branch_for_stash@{1}
git stash pop

是否有任何 (git) 命令可以删除最后的,甚至任何 stash 的提交?

最佳答案

看来问题已经在评论中得到了回答。为了将来引用,这里是 git stash drop 的相应文档:

Remove a single stash entry from the list of stash entries. When no <stash> is given, it removes the latest one. i.e. stash@{0}, otherwise <stash> must be a valid stash log reference of the form stash@{<revision>}.

因此,要仅删除存储条目 stash@{1},命令如下所示:

$ git stash drop stash@{1}

请注意,引用中的数字是从列表顶部开始的计数,因此连续两次删除 stash@{1} 将删除 stash@{1} code> 然后是之前的 stash@{2}

这同样适用于 git stash applygit stash pop 命令,即:

$ git stash apply stash@{1}
$ git stash pop stash@{1}

关于git 只删除最后的存储提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48791266/

相关文章:

git - 使用git-tf时是否可以关联TFS工作项

git - 如何按名称命名和检索 Git 存储?

git - 长期保存 git stash 修订版

git - 我需要删除我的 git stash 吗?

git - 更改 Git 存储消息

Git 不确定性 - 定制,但能够引入上游更改?

git - 如何在终端中确认 `git commit --amend` 之后的更改?

python - 在没有 git 的情况下分配目录的 git SHA

git - 如何在git中获取文件的版本树?

Git stash 两个分支