如何查看取消隐藏将对当前工作树所做的更改?我想知道在应用它们之前将进行哪些更改!
当前回答
不管好坏这可能对所有其他答案都有点多余,并且与当场接受的答案非常相似;但也许这会帮助别人。
git stash show--帮助将为您提供所需的一切;包括隐藏显示信息。
显示[<stash>]将存储中记录的更改显示为存储状态与其原始父级之间的差异。如果没有,则显示最新的。默认情况下,该命令显示diffstat,但它将接受gitdiff已知的任何格式(例如,git stash show-p stash@{1}以补丁形式查看第二个最新的stash)。您可以使用stash.showStat和/或stash.showPatch配置变量来更改默认行为。
其他回答
如果你的工作树是脏的,你可以通过首先提交脏的工作树,然后将其与隐藏进行比较,将其与存储进行比较。然后,您可以使用脏的工作树撤消提交(因为您可能不希望在提交日志中有脏的提交)。
您还可以使用以下方法将两个储藏物相互比较(在这种情况下,您只需首先弹出其中一个储藏物)。
提交您的脏工作树:git添加。gitcommit-m“脏提交”将隐藏与提交区分开来:git diff HEAD存储@{0}然后,您可以恢复提交,并将其放回工作目录:git reset—软HEAD~1git重置。
现在,你已经用你的储藏物改变了肮脏的工作树,回到了最初的位置。
查看最近的存储:
git stash show -p
查看任意存储:
git stash show -p stash@{1}
从git存储手册页:
默认情况下,该命令显示diffstat,但它将接受任何gitdiff已知的格式(例如,要查看的git stash show-p stash@{1}补丁形式的第二个最近的隐藏)。
要查看最新的存储:
git stash show -p
要查看任意存储:
git stash show -p stash@{1}
此外,我使用gitdiff将存储与任何分支进行比较。
您可以使用:
git diff stash@{0} master
查看与分支主机相比的所有更改。或者您可以使用:
git diff --name-only stash@{0} master
仅查找更改的文件名。
这适用于git 1.8.5.2版:
git diff stash HEAD
以防万一,要比较工作树和存储库中的文件,请使用以下命令
git diff stash@{0} -- fileName (with path)
推荐文章
- Github:导入上游分支到fork
- Git单次修订的日志
- Git在不改变提交时间戳的情况下进行改基
- VS 2017 Git本地提交数据库。每次提交时锁定错误
- 如何在过去的一些任意提交之间注入一个提交?
- 从GitHub克隆项目后拉git子模块
- GitHub上的分叉和克隆有什么区别?
- 递归地按模式添加文件
- 我如何使用notepad++(或其他)与msysgit?
- 如何将现有的解决方案从Visual Studio 2013添加到GitHub
- Git存储库中的悬垂提交和blob是什么?它们来自哪里?
- 我如何简单地从我最新的git提交创建一个补丁?
- Git显示“警告:永久添加到已知主机列表”
- 我如何检索一个回购的远程git地址?
- 如何列出提交,因为某些提交?