如何查看取消隐藏将对当前工作树所做的更改?我想知道在应用它们之前将进行哪些更改!
当前回答
这适用于git 1.8.5.2版:
git diff stash HEAD
其他回答
不管好坏这可能对所有其他答案都有点多余,并且与当场接受的答案非常相似;但也许这会帮助别人。
git stash show--帮助将为您提供所需的一切;包括隐藏显示信息。
显示[<stash>]将存储中记录的更改显示为存储状态与其原始父级之间的差异。如果没有,则显示最新的。默认情况下,该命令显示diffstat,但它将接受gitdiff已知的任何格式(例如,git stash show-p stash@{1}以补丁形式查看第二个最新的stash)。您可以使用stash.showStat和/或stash.showPatch配置变量来更改默认行为。
如果隐藏的更改所基于的分支在此期间发生了更改,则此命令可能有用:
git diff stash@{0}^!
这会将隐藏与它所基于的提交进行比较。
查看最近的存储:
git stash show -p
查看任意存储:
git stash show -p stash@{1}
从git存储手册页:
默认情况下,该命令显示diffstat,但它将接受任何gitdiff已知的格式(例如,要查看的git stash show-p stash@{1}补丁形式的第二个最近的隐藏)。
如果你有diff工具(比如beyond compare)
git difftool stash HEAD
她列出了藏匿物品的清单
git stash list
stash@{0}: WIP on feature/blabla: 830335224fa Name Commit
stash@{1}: WIP on feature/blabla2: 830335224fa Name Commit 2
因此,获取存储编号并执行以下操作:
您可以执行以下操作:
git stash show -p stash@{1}
但如果你想要一个diff(这与显示隐藏不同,这就是我写这个答案的原因。diff考虑分支中的当前代码,show只是显示你将应用的内容)
您可以使用:
git diff stash@{0}
or
git diff stash@{0} <branch name>
另一件有趣的事情是:
git stash apply
git stash apply stash@{10}
这将在不从列表中删除的情况下应用隐藏,您可以进行git结帐。删除这些更改,或者如果你很高兴git stash drop stash@{10},从列表中删除一个stash。
从这里开始,我从不建议使用git stash pop,并使用gitstash apply和gitstash drop的组合。。。有时候很难恢复代码。
推荐文章
- 在单个文件中重新启动/撤消冲突解决方案
- Visual Studio代码如何解决合并冲突与git?
- 无法推送到远程分支,无法解析到分支
- Git:如何将数据库重置为特定的提交?
- 如何在合并期间使用Git和命令行保存本地文件或远程文件?
- 能够用一个命令推到所有git遥控器?
- 重新基于Git合并提交
- 忽略已经签入目录的内容?
- 如何从windows cmd保存git提交消息?
- (Mac) -bash: __git_ps1:命令未找到
- 如何删除多个已删除的文件在Git仓库
- 使用vimdiff查看所有' git diff '
- 如何拉特定的目录与git
- 本地存储库中的文件与源文件之间的差异
- 将Git存储库内容移动到另一个存储库,保存历史记录