如何让git stash show显示完整文件路径?解决恢复暂存文件路径错误
解决Git Stash显示完整路径及恢复单个文件的问题
别发愁,这两个问题都有简单的解决办法,我一步步给你说:
让git stash show显示完整路径
默认情况下git stash show会截断长路径,你可以用以下几种方式获取完整路径:
查看补丁详情(同时获取完整路径和修改内容)
用-p(或--patch)参数,这个命令会输出每个文件的完整路径,还能看到具体的代码改动,非常实用:git stash show -p stash@{0}调整统计输出宽度
如果只需要完整路径不需要补丁内容,可以通过--stat指定足够大的宽度,让Git不截断路径:git stash show --stat=1000 stash@{0}这里的
1000是宽度值,只要比你的最长路径长就行。仅列出完整路径
用--name-only参数,直接输出所有修改文件的完整路径列表:git stash show --name-only stash@{0}
正确恢复单个文件
你之前用短路径失败是因为Git无法识别截断的.../local/路径,除了先获取完整路径再执行checkout,还有更简便的方法:
用git restore(推荐,Git 2.23+)
新版本Git推荐用restore命令来恢复文件,指定 stash 作为源即可:git restore --source=stash@{0} -- app/code/local/Black/NewsletterPopup/Block/Show.php用git checkout(兼容旧版本)
拿到完整路径后直接执行:git checkout stash@{0} -- app/code/local/Black/NewsletterPopup/Block/Show.php通配符匹配小技巧
如果你记不清完整路径,还可以用通配符让Git自动匹配:git checkout stash@{0} -- *Black/NewsletterPopup/Block/Show.php
内容的提问来源于stack exchange,提问作者Black
相关产品推荐
相关产品推荐

