如何在BitBucket中更改git终端凭据?
我在本地计算机上有较旧的Bitbiket登录凭据。我需要把它改成我的工作证书。我该如何改变这一切?现在我正在尝试推送到我的工作登录凭据。我得到以下信息,我认为这是因为我需要更改登录凭据和ssh密钥如何在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
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密钥推送到远程服务器。