git stash save -u
后,git stash不会显示未跟踪的文件:
D:\kzxd-usm\KzxdUsm>git status
Already up-to-date!
# On branch work
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# WebRoot/WEB-INF/jsp/usm/org/Copy of list.jsp
nothing added to commit but untracked files present (use "git add" to track)
我希望在用git stash save -u
:
D:\kzxd-usm\KzxdUsm>git stash list --stat
stash@{0}: On work: hide copy of list.jsp
它只有一些注释文本,并且没有隐藏文件信息。
答案 0 :(得分:5)
使用git show stash@{0}^3
显示所有未跟踪的文件。
答案 1 :(得分:1)
git stash
只会隐藏git知道的文件中的更改:它不会存储未跟踪文件中的更改。
您可以使用git add
告诉git该文件,然后使用git stash
隐藏更改:
git add Copy\ of\ list.jsp
git stash
答案 2 :(得分:1)
在我的1.7.8.2中,存储@ {0} ^ 3无法显示未跟踪的文件。但是,我发现以下内容会在第二个日志条目中列出它们:
git log -2 --name-only stash @ {0}
如果要查看文件详细信息,可以使用-p而不是--name-。
答案 3 :(得分:1)
我找到的最佳答案是In git, is there a way to show untracked stashed files without applying the stash?,特别是这个答案 - https://stackoverflow.com/a/23712152/1019307。
git rev-list -g stash | git rev-list --stdin --max-parents=0 | xargs git show --stat
答案 4 :(得分:0)
如果您使用git stash save -u
藏匿,然后执行git stash show
,则不会显示未跟踪的文件 - 该列表将仅包含对已跟踪文件的更改。
当你想与某人分享你的隐藏变化时,这是有道理的:你从git stash show
得到的差异不会包含任何额外的垃圾(工作副本中未经处理的东西),但只会跟踪相关的变化文件。
使用git pop
恢复隐藏的更改后,也会恢复未跟踪的文件。