Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
脚本使github帐户之间的切换更容易?_Git_Batch File_Sh - Fatal编程技术网

脚本使github帐户之间的切换更容易?

脚本使github帐户之间的切换更容易?,git,batch-file,sh,Git,Batch File,Sh,我使用ssh密钥对设置了两个github帐户。可能会让人恼火的是,我必须为每个回购协议设置user.name和user.email。我想要这样的东西: git switch {account} 我不认为git提供了这样的功能,所以我想制作一个.bat/.sh脚本来在帐户之间切换。如何打开一个文件(如~/account1)并从中读取数据(in.bat/.sh)user.name/user.email与用于推送到GitHub的帐户无关 它们只影响提交作者在GitHub上的显示方式 而且这种配置可以

我使用ssh密钥对设置了两个github帐户。可能会让人恼火的是,我必须为每个回购协议设置user.name和user.email。我想要这样的东西:

git switch {account}

我不认为git提供了这样的功能,所以我想制作一个.bat/.sh脚本来在帐户之间切换。如何打开一个文件(如~/account1)并从中读取数据(in.bat/.sh)

user.name/
user.email
与用于推送到GitHub的帐户无关

它们只影响提交作者在GitHub上的显示方式

而且这种配置可以在每个存储库中设置,这意味着在切换repo时不必更改它

 cd /path/to/repo1
 git config user.name account1
 git config user.email account2
注册到GitHub帐户的公钥是对您进行身份验证的公钥

您的
~/.ssh/config
文件可以引用正确repo的正确密钥,如中所述

您需要相应地更改远程回购URL:

cd /path/to/local/repo
git remote set-url origin github1:account1/repoA

github1
”是一个
主机
名称部分,引用了正确的ssh公钥。

我也是这么想的。当推送account2时(我以前使用过带有https的account1,因此这是全局user.name和user.email),我会进行身份验证,输入关键字短语,但仍然推送account1。只有在更改user.name和user.email之后,我才能推送表单account2。@在您的情况下,不需要使用带有密码短语的ssh私钥。再说一次,user.name/email与用于推送的帐户没有任何关系。然后我如何使用链接到完全不同的ssh密钥的帐户推送?我推了一下,它问我id_rsa_account2的关键词,但还是用account1@robert您的远程URL(在使用GitRemote-v时显示)实际上是SSH URL吗?还是HTTPS?@robert当您执行
git config-l--show origin
时,您是否看到任何
而不是
指令?