Jam*_*mie 33 git build-process makefile
在make期间,我创建了我嵌入链接输出中的字符串字段.很有用.
除了命令的复杂sed/ grep解析之外git status,如何轻松确定工作空间中的文件是否已根据git?进行修改?
Chr*_*sen 52
如果你只想要一个简单的"与HEAD有什么不同吗?":
git diff-index --quiet HEAD
Run Code Online (Sandbox Code Playgroud)
如果退出代码为0,则没有差异.
如果你想"从HEAD改变了哪些文件?":
git diff-index --name-only HEAD
Run Code Online (Sandbox Code Playgroud)
如果你想"从HEAD改变哪些文件,以及改变(添加,删除,更改)的方式有哪些?":
git diff-index --name-status HEAD
Run Code Online (Sandbox Code Playgroud)
如果要重命名(和复制)检测,请添加-M(和-C).
这些命令将检查暂存的内容(索引中的内容)和工作树中的文件.类似的替代方法git ls-files -m只会针对索引检查工作树(即它们将忽略工作树中也存在的任何暂存(但未提交)内容).
Chr*_*röm 37
git ls-files -m
要找到这个你可以浏览git help -a.
对于 git hooks,我发现这个命令很有用
git diff-index --exit-code --ignore-submodules HEAD
Run Code Online (Sandbox Code Playgroud)
例如
//run some static analysis check that can change the code
something_changed=`git diff-index --exit-code --ignore-submodules HEAD`
if [ -n "$something_changed" ]
then
echo >&2 "Something changed in $local_ref, not pushing"
exit 1
fi
Run Code Online (Sandbox Code Playgroud)