Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
如何在BitBucket中更改git终端凭据?_Git_Github_Bitbucket - Fatal编程技术网

如何在BitBucket中更改git终端凭据?

如何在BitBucket中更改git终端凭据?,git,github,bitbucket,Git,Github,Bitbucket,我在本地计算机上有较旧的Bitbiket登录凭据。我需要把它改成我的工作证书。我该如何改变这一切?现在我正在尝试推送到我的工作登录凭据。我得到以下信息,我认为这是因为我需要更改登录凭据和ssh密钥 myapp (master) ✔ git push -u origin master Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the

我在本地计算机上有较旧的Bitbiket登录凭据。我需要把它改成我的工作证书。我该如何改变这一切?现在我正在尝试推送到我的工作登录凭据。我得到以下信息,我认为这是因为我需要更改登录凭据和ssh密钥

myapp (master) ✔ git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

如果您可以生成一个新的ssh pubkey并将其添加到您的帐户中,会更好吗


如果您可以生成一个新的ssh pubkey并将其添加到您的帐户中会更好吗


一种可能的解决方案是在~/.ssh/config中设置git主机以及用于工作的私钥(例如
~/.ssh/id\u rsa\u work

Host workid
 HostName bitbucket.org
 IdentityFile ~/.ssh/id_rsa_work
然后将公钥添加到您的bitbucket帐户(即复制
cat~/.ssh/id\u rsa\u work.pub的内容,并在您的bitbucket帐户的ssh密钥部分使用它们)

然后你可以做一个

git clone git@workid:<accountname>/<reponame>.git

为了解决每个帐户的不同电子邮件和身份的问题,存在一种使用pre-commit hook的方法,详细说明见

,一种可能的解决方案是在~/.ssh/config中设置git主机以及用于工作的私钥(示例
~/.ssh/id\u rsa\u工作
。因此,将以下内容添加到
~/.ssh/config

Host workid
 HostName bitbucket.org
 IdentityFile ~/.ssh/id_rsa_work
然后将公钥添加到您的bitbucket帐户(即复制
cat~/.ssh/id\u rsa\u work.pub的内容,并在您的bitbucket帐户的ssh密钥部分使用它们)

然后你可以做一个

git clone git@workid:<accountname>/<reponame>.git
为了解决每个帐户的不同电子邮件、身份的问题,存在一种使用预提交钩子的方法,详细信息请参见

TL;DR

当我的ssh密钥从ssh代理中删除时,我经历了这种情况。我通过将其添加到ssh代理中解决了这个问题

长答案

在Macbook上安装更新后,我重新启动了。重新启动后,我首先处理(并推到bitbucket)一个个人项目。然后我想处理我的“工作”项目,并推到相应的repo。
git push
这次失败

设置
GIT\u SSH\u COMMAND=SSH-v
有助于识别正在使用我个人帐户的SSH密钥。然后我检查添加到SSH代理的密钥,只列出了我的个人帐户

$ ssh-add -l
3072 SHA256:xxx...xxx raiyan_kamal (RSA)
我还用ssh-T检查了

$ ssh -T
logged in as raiyan_kamal
...
我的工作帐户的SSH密钥是work_密钥,名称是raiyan@work.因此,现在我为我的代理添加了相应的密钥:

ssh-add <path to my work_key private key file>
现在,
git将
推到工作项目回购工作。

TL;DR

当我的ssh密钥从ssh代理中删除时,我经历了这种情况。我通过将其添加到ssh代理中解决了这个问题

长答案

在Macbook上安装更新后,我重新启动了。重新启动后,我首先处理(并推到bitbucket)一个个人项目。然后我想处理我的“工作”项目,并推到相应的repo。
git push
这次失败

设置
GIT\u SSH\u COMMAND=SSH-v
有助于识别正在使用我个人帐户的SSH密钥。然后我检查添加到SSH代理的密钥,只列出了我的个人帐户

$ ssh-add -l
3072 SHA256:xxx...xxx raiyan_kamal (RSA)
我还用ssh-T检查了

$ ssh -T
logged in as raiyan_kamal
...
我的工作帐户的SSH密钥是work_密钥,名称是raiyan@work.因此,现在我为我的代理添加了相应的密钥:

ssh-add <path to my work_key private key file>

现在
git push
到工作项目repo worked。

如果您使用的是密钥,则不需要凭据。将另一个密钥添加到BitBucket。您是否使用源代码树?我将密钥添加到BitBucket,但它有我的个人电子邮件地址,而不是我要推送到的与工作相关的电子邮件@isherwood@Mr.T没有终端,但我有来源tree@Beast_Co取消绑定电子邮件的密钥与您的bitbucket帐户不同。该密钥仅用于标识您自己,而您的bitbucket帐户+本地user.email/user.name设置将是提交中的设置。如果您使用的密钥不需要凭据。请将另一个密钥添加到bitbucket。是否使用源树?我已将该密钥添加到bitbucket中但它有我的个人电子邮件地址,而不是我想发送的与工作相关的电子邮件@isherwood@Mr.T没有终端,但我有来源tree@Beast_Code绑定到的密钥电子邮件与您的bitbucket帐户不同。该密钥仅用于标识您自己,而您的bitbucket帐户+本地user.email/user.name设置将处于启用状态提交中的es。我想这就是问题所在。我在BitBucket中为repo的部署密钥部分设置公钥。我刚刚将其添加到ssh密钥中,正如您所指出的。现在它按预期推送到远程服务器。我想这就是问题所在。我在BitBucket中为repo的部署密钥部分设置公钥。我刚刚添加了正如您所指出的那样,它将ssh密钥推送到远程服务器。