我使用多个Git远程存储库,每个都需要不同的Git凭据(名称和邮件).
是否有任何解决方案,如脚本或最佳实践如何管理它们?
我知道"config --local",但我不想每次手动设置这些变量.
我最近创建了第二个GitHub帐户,分别是我的工作和我的私人项目(之前,我只有工作帐户).我将https与Windows凭据存储结合使用.要自动选择正确的帐户,我会按照此处的建议存储我的私人帐户信息~/.gitconfig和工作帐户信息.~/work/.gitconfig
不幸的是,当我尝试在我的私有存储库中推送更改时,我收到以下错误:
$ git push
remote: Permission to privateuser/privaterepo.git denied to workuser.
fatal: unable to access 'https://privateuser@github.com/privateuser/privaterepo.git/': The requested URL returned error: 403
Run Code Online (Sandbox Code Playgroud)
我将远程URL设置为git remote set-url origin https://privateuser@github.com/privateuser/privaterepo.git类似于此处的建议.推进我的工作回购仍然工作正常.当我输入git config user.name我的私人/工作回购时,我分别得到我的私人/工作用户名 - 应该是这样.
新的私有存储库有什么问题?为什么git仍然认为我是workuser,当我试图推送到我的私人回购?它是否必须对Windows Credential存储执行某些操作,我用它来存储我的工作凭据?它从未要求我私人帐户的密码......
目前我的电脑上有 GPG 签名设置,运行良好。这是使用我的公司电子邮件地址提交给我工作的公司的仓库所必需的。
不过,我也使用我的个人电子邮件地址在我自己的个人 git 帐户下为许多开源存储库做出了贡献。
问题是,每当我提交任何内容时,它想要提交为我的工作帐户而不是我的个人帐户,并且会弹出 GPG 签名窗口,要求我输入密码。
我设法让它停止使用这个。
git -c commit.gpgsign=false commit
Run Code Online (Sandbox Code Playgroud)
我一直在寻找一种永久的方法来关闭不同存储库的 GPG 签名。我已经将它们设置为在这些存储库中使用我的电子邮件,但我无法弄清楚如何让 GPG 停止使用这些存储库。
我的本地机器上有一个存储库。这个存储库有 2 个 git 遥控器。遥控器 A 和 B。
user.name X和user.email Y。user.name Z和user.email W。这可以在git中实现吗?如果是这样,如何?
我同时在几个项目中使用git.显然我有一个用户名等的全局设置.我想要维护的是不同项目的不同用户名,电子邮件等.怎么做到这一点?
我一直在尝试将我的项目从 xcode 推送到 github,但它不断给我一条错误消息,表明与服务的通信已中断。以前的提交和推送都有效,但现在坏了。我已经尝试过重新启动计算机和 Xcode,但仍然无法正常工作。我正在尝试用一些视频文件在这里推送大约 4-5 个提交。我在这里看到了类似的问题,但解决方案并没有真正帮助。
每当我尝试推送时,在长时间加载后都会收到此错误消息。提交有效,但推送无效。
我们公司使用许多定制的开源项目。每当我向上游分支机构捐款时,我都会更改为使用我的个人电子邮件地址/名称。有什么办法让每个分支都有gitconfig吗?
例如我想要的是
[remote 'gerrit']
name = 'Personal Name'
[branch 'origin']
name = 'Name in company'
Run Code Online (Sandbox Code Playgroud) 标题说,但我会更彻底地解释它:
我已根据建议使用命令配置了用户名和电子邮件:
git config --global user.name
git config --global user.email
Run Code Online (Sandbox Code Playgroud)
我可以验证这是通过执行设置git config --global --list,我得到以下输出:
core.user=Joshua Guerra
core.email=joshua@allianceconsults.net
core.editor=nano
push.default=simple
Run Code Online (Sandbox Code Playgroud)
我也可以通过这样做来验证它cat ~/.gitconfig,输出是:
# This is Git's per-user configuration file.
[core]
# Please adapt and uncomment the following lines:
user = Joshua Guerra
email = joshua@allianceconsults.net
[core]
editor = nano
[push]
default = simple
Run Code Online (Sandbox Code Playgroud)
所以,我已经确认它设置正确.但是,当我提交时,我仍然收到一条消息:
Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate.
You can suppress …Run Code Online (Sandbox Code Playgroud)