在提交之前为用户制作git探针

问题描述

| 我们是一个开发团队,需要在实验室中的大型计算机上工作。这些机器由也进行开发的PC控制。实验室PC始终以相同的用户ID运行。问题是我们希望git commit消息由开发人员用户ID关联。一种方法是请求来到计算机上的每个用户手动运行一个脚本,该脚本执行以下操作:
git config user.name Foo baz
但问题是,这很容易被遗忘。 取而代之的是,我想到可以使用ѭ1probe钩子来探测用户的ID,然后运行上面的命令。但不幸的是,它不起作用,因为似乎在调用pre-commit钩子之前已经查询了user.name字段。 另一个丑陋的想法是使用提交后挂钩获取用户ID,然后根据用户输入的名称重写最后的提交消息。这行得通吗? 有人对此问题有解决方案吗?     

解决方法

        您可以将不同用户的配置文件存储在不同位置,然后编写一个在登录时运行的脚本,该脚本将ѭ2设置为指向用户的配置文件。查看
git help config
ENVIRONMENT
部分。 编辑:如果用户使用与其他用户相同的shell,则可以在ѭ5周围编写一个包装程序,以提示用户,设置环境变量,然后运行真实的
git
。     ,        我所做的是将全局配置user.name创建为:
git config user.name CONFIGUREMEINTHELOCALREPOxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
至少对于我的git(1.7.5.3)版本而言,它是一个968字节长的值,可以设置但永远不允许提交。
fatal: Impossibly long personal identifier
然后,您可以要求用户将环境变量(1)和/或本地git config变量设置为允许提交的合理值。 是的,这也假设用户将创建一个新会话(环境变量)或拥有一个私有存储库(本地配置)。如果人们共享同一个会话(进入控制台中不安全的预先登录),尽管您可以尝试让$ PROMPT_COMMAND检查空闲时间并取消设置变量或类似的内容,但我认为您可能很不幸。 ,或使用$ TMOUT自动注销。 (1)有关的环境变量:
       $GIT_AUTHOR_NAME
       $GIT_AUTHOR_EMAIL
       $GIT_COMMITTER_NAME
       $GIT_COMMITTER_EMAIL
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...