git status在哪里获取有关已更改文件的信息?

时间:2014-08-17 15:01:46

标签: git githooks git-status git-stage

Git status提供有关存储库中已修改文件的信息(位于未跟踪或暂存的文件中)我希望能够访问这些文件列表 - 在提交之前对这些文件执行一些代码质量检查通过执行。钩

如果我可以访问此文件列表,请告诉我。

顺便说一句,我是Git的新手。如果我在我的假设中犯了错误,那么就轻松告诉我

1 个答案:

答案 0 :(得分:0)

这将是一个 pre-commit hook ,就像evey git安装一样:templates/hooks--pre-commit.sample

更复杂的例子是项目git-pylint-commit-hook,例如,用于修改Python代码质量。钩子将检查以.py结尾的文件或包含python的#bang(#!)文件。

  

在您输入提交消息之前,首先运行pre-commit挂钩   它用于检查即将提交的快照,查看是否忘记了某些内容,确保测试运行,或检查代码中需要检查的内容。

     

从此挂钩退出非零会中止提交,但您可以使用git commit --no-verify绕过它。

     

您可以执行诸如检查代码样式(运行lint或等效的东西),检查尾随空格(默认挂钩就是这样),或检查有关新方法的相应文档。

在ruby中查看“Customizing Git - An Example Git-Enforced Policy”的更多示例:

files_modified = `git diff-index --cached --name-only HEAD`.split("\n")
  files_modified.each do |path|
    # do your checks
  end
end