下面是我的测试CGI脚本:
#!/bin/bash
echo "$(date) - REQUEST_METHOD[$REQUEST_METHOD] \
GIT_COMMITTER_NAME[$GIT_COMMITTER_NAME] \
GIT_COMMITTER_EMAIL[$GIT_COMMITTER_EMAIL] \
REMOTE_USER[$REMOTE_USER] \
GIT_AUTHOR_NAME[$GIT_AUTHOR_NAME] \
GIT_AUTHOR_EMAIL[$GIT_AUTHOR_EMAIL]" >> /tmp/git_cgi_test.log
/usr/lib/git-core/git-http-backend在/tmp/git_cgi_test.log中的"git push“输出:
Thu Jul 7 11:07:28 CEST 2016 - REQUEST_METHOD[GET] GIT_COMMITTER_NAME[foo] GIT_COMMITTER_EMAIL[foo@exemple.loc] REMOTE_USER[auth_basic_user] GIT_AUTHOR_NAME[bar] GIT_AUTHOR_EMAIL[bar@exemple.loc]
Thu Jul 7 11:07:28 CEST 2016 - REQUEST_METHOD[POST] GIT_COMMITTER_NAME[foo] GIT_COMMITTER_EMAIL[foo@exemple.loc] REMOTE_USER[auth_basic_user] GIT_AUTHOR_NAME[bar] GIT_AUTHOR_EMAIL[bar@exemple.loc]=>似乎在CGI脚本中设置并可见web服务器环境变量。
裸git回购上的"git log“:
commit 688a98573c5a7559d0fdfb7ff823add3ba0e3a17
Author: remote_os_user <remote_os_user@remote_os_hostname>
Date: Thu Jul 7 11:07:22 2016 +0200
the commit comment
...=>既不是"foo“、"bar”也不是"auth_basic_user",而是"remote_os_user“:(
==>必须为git -http-后端设置哪些环境变量来覆盖最终裸git中的作者名称?
(我不控制远程投稿笔记本电脑上的user.name或user.email。我需要服务器端的覆盖)
发布于 2016-07-28 15:41:50
我也希望这样做,但是当您将提交推到中央git存储库时,不可能更改提交(不破坏它们)。参见这讨论。
https://stackoverflow.com/questions/38242339
复制相似问题