use*_*585 20 git automation batch-file
我是处理git的新手,但我有一个包含名为'test'的文件的存储库.我想检查特定文件是否已更改.反正有吗?
从大局来看,我正在编写一个批处理文件,如果发生了任何变化(我已经使用干运行选项找出),它将执行存储库的git克隆,除了测试文件外(即使测试文件也是如此)已经改变了,我不想执行git克隆)
如果您需要任何澄清并感谢您的时间,请告诉我
Pet*_*ott 16
您可以传递文件或目录名称,git diff以仅查看对该文件或目录的更改.
如果您正在"编写批处理文件",那么--exit-code切换到git diff可能特别有用.例如.
git diff --exit-code test
要么:
git diff --exit-code path/to/source/dir
如果对名为test(或任何其他指定文件或目录)的文件进行更改,则返回1,否则返回0.(允许脚本在结果上分支.)
要仅查看已更改文件的名称(而不是完整的差异),请使用--name-onlyxor -s,根本不使用输出,而只使用退出代码.
GoZ*_*ner 12
运用
git diff test
Run Code Online (Sandbox Code Playgroud)
将显示工作目录test和存储库版本之间的差异.使用diff将显示实际差异; 如果你对这些用途不感兴趣
git diff --name-only test
Run Code Online (Sandbox Code Playgroud)
Git 不提供查询远程存储库历史记录的方法。Git 命令旨在针对本地存储库运行,因此您必须clone首先运行(fetch如果您之前克隆过一次,则会更便宜)。也就是说,有一些方法可以绕过这个限制: