如何查看取消隐藏将对当前工作树所做的更改?我想知道在应用它们之前将进行哪些更改!
当前回答
要查看最新的存储:
git stash show -p
要查看任意存储:
git stash show -p stash@{1}
此外,我使用gitdiff将存储与任何分支进行比较。
您可以使用:
git diff stash@{0} master
查看与分支主机相比的所有更改。或者您可以使用:
git diff --name-only stash@{0} master
仅查找更改的文件名。
其他回答
根据您想要将存储与(本地工作树/父提交/头提交)进行比较的内容,实际上有几个命令可用,其中好的旧git diff和更具体的git存储显示:
Compare stash with ↓ | git diff | git stash show |
---|---|---|
Local working tree | git diff stash@{0} |
git stash show -l |
Parent commit | git diff stash@{0}^ stash@{0} |
git stash show -p |
HEAD commit | git diff stash@{0} HEAD |
/ |
虽然git stash show乍一看更友好,但git diff实际上更强大,因为它允许为更集中的diff指定文件名。我个人在zsh-git插件中为所有这些命令设置了别名。
如果你有diff工具(比如beyond compare)
git difftool stash HEAD
@Magne的回答是迄今为止(很晚)唯一一个对这个问题做出最灵活/最有用解释的答案,但它比必要的要复杂得多。而不是提交和重置,只需隐藏工作副本,进行比较,然后取消显示。
git stash save "temp"
git diff stash@{0} stash@{1}
git stash pop
这向您展示了存储堆栈顶部和工作文件夹之间的差异,方法是暂时将工作文件夹更改变为存储堆栈顶部(stash@{0}),将原始顶部向下移动一个(stash@{1}),然后在“新集合”位置使用原始顶部进行比较,以便您看到将其应用于当前工作顶部所产生的更改。
“但如果我现在没有任何工作怎么办?”那么你就处于正常的无聊状态。只需使用@Amber的答案
git stash show
或者@czerasz的回答
git diff stash@{0}
或者承认隐藏和取消隐藏是快速和容易的,只要取消隐藏更改并检查它们即可。如果你现在不想要它们,就扔掉它们(当前的索引/工作文件夹更改)。完全是这样
git stash apply
git diff
git reset
git checkout
查看最近的存储:
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添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别