git - 使用非贡献者帐户推送
问题描述
您好,我对 git-hub 有点陌生,所以我不明白:
我是存储库的所有者,我尝试创建一个新的 git 帐户,然后在我的机器中调整了全局用户和电子邮件(其中有存储库所有者的帐户)并尝试推送到存储库。它在没有将新帐户添加为贡献者的情况下工作,并且没有提示我输入用户名和密码,这很奇怪。提交是使用非贡献者帐户的名称进行的,据我所知,只有贡献者可以进行更改,所以我问是否有一些我不理解或不应该知道的东西,因为我可能会在一个共享电脑,我不想在上面留下那种特权。
解决方案
这里有两组不同的标识。其中之一是user.name
and user.email
,它们是作为作者、提交者和标记值存储在提交中的个人姓名(不是用户名)和电子邮件地址。git show
当您执行或时,这些值会显示git log
。另一个是用于推送到您的托管服务提供商的凭据和用户名,例如 GitHub 或 GitLab。这两组标识是完全独立的。
大多数托管服务提供商允许您推送包含任何作者、提交者和标记者值的提交和标签。这是因为有一些项目,比如 Git 本身,工作流发生在邮件列表中,因此作者和提交者是两个不同的人,只有后者可以访问相关存储库。人们从其他分支中挑选补丁甚至只是提交其他同事的工作也很常见,在这种情况下,提交中列出的任何人都可能无法访问相关存储库。
因此,在这种情况下,听起来您的user.name
和user.email
值已设置为新帐户,但您使用旧凭据推送到项目。如果是这种情况,并且您想使用新凭据,则应在使用 SSH 时为新帐户创建新的 SSH 密钥,或者在使用 HTTPS 时更新远程 URL 以包含用户名,其中案例 Git 会提示您输入新密码。
对于 HTTPS,如果您的遥控器是https://github.com/git/git.git
并且您想将其更改为使用 account bk2204
,您可以这样写:
$ git remote set-url origin https://bk2204@github.com/git/git.git
推荐阅读
- android - 如何在单击按钮上从 RecyclerView 中的 TextView 和 Radio 按钮获取值?
- r - 如何将数据框转换为列表列表?
- css - 如何动态更新角度动画?(角度 8)
- list - 如何停止计算列表中的 nil 值
- html - 格式化 CSS 表格和表单
- shopify - change.js 不更改购物车页面 shopify 上的价格
- ckeditor5 - 如何在 CKEditor 5 中保留新行?
- base64 - 如何从 wkwebview 中的 base64 字符串加载 pdf
- react-native - React Native 和 React Navigation - 如何让屏幕标题显示在标题和底部选项卡导航器中也显示
- hibernate - 为单个瞬态对象创建重复条目