如果我跑git stash -u
,我可以隐藏未跟踪的文件。但是,据说未跟踪的文件根本不会显示git stash show stash@{0}
。有没有办法在不应用隐藏的情况下显示未跟踪的隐藏文件?
未跟踪的文件存储在存储提交的第三个父级中。 (这实际上没有记录,但从引入 -u 功能的提交,787513... https://github.com/git/git/commit/787513027a7d0af3c2cd2f04b85bc7136d580586,以及方式其余文档git-stash http://git-scm.com/docs/git-stash#_discussion表达事物...或者只是通过做git log --graph 'stash@{0}'
)
您可以通过以下方式仅查看存储的“未跟踪”部分:
git show 'stash@{0}^3'
或者,只是“未跟踪”树本身,通过:
git show 'stash@{0}^3:'
或者,树中的特定“未跟踪”文件,通过:
git show 'stash@{0}^3:<path/to/file>'
不幸的是,没有什么好方法来总结所有 staged+unstaged+untracked 与“当前”状态之间的差异。 IE:git show 'stash@{0}'
无法包含未跟踪的文件。这是因为存储提交本身的树对象,称为stash@{0}:
,不包括第三个“未暂存”父级的任何更改。
这是由于重新应用存储的方式所致:跟踪的文件可以轻松地作为补丁应用,而理论上,未跟踪的文件只能作为“整个文件”应用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)