我写了一个Git post-commit钩子,它工作正常.但是,我想添加此钩子以应用于我正在处理的所有当前(和将来)git存储库.我尝试将钩子添加到我~/.git/hooks/而不是项目目录中的hooks目录中,但是,这似乎不起作用.
有没有办法创建将应用于我的系统上的所有存储库的全局Git挂钩(无需将它们复制到每个项目目录中)?如果没有,那么最好的解决方案是什么 - 也许是一个git-init模板?
我有一个为git设置的提交模板,我想在其中包含当前分支的名称.我通常将分支设置为bug id,这将有助于我填写样板文件,例如:
Bug : $BUG
Run Code Online (Sandbox Code Playgroud)
如何使用git注释模板执行此类替换?
在一些(非常)罕见的情况下,我在我的存储库中进行了一些更改,这些更改是如此不言自明,以至于描述我的意图的提交消息有些无用.在这些情况下,我希望提交消息基本上只列出我添加/删除/编辑的文件.例如:
添加'dog.h','cat.h'
手动提交消息看起来像
添加了头文件
在这种情况下,不必实际编写提交消息,而是自动生成提交消息会很好.
我知道这是非常糟糕的做法,但我只会将此用于私人项目的非专业存储库.我知道这很懒,但我很好奇它是如何做到的.Unix shell脚本是首选,但欢迎使用任何解决方案.
问:有没有办法自动生成git提交消息,列出已更改的文件?
使用Git,如果您要提交,它会在提交消息下包含一个已注释掉的部分.其中包含有关编写提交消息的说明以及正在更改的文件列表.像这样:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: important-file.txt
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: some-other-thing.txt
# …Run Code Online (Sandbox Code Playgroud)