我尝试从存储中恢复单个文件,因此我需要文件的完整路径。但是如果我执行git stash show
,那么通常只显示一条短路径。
e.g。
$ git stash show
.idea/deployment.xml | 4 +-
.idea/test.iml | 4 +-
.idea/workspace.xml | 635 +++++++++++++++------
.../local/Black/NewsletterPopup/Block/Show.php | 13 +
.../local/Black/NewsletterPopup/etc/config.xml | 15 +
.../frontend/venedor/default/layout/popup.xml | 9 +
.../default/template/black/popup/index.phtml | 1 +
app/etc/modules/Black_NewsletterPopup.xml | 9 +
8 files changed, 505 insertions(+), 185 deletions(-)
有没有办法显示完整路径?
如果我执行git checkout stash@{0} -- .../local/Black/NewsletterPopup/Block/Show.php
然后我得到error: pathspec '.../local/Black/NewsletterPopup/Block/Show.php' did not match any file(s) known to git.
我已经 CTRL + F path
的{{3}}但未找到任何相关内容。
答案 0 :(得分:4)
您可以将git diff
- 类型格式选项提供给git stash show
,所以
git stash show --name-only
将是一种方式。
答案 1 :(得分:0)
这不是您问题的直接答案,但您可以git stash apply
,然后重置您不希望受藏匿处影响的文件。像这样:
git stash apply
然后
git checkout -- file1.ext
等等,对于您 希望受藏匿处影响的每个文件。
@Mark给出的答案似乎有效。但是,让我们说你藏了15个文件,你想要从这15个文件中的14个进行更改。然后,仅应用完整的存储和回滚一个文件比手动应用14个文件更方便。