共同创作 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 版权协议,转载请附上原文出处链接和本声明