如何撤销Git中单个文件的修改?执行git stash -p报错如何解决?
报错原因
Git 2.37及以上版本调整了git stash的语法规则:旧版本支持git stash -p <文件名>的简写用法,新版本要求必须显式指定push子命令才能传递路径参数,否则就会触发你遇到的报错。
可用操作方案
根据你的实际需求选择对应方案即可:
- 若你需要暂存指定文件的改动、保留其他文件的改动在工作区,执行如下命令:
执行后会进入交互选择界面,按提示选择你要暂存的代码块即可。git stash push -p train.py - 若你不需要保留
train.py的改动,直接将该文件恢复到上次提交的干净状态,执行如下命令:
如果你使用的是2.23之前的旧版本Git,替换为以下命令:git restore train.pygit checkout -- train.py - 若你需要单独提交
train.py的改动、其他改动暂时不处理,直接单独暂存该文件后提交即可:
其余未暂存的文件改动会继续保留在工作区。git add train.py git commit -m "提交train.py相关修改"
内容的提问来源于stack exchange,提问作者pascalamin
相关产品推荐
相关产品推荐

