共同创作 Commits (2/2):部署 commit-msg 钩子
共同创作 Commits (2/2):部署 commit-msg 钩子
在博客的第一部分,我已经解释了如何使用 commit-msg 挂钩将多个作者信息添加到 git 提交中。
下一个问题是,将这个钩子放在系统中每个存储库的 .git 文件夹下的 hooks 文件夹中。
和 alias_list.json (解释在 第一篇文章 ) 还需要可用于每个存储库。为此,我将它放在通过环境变量设置的公共位置“ALIAS_JSON”中,并且在挂钩中引用了 env 变量。对 alias_list.json 中条目的任何添加或删除都可以在一个位置完成,并且同样适用于所有存储库。
commit-msg 钩子不能这样做,因为它存在于每个 repo 的 .git/hooks 文件夹中。为此,我使用了另一个小的 python 脚本,它将迭代文件系统并将 commit-msg 挂钩复制到每个 repo。相同的代码如下。
进口我们
进口舒蒂尔name.copy(“alias_list.json”,os.getv(“JSON_ALIAS”))
git_repo_list = []
对于 os.walk(os.getenv(“HOME”)) 中的根目录、目录、子目录:
对于目录中的 d:
如果('.git' == d):
git_repo_list.append(os.path.join(root, d))对于 git_repo_list 中的 repo:
shutil.copy(“commit-msg”,os.path.join(repo,”hooks”))
在这里,我使用 HOME 文件夹开始迭代,而不是它可能是所有 git 存储库所在的特定文件夹。
使用 commit-msg 钩子和在所有 git repos 中部署它的脚本,可以无缝地完成共同创作。要阅读有关共同创作的 commit-msg 钩子的更多信息,请访问 Co-authoring Commits (1/2) :在 GitHub 中与多个作者一起提交
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」