【发布时间】:2015-04-19 02:48:20
【问题描述】:
是否可以在个人电脑上同时使用github和bitbucket repo。
如果没有,请告诉我任何其他可能性。
提前致谢。
【问题讨论】:
是否可以在个人电脑上同时使用github和bitbucket repo。
如果没有,请告诉我任何其他可能性。
提前致谢。
【问题讨论】:
是的。您可以从每个存储库的配置文件中告诉 git 远程代码的位置。如果愿意,您甚至可以从同一个存储库推送到 GitHub 和 Bitbucket。
更多详情请看这里: http://blog.lckymn.com/2013/03/11/git-push-to-pull-from-both-github-and-bitbucket/
一个重要的部分将使用 SSH 分别连接到每个。
您的 SSH 密钥应位于 $HOME/.ssh 中,并且可以包含任意数量的密钥。 SSH 密钥的默认名称是 id_rsa(或类似名称,取决于用于创建它的协议)。
尝试做:
ls $HOME/.ssh
...看看里面有什么。
我按照您对我自己和对我的要求做的,这带来了类似的东西:
github-personal
github-personal.pub
bitbucket-work
bitbucket-work.pub
known_hosts
known_hosts 是一个文件,其中包含我连接到的服务器的列表以及与它们关联的公钥。其他以.pub 结尾的文件是我自己的公钥,其余的是我的私钥。
您可以按照相应的教程获取 GitHub 和 Bitbucket 密钥:
【讨论】:
在单台 PC 中为 github 和 bitbucket 添加 SSH 密钥的完整指南
如果您已经有一个 ssh 密钥,那么您必须在 .ssh 文件夹中有 2 个文件 public(id_rsa.pub) 和 Private key(id_rsa) 您可以跳过步骤 2
第 1 步。在执行第 2 步和第 3 步之前,准备好两个帐户都需要的默认身份
确定您的 Git 克隆 URL。 $ git远程-v
origin git@bitbucket.org:teamsinspace/bitbucketspacestation.git (fetch)
origin git@bitbucket.org:teamsinspace/bitbucketspacestation.git (push)
通过将 git@bitbucket.org 替换为 <username>@bitbucket.org,使用您的 Bitbucket 用户名更新远程 URL。
对于此步骤和后续步骤,请输入您的用户名来代替。
$ git remote set-url origin <username>@bitbucket.org:teamsinspace/bitbucketspacestation.git
第 2 步:使用默认名称 (id_rsa) 创建第一个 ssh 密钥
$ssh-keygen
您将看到以下文本:
Generating public/private RSA key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):
您可以输入密码来保护您的文件,也可以在所有步骤中按 Enter 键,然后它将创建一个 ssh 密钥。
系统默认将所有身份的key添加到/Users/<username>/.ssh目录
您可以通过以下命令检查已经存在的 ssh 密钥
$ls ~/.ssh
id_rsa id_rsa.pub
应该有两个文件,其中一个具有密钥名称 (id_rsa) 私钥,第二个具有相同 (ir_rsa.pub) 公钥。
您可以在主目录中通过ctrl + h 打开使其可见
然后就会显示出来
其次,如果您还没有,请创建您已知的主机文件
创建已知主机文件-
touch known_hosts
第 3 步:设置多帐户 ssh
3.1:使用默认名称创建第二个密钥
您可能正在使用一个 SSH 密钥对来处理公司的内部项目,但您现在可能需要一个不同的密钥来访问客户的服务器,以便您可以创建密钥
通过再次运行相同的命令ssh-keygen,它将创建名为[ id_rsa2 and id_rsa2.pub ]的第二个ssh密钥文件
3.2:使用自定义名称创建第二个键
ssh-keygen -f NAME_OF_YOUR_KEY
$ ssh-keygen -f work_key 它将创建 2 个文件
[ work_key, work_key.pub ]
如果想一次运行一个键,那么您可以在连接到该 repo 以进行拉取和推送之前使用此命令。
ssh-add -K ~/.ssh/YOUR_KEY_FILE
ssh-add -K ~/.ssh/work_key
第 4 步:同时设置两个帐户
如果您想同时设置两个帐户,则必须使用以下命令
第三次创建你的配置文件
创建配置文件
touch config 或直接在任何文本编辑器中打开,
这是一个 Github 和一个 Bitbucket 帐户的示例
Host : 你的 ssh 设置的名称,你可以给自定义名称 HostName : github 域或 bitbucket 域 IdentityFile : ssh 文件的路径
#Work account
Host pers
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
UserKnownHostsFile ~/.ssh/known_hosts
IdentitiesOnly yes
#Personal account
Host work
HostName bitbucket.org
User git
IdentityFile ~/.ssh/work_key
UserKnownHostsFile ~/.ssh/known_hosts
IdentitiesOnly yes
第 5 步:将您的公钥添加到 Bitbucket 或 github 帐户 对于比特桶 对于 Github [转到设置您的帐户 -> SSH 和 GPG 密钥]
第 6 步:永久添加您的公众
ssh HOST(我们在配置文件中写的)
像
ssh work
如果您遇到此错误,请确保您正确执行了第 4 步。
git@bitbucket.org: Permission denied (publickey).
或者也可以这样使用
现在你可以使用
git clone `git@pers/project.git`
git clone `git@work/project.git`
第 7 步:按我们要求的域名自动选择
一旦您需要使用第二个密钥,管理 SSH 密钥就会变得很麻烦。传统上,您会使用 ssh-add 将您的密钥存储到 ssh-agent,输入每个密钥的密码。问题是每次重新启动计算机时都需要这样做,这很快就会变得乏味。
如果您只有两个帐户,一个在 github,一个在 bitbucket,您可以使用以下方法自动选择我们要求的域名
#Work account
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
UserKnownHostsFile ~/.ssh/known_hosts
IdentitiesOnly yes
#Personal account
Host bitbucket.org
HostName bitbucket.org
User git
IdentityFile ~/.ssh/work_key
UserKnownHostsFile ~/.ssh/known_hosts
IdentitiesOnly yes
这里是进一步指导的链接
https://www.freecodecamp.org/news/the-ultimate-guide-to-ssh-setting-up-ssh-keys/ https://support.atlassian.com/bitbucket-cloud/docs/set-up-additional-ssh-keys/
【讨论】:
是的,可以在个人电脑上同时使用 github 和 bitbucket repo。
您可以设置多个 SSH 配置文件。
首先生成你的 SSH 密钥从你的根文件夹生成第一个密钥
$cd ~/.ssh
$ssh-keygen -f work_key,
然后输入您选择的密码。
生成第二个密钥
$ ssh-keygen -f personal_key,然后输入您选择的密码。
其次,创建已知主机文件
创建已知主机文件-touch known_hosts
第三次创建你的配置文件
创建您的配置文件touch config,然后它看起来像这样
#Work account
Host bitbucket.org
HostName bitbucket.org
User git
IdentityFile ~/.ssh/id_rsa
UserKnownHostsFile ~/.ssh/known_hosts
IdentitiesOnly yes
#Personal account
Host bitbucket.org
HostName bitbucket.org
User git
IdentityFile ~/.ssh/id_rsa2
UserKnownHostsFile ~/.ssh/known_hosts
IdentitiesOnly yes
然后将您的 SSH 密钥添加到 bitbucket。转到 bitbucket,设置,然后 SSH 密钥
pbcopy < id_rsa.pub(复制密钥)并将其粘贴到 bitbucket 中
【讨论】:
pbcopy < id_rsa.pub 周围的格式/文本装饰(仍然)看起来不太好。)
肯定是的。你可以先生成ssh密钥对,见How to generate,然后进入.ssh目录,复制id_rsa.pub的内容,粘贴到你的github或者bitbucket ssh设置区域。
【讨论】:
我使用 Sourcefree 桌面应用程序和我的 Gitbash 提示符 将我的项目同时推送到 Bitbucket 和 Github 存储库 以下是我所做的
右击打开你要推送的文件夹的 bash shell 首先你需要创建密钥,我建议使用相同的 ssh 密钥
创建密钥 ssh-keygen -t rsa -C "your_email@example.com"
进入文件夹目录 右键单击并单击 git bash 然后依次运行以下命令 混帐初始化 混帐添加。 git commit -m "第一"
打开您的无源桌面应用程序 点击+打开你的本地 回购文件 在 bitbucket 上创建 repo 然后点击回购图标 然后点击 repo 图标添加 名称:起源比特 url: "你创建的 repo 链接"
对于您的 bitbucket,您必须同时使用两者 如果您想使用公共 ssh 密钥和私有 ssh 密钥 公共和私有存储库
利用之前创建的 ssh 密钥 转到sourcefree App的工具图标 单击加载选项卡 然后使用 .ppk 扩展名重新保存它 保存与私钥和公钥相同的密钥 在同一目录中 不要输入密码以避免困难 保存它。
以便可以加载到选美图标
创建新密钥 转到 sourcefree 的工具图标 然后单击创建 ssh 密钥 将底部数字更改为 2048 但如果你无法改变它 首先创建一个新键,然后在提供的列周围拖动鼠标 以曲折的方式或任何形式一旦创建。 将 1048 更改为 2048 以便它可以在 bitbucket ssh 中接受 然后重新创建一个新密钥 然后将其保存为公钥和私钥
将密钥添加到选美比赛(检查您的桌面通知中是否有此选美比赛密钥图标) 添加私有 ssh 密钥和 ssh 公钥
转到您的 bitbucket 帐户设置 并添加两个 ssh 密钥的内容 以不同的方式命名它们
回到 bash shell
git 状态 git添加-A git pull originbit master git commit -m "修改后的代码" git push originbit master
在 github 上创建 repo 开源免费桌面应用程序 复制回购网址 然后点击回购图标 然后点击 repo 图标添加 然后推动 Sourcefree
【讨论】: