根据git文档,git stash list将接受您可以传递给的任何选项git log.
我想要做的是将--stat选项传递给git stash list.这有效,但它似乎显示了回购中的每个文件.
现在,我知道有一个git stash show将显示已更改的文件,但我需要手动检查每个文件.
有没有什么方法可以让git向我展示一下stashes列表,只是为每一个存储的更改?
ant*_*tak 22
Git v2.2以后的更新:
git stash list --stat 作品.
自提出问题以来,情况发生了变化,OP的困境不再适用.从Git v2.2开始,你可以简单地传递--stat给git stash list它,它将表现得像直觉一样.
您还可以使用任何其他文件的列表选项,例如--name-status,--name-only和--raw提供给git log.
如果您在v2.2之前使用的是Git版本,则以下原始答案适用.
原始答案:
像这样我想:
git stash list | while IFS=: read STASH ETC; do echo "$STASH: $ETC"; git diff --stat $STASH~..$STASH --; done
Run Code Online (Sandbox Code Playgroud)
(在Git Bash msysgit中测试过.)
git stash show $STASH而不是git diff --stat $STASH~..$STASH也工作但是无法忍受的缓慢.
git stash list --name-status
输出:
stash@{0}: WIP on branch-name: face0ff97 Commit message
M path/to/modified/file.cpp
A path/to/added/file.xml
D path/to/deleted/file.kt
stash@{1}: WIP on branch-name: 953add384 Commit message
...
Run Code Online (Sandbox Code Playgroud)
git stash show -p我相信您正在要求以补丁形式显示藏匿处。
对于特定的存储,您可以执行以下操作:git stash show -p stash@{x}其中 x 是堆栈上的存储 #。
| 归档时间: |
|
| 查看次数: |
6399 次 |
| 最近记录: |