本地Git仓库SSH同步到Gitee(码云)仓库的完整指南(附:SourceTree同步仓库)

本地Git仓库使用SSH同步到Gitee仓库(码云)的完整指南

在代码开发中,将本地Git仓库与远程托管平台(如Gitee)同步是版本控制的核心操作。本文将详细介绍如何通过SSH协议(使用Ed25519加密算法)安全、高效地同步本地与Gitee仓库,结合现代加密技术提升安全性与性能。


一、为什么选择Ed25519加密算法?

Ed25519是一种基于椭圆曲线的现代数字签名算法(如知识库[2]、[4]所述),相比传统RSA算法有以下优势:

  1. 更高的安全性

    • 基于Edwards曲线设计,抗量子计算攻击能力更强。
    • 固定签名长度(64字节),减少侧信道攻击风险。
  2. 更快的性能

    • 签名和验证速度比RSA快3-4倍(尤其适合频繁推送的场景)。
    • 密钥生成时间更短,密钥长度仅为32字节(RSA通常为2048或4096位)。
  3. 更简洁的实现

    • 无需复杂参数配置,抗实现漏洞(如时序攻击)。

二、准备工作

1. 确认环境要求

  • 本地Git环境:已安装Git(未安装可前往Git官网下载)。
  • Gitee账号:已注册并登录Gitee(Gitee官网)。
  • SSH客户端支持:确保本地SSH版本支持Ed25519(OpenSSH 6.5+)。
  • git仓库图形化管理工具SourceTreeSourceTree官网
  • SSH客户端支持:Windows 10及以上系统默认支持OpenSSH,若需验证版本:
ssh -V
# 需确保版本为OpenSSH_8.1或更高,注意-V为大写

在这里插入图片描述


三、核心步骤详解

以Windows11系统为例

1. 配置git的用户信息与gitee进行匹配(本地操作)

此步骤非常重要,用户名和邮箱必须与 Gitee 注册信息一致,否则可能导致提交记录无法正确关联到你的账户。
要将本地 Git 用户信息与 Gitee 账户同步,主要是确保 用户名(user.name)邮箱(user.email) 与你在 Gitee 上注册的账户信息一致。以下是详细步骤和注意事项:

步骤 1:查看当前 Git 用户信息

在本地电脑win+r 输入cmd打开命令框,运行以下命令检查本地 Git 配置的用户名和邮箱:

git config user.name   # 查看用户名
git config user.email  # 查看邮箱

在这里插入图片描述

步骤 2:确认 Gitee 的用户信息

登录 Gitee 账户,进入 设置 -> 基本设置,找到你的 用户名注册邮箱
进入gitee(码云)官网,登录个人账号后
在这里插入图片描述
查看gitee码云用户名
在这里插入图片描述
查看提交邮箱地址
在这里插入图片描述
找到提交邮箱,如果还未设置进行设置
在这里插入图片描述

步骤 3:同步用户信息

如果本地 Git 的用户名或邮箱与 Gitee 不一致,可以通过以下命令修改(本地电脑操作):

git config --global user.name "Your Gitee Username"   # 设置全局用户名
git config --global user.email "your_gitee_email@example.com"  # 设置全局邮箱
  • 如果你希望仅针对某个仓库同步用户信息,可以去掉 --global 参数:
    git config user.name "Your Gitee Username"
    git config user.email "your_gitee_email@example.com"
    

2. 生成Ed25519 SSH密钥对(本地操作)

参考gitee官网:gitee生成添加SSH公钥

# 打开Git Bash或PowerShell(以管理员身份运行更安全)
ssh-keygen -t ed25519 -C "your_email@example.com"

# 回车三次(默认路径和空密码)
# 生成成功后,密钥文件路径为:
# 私钥:C:\Users\<你的用户名>\.ssh\id_ed25519
# 公钥:C:\Users\<你的用户名>\.ssh\id_ed25519.pub

提示:若需自定义密钥名称或路径,可替换路径:

ssh-keygen -f "E:\git\ssh\gitee_ed25519" -t ed25519 -C "11111111@qq.com"

操作演示在这里插入图片描述

输入命令生成密钥
在这里插入图片描述
按回车
在这里插入图片描述
再按回车
在这里插入图片描述
在这里插入图片描述

3. 将SSH公钥添加到Gitee

  1. 查看公钥内容
    找到生成密钥的路径,可以看到已经生成有两个秘钥,一个为私钥,.pub为公钥
    在这里插入图片描述
    用记事本打开.pub公钥文件查看复制内容
    在这里插入图片描述

  2. 登录Gitee添加公钥

    • 进入 设置 > 安全设置 > SSH公钥
    • 点击“添加公钥”,粘贴公钥内容并保存。
      登录进入码云后,点击个人头像进入设置
      在这里插入图片描述
      找到SSH公钥,复制粘贴刚刚生成的公钥
      在这里插入图片描述
      需要输入gitee账号密码进行验证操作
      在这里插入图片描述
      添加完毕后,可以看到已经有了一个秘钥,同时对应gitee的邮箱会有邮件提示,
      在这里插入图片描述

4. 配置SSH客户端

接下来我们需要找到默认SSH配置文件读取路径,点击左下角开始,查看windwos当前用户
在这里插入图片描述
进入C盘找到找到用户
在这里插入图片描述
进入当前登录的windwos用户名
在这里插入图片描述
找到.ssh文件夹
在这里插入图片描述
若需管理多个SSH密钥(如同时连接Gitee和GitHub),可在~/.ssh/config文件中添加配置:
现在需要新建一个config配置文件,来指向之前生成的秘钥,假设有gitee和github则分别进行配置

# 新建或编辑配置文件:
notepad config

# 添加以下内容:
# gitee
Host gitee.com
  HostName gitee.com
  PreferredAuthentications publickey
  IdentityFile E:\git\ssh\gitee_ed25519  # 替换为你的私钥路径
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile                      # 替换为你的私钥路径

在当前路径进入cmd命令框,执行notepad config 新建配置文件
在这里插入图片描述
填入配置信息保存
在这里插入图片描述
保存后修改文件扩展名,去掉txt
在这里插入图片描述

ssh连接测试,输入ssh -T git@gitee.com ,首次连接会弹出如下提示,输入yes即可,出现successfully表示成功
在这里插入图片描述


5. 关联本地仓库与Gitee远程仓库

5.1 新建gitee仓库

打卡码云官网,登录账号后新建仓库
在这里插入图片描述
填写仓库信息
在这里插入图片描述
在gitee新建完仓库后,可以安装示例的命令在本地的git仓库进行操作,也可以安装我的文档进行操作
在这里插入图片描述

场景1:已有本地仓库

新建一个,txt文档用于演示
在这里插入图片描述
在此文件下进入cmd命令框, 初始化当前文件夹为git仓库,执行git init
在这里插入图片描述
后续git操作步骤使用SourceTree进行演示,打开SourceTree添加git仓库
在这里插入图片描述
在这里插入图片描述
选择之前创建的git仓库
在这里插入图片描述
暂存文件
在这里插入图片描述
设置远端提交参考gitee地址
在这里插入图片描述
在这里插入图片描述
查看之前在gitee码云创建好的仓库,选择SSH复制地址
在这里插入图片描述
勾选默认远端,填写gitee码云URL地址
在这里插入图片描述
确定保存
在这里插入图片描述
设置SourceTree的SSH配置
在这里插入图片描述
选择之前生成好的ssh私钥(注意不是公钥!)
在这里插入图片描述

设置完毕后点提交
在这里插入图片描述
点击推送
在这里插入图片描述
勾选需要推送的远程仓库
在这里插入图片描述
成功推送到gitee远程仓库
在这里插入图片描述
在码云查看已推送文件
在这里插入图片描述

场景2:克隆远程仓库到本地

找到gitee码云仓库,复制对应的ssh地址
在这里插入图片描述
在这里插入图片描述

打开SourceTree 添加git仓库
在这里插入图片描述
选择克隆,复制gitee码云地址
在这里插入图片描述
可以看到对应的gitee仓库文件已经克隆下载成功
在这里插入图片描述
文件保存在克隆时选择的路径
在这里插入图片描述


四、常见问题与解决方案

1. 权限被拒绝(Permission denied)

  • 原因:SSH密钥未正确配置或未添加到Gitee。
  • 解决步骤
    1. 确认公钥已添加到Gitee的SSH公钥列表。
    2. 检查私钥文件权限(Windows默认权限通常足够,但需确保路径正确)。
    3. 重新测试SSH连接:
      ssh -T -i "C:\Users\<用户名>\.ssh\id_ed25519" git@gitee.com
      

2. SSH客户端未找到(‘ssh’ 不是内部或外部命令)

  • 原因:未安装OpenSSH或未添加环境变量。
  • 解决
    • 安装OpenSSH客户端:
      1. 进入 控制面板 > 程序 > 启用或关闭Windows功能
      2. 勾选 OpenSSH客户端,重启系统。
    • 确认路径已添加到系统环境变量。

3. 密钥文件路径错误

  • 解决
    • 确保路径使用反斜杠(\)或双引号包裹路径:
      ssh -i "C:\Users\用户名\.ssh\id_ed25519" git@gitee.com
      

五、总结

在Windows系统下,通过SSH(Ed25519加密)同步本地Git与Gitee仓库的操作与Linux系统类似,但需注意路径格式和环境配置。本文详细覆盖了从密钥生成、配置到代码推送的全流程,并提供了常见问题的解决方案。建议开发者:

  1. 优先使用Ed25519:安全性高且性能更优。
  2. 定期更新SSH密钥:避免密钥泄露风险。
  3. 使用Git Bash简化操作:Windows下推荐使用Git自带的终端工具。

附录:Ed25519与RSA的对比(Windows适用性)

特性Ed25519RSA
安全性更高(抗量子攻击)较低(依赖大数分解)
速度签名/验证快3-4倍较慢
密钥长度固定32字节(公钥64字节)需2048/4096位
Windows兼容性需OpenSSH 7.0+(默认支持)全平台兼容

通过选择Ed25519,不仅提升了开发效率,也为代码安全提供了更可靠的保障。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值