我试图在两个具有相同文件的分支中执行Git。我想得到两个文件的区别。
我尝试将命令保存在变量中以获得结果。示例:GIT_DIFF=$($GIT_DIFF RB_202005:/test.txtrb_202006:/test.txt),然后打印变量(例如: echo $GIT_DIFF),但没有返回任何内容。
发布于 2020-05-12 07:19:03
由于您只对"no diff“、"diff”、"error“的情况感兴趣,所以我将运行
git diff --exit-code --quiet .....
--exit-code
按照正常diff
的方式设置退出代码。
--quiet
会抑制输出。
如果退出代码为0,则没有差异。
如果退出代码为1,则存在差异。
如果退出代码为2或128,则会出现致命错误。
正如OP在注释中指出的那样,更新了,如果要比较的文件不存在,git-diff --exit-code
将生成状态代码128。根据手册页,应该生成与标准diff
相同的退出代码,即2,因此最好将任何大于1的退出代码视为标准错误。这还会发现没有找到git
本身的情况(在这种情况下,shell可能会报告退出代码127)。
https://stackoverflow.com/questions/61742500
复制相似问题