如果我使用个人帐户进行克隆,则不起作用。它说找不到存储库。这很有道理,存储库是私人的,而我的个人帐户不在其中。
所以我使用:
git clone https://<token>@github.com/.../....git
使用我在工作 github 帐户上生成的令牌。
这有效。
现在,如果我进行修改并推送(git add .
,git commit -s -m "something"
,git push
),它可以正常工作,但在存储库中,它显示好像我的个人帐户进行了推送,即使该帐户甚至不属于存储库。我坚持认为,我使用的令牌与该个人帐户无关。
我有点困惑,不知道该怎么办。我认为 git 凭证管理器把事情搞砸了,但我不知道是怎么回事。另外,既然我甚至没有使用我的个人帐户推送该存储库的“权利”,它又是如何工作的呢?令牌是否用于绕过安全性,然后显示的内容甚至不受“控制”?我的意思是,GitHub 是否由于令牌而允许推送事件,但提交本身包含本地 Git 配置中的作者信息,而这些信息可能不匹配?
我本来想发表评论,但我的声誉不够
我不确定我的答案,但一些提示可能有助于理解。
当你提交时,Github 使用 2 条信息:
身份验证:这由您使用的令牌处理。该令牌与您的工作 GitHub 帐户相关联,该帐户具有推送到存储库所需的权限。
提交作者信息:由您本地 Git 环境的配置决定。它使用您在 Git 设置中配置的姓名和电子邮件地址。
看来您的本地 Git 配置正在使用与您的个人 GitHub 帐户关联的电子邮件地址。
你可以使用以下命令检查你的 Git 配置:
取决于您可以更新的结果:
但是如果你不想更改全局配置,你可以为一个存储库设置作者信息: