ToB企服应用市场:ToB评测及商务社交产业平台

标题: 如何在多个 Git 平台玩转一个堆栈 [打印本页]

作者: 铁佛    时间: 2024-5-22 08:13
标题: 如何在多个 Git 平台玩转一个堆栈

版本控制在软件开发中至关重要,而 Git 是广泛使用的代码管理工具。偶然,我们可能需要在多个平台  (如 GitHubGitLabGitee) 上同步同一 Git 堆栈,以便备份、协作等。
本文将带你玩转此操作,其中关键是“配置 SSH” 和“远程堆栈”。起首,我们来讲述 SSH 的配置。
配置 SSH

为确保安全和简化登录,需配置 SSH 密钥。SSH 密钥是用于身份验证的安全方式,可免密访问远程 Git 堆栈。
查抄现有 SSH 密钥

在生成新的 SSH 密钥之前,应该查抄本地电脑是否存在现有密钥。打开终端,输入一下下令以检察是否存在现有的 SSH 密钥。
  1. ls -al ~/.ssh
复制代码
此下令将列出 .ssh 目录中的所有文件(如果存在)。如果没有想要的,需要创建新的 SSH 密钥对。
生成新 SSH 密钥

在本地电脑上生成新的 SSH 密钥。 生成密钥后,可将公钥添加到 GitHub 等平台上的帐户中,以便通过 SSH 为 Git 操作启用身份验证。
打开终端输入一下下令,然后一起 Enter 键,完成密钥对的生成:
  1. ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_github
复制代码
在这个下令中:
相关链接:
编辑 ~/.ssh/config 文件

为了在一台电脑上配置多个平台的 SSH,你需要编辑 ~/.ssh/config 文件。以下是一个配置示例,分别配置了 GitHubGitLabGitee 的 SSH:
  1. # GitHub 配置
  2. Host github.com
  3.     HostName github.com
  4.     User git
  5.     IdentityFile ~/.ssh/id_github
  6.     PreferredAuthentications publickey,password  # 优先使用 SSH 公钥认证,然后再尝试用户名和密码认证
  7.     IdentitiesOnly yes
  8. # GitLab 配置
  9. Host gitlab.com
  10.     HostName gitlab.com
  11.     User git
  12.     IdentityFile ~/.ssh/id_gitlab
  13.     PreferredAuthentications publickey  # 仅使用 SSH 公钥认证
  14.     IdentitiesOnly yes
  15. # Gitee 配置
  16. Host gitee.com
  17.     HostName gitee.com
  18.     User git
  19.     IdentityFile ~/.ssh/id_gitee
  20.     PreferredAuthentications publickey  # 仅使用 SSH 公钥认证
  21.     IdentitiesOnly yes
复制代码
在这个配置中:
新增 SSH 密钥到平台帐户

配置 ~/.ssh/config 文件完毕后,必须将 SSH 公钥添加到 GitHubGitLabGitee,才能为帐户启用 SSH 访问。
相关链接:
测试 SSH 毗连

设置 SSH 密钥并将其添加到 GitHubGitLabGitee 后,可以测试毗连。
测试 SSH 毗连之前,应已完成以上所有步调。
打开终端,输入以下下令:
  1. ssh -T git@github.com          # 测试 Github 的 SSH 连接
  2. ssh -T git@gitlab.example.com  # 测试 Gitlab 的 SSH 连接。注意:要将 gitlab.example.com 替换为你的实例 URL
  3. ssh -T git@gitee.com           # 测试 Gitee 的 SSH 连接
复制代码
如果这是你第一次毗连,你应该会看到雷同以下消息,提示你需要验证平台主机的真实性:
  1. > The authenticity of host ' (IP ADDRESS)' can't be established.
  2. > ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
  3. > Are you sure you want to continue connecting (yes/no)?
复制代码
输入 yes,然后按 Enter。
  1. > Hi USERNAME! You've successfully authenticated, but GitHub does not
  2. > provide shell access.
复制代码
添加成功后,就可以使用 SSH 协议访问这些平台了。例如,你可以使用 git clone <远程仓库URL>git@github.com/username/repository.git 来克隆 GitHub 上的堆栈,SSH 会根据 ~/.ssh/config 文件中的配置来选择合适的私钥进行身份验证。
相关链接:
我们为电脑配置完 SSH 后,接下来为本地 Git 堆栈添加多个远程平台的堆栈链接。
配置远程堆栈

没有 Git 堆栈

为 Git 堆栈添加多个远程平台的堆栈的前提是得有个本地 Git 堆栈。如果你还没有,可以用以下下令初始化一个。
  1. cd your_folder
  2. git init --initial-branch=main
复制代码
已经有 Git 堆栈

如果你已经在其中一个平台上有个 Git 堆栈,你可以使用以下下令将其克隆到本地。
  1. git clone <远程仓库URL>
复制代码
然后,cd 到新初始化、或者克隆下来的堆栈目录,添加其他平台的远程堆栈链接
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4