我在本地系统上设置了工作ssh密钥。现在我也尝试将项目推送到我的个人github帐户。
我在提交时更改了提交的作者。
在git log
上,我可以看到新作者。
commit 73344e555da22600723a8302b7d476787f2668e3 (HEAD -> master)
Author: A G <laun.biz@gmail.com>
Date: Wed May 29 00:35:41 2019 +0530
First Commit
我使用用户名和密码推送了它。
git push https://username:password@github.com/Laun/laun-api.git master
现在,当我去检查Github时,我明白了,
Laun and agupta-at-wellthie First Commit
Laun
是我的个人用户名,
agupta-at-wellthie
是我的工作帐户用户名。我做错了什么?
答案 0 :(得分:5)
我在提交时更改了提交的作者。
很好-但是您没有更改提交器。
每个提交都没有一个,但是有两个 “谁提交了该提交,何时”: author ,您可以用--author
覆盖它。 git commit
和 committer 中,该命令没有明显的命令行选项可以覆盖它。
可以通过六个环境变量分别覆盖所有六个部分:
GIT_AUTHOR_NAME
设置作者行的名称部分GIT_AUTHOR_EMAIL
设置作者行的电子邮件地址部分GIT_AUTHOR_DATE
设置作者行的日期和时间戳记部分GIT_COMMITTER_NAME
设置提交程序行的名称部分GIT_COMMITTER_EMAIL
设置提交者行的电子邮件地址部分GIT_COMMITTER_DATE
设置提交者行的日期和时间戳记部分如果不要使用环境变量覆盖各个部分,则它们默认为:
--author
,或者来自您在使用-c
或-C
引用的提交中的作者。在这种情况下,“您”的意思是:
user.name
中的设置,加上user.email
中的设置,加上因此,一种覆盖新提交中所有内容的方法(一种没有从现有提交中复制信息的方法)是通过user.name
或通过命令设置user.email
和git config
行:
git -c user.name='A U Thor' -c user.email='thor@example.com' commit
如果添加--author='Someone Else <else@example.com>'
,则此处的--author
部分将覆盖作者行,而提交者行将来自两个-c
部分(以及当前时间戳)。 / p>
如果要覆盖提交者时间戳,唯一的机制是使用GIT_COMMITTER_DATE
或更改计算机的时钟(可以满足要求,当然环境变量更容易,更安全,因为它不会打扰。其余的计算机。)