【问题标题】:Where on my file system do I find a git pre-commit hook template?在我的文件系统上哪里可以找到 git 预提交钩子模板?
【发布时间】:2019-11-25 22:25:24
【问题描述】:

我想从某些文件中删除尾随行空格,我发现这个漂亮的脚本据说可以做到这一点——https://makandracards.com/makandra/11541-how-to-not-leave-trailing-whitespace-using-your-editor-or-git

建议“将以下代码附加到预提交挂钩模板”。

但是,我不知道那在哪里。
我在哪里可以找到/创建这样的模板?

【问题讨论】:

  • 查看 git 文件夹。尤其是在“.git/hooks”文件夹中。
  • 我想进一步说明@Philippe 的评论,因为对我来说,这条路径并不像~/ 那样离开~/.ssh 并不明显,而是每个项目,所以它我花了一段时间才终于找到我需要的是~/workspace/myproject/.git/hooks。希望能节省一些时间。

标签: git templates pre-commit-hook


【解决方案1】:

所有 Git 存储库都应按照包含 .git/hooks/hooks--pre-commit.sample 的模板创建

hooks--pre-commit 中重命名该文件,使其可执行(除非您在 Windows 上),并且该挂钩将在提交时自动触发,代码将放入 int 中。

你的文章其实指的是global hook

全局 git 挂钩位于 $PREFIX/share/git-core/templates/hooks(其中 $PREFIX 可能是 /usr/local/usr)。
pre-commit.sample 文件重命名为预先提交以激活它。

在 Windows 上,这将是:

c:\gits\current\mingw64\share\git-core\templates\hooks>l
total 41K
-rwxr-xr-x 1 dchaffiol 1049089 1.6K Nov  6 14:43 pre-commit.sample*

在 Mac 上,$PREFIX 将是 $(brew --prefix git) 或只是 brew --prefix,如 seen here

【讨论】:

  • 谢谢。 Mac 的 $PREFIX 是什么(我使用的是 Mac Mojave)
  • @Dave 可能是brew --prefix git的输出
  • @Dave 在回答你的赏金 (stackoverflow.com/a/59208885/6309) 后,你能告诉我这个答案是否(你之前的问题“我的文件系统在哪里可以找到 git 预提交挂钩模板?” ) 很满意,有什么遗漏的吗?
猜你喜欢
  • 2018-05-21
  • 1970-01-01
  • 2015-11-28
  • 2013-12-15
  • 1970-01-01
  • 2014-05-17
  • 2020-01-31
  • 2019-05-07
相关资源
最近更新 更多