在Azure DevOps流水线中获取PR变更文件时Git命令报错
解决Git Diff命令中'@~'歧义报错的方法
报错原因
fatal: ambiguous argument '@~': unknown revision or path not in the working tree. 这个错误是因为Git无法明确@~是版本引用还是工作目录中的路径,出现了解析歧义。
解决办法
方法1:用--分隔版本与路径
按照系统提示的格式,在版本参数后添加--,明确告知Git后续内容为路径(即使没有路径也可用来终止版本参数解析),修正后的命令:
git diff --name-only @~ @ --
方法2:使用更明确的版本指针
用HEAD~1替代@~(@等价于HEAD),Git对HEAD的识别更明确,不会产生歧义,命令如下:
git diff --name-only HEAD~1 HEAD
两种方法都能成功获取PR中变更的文件列表。
内容的提问来源于stack exchange,提问作者Sweta
相关产品推荐
相关产品推荐

