一、前置准备:安装 Git 并初始化配置
在开始操作前,首先要确保本地已安装 Git,并完成基础的用户信息配置(这是 Git 提交记录的身份标识,必不可少)。
1. 安装 Git
- Windows :前往 Git 官方下载页 下载安装包,按向导完成安装(建议勾选 "Git Bash Here" 方便右键打开命令行)。
- Mac :通过 Homebrew 安装
brew install git,或从 App Store 安装 Xcode(自带 Git)。 - Linux :Debian/Ubuntu 系统执行
sudo apt install git,CentOS/RHEL 系统执行sudo yum install git。
2. 初始化 Git 全局配置
打开 Git Bash(Windows)或终端(Mac/Linux),执行以下命令配置用户名和邮箱(替换为你自己的信息):
bash
运行
# 配置用户名
git config --global user.name "你的用户名"
# 配置邮箱(建议与平台注册邮箱一致)
git config --global user.email "你的邮箱@example.com"
# 验证配置是否生效
git config --list
二、Gitee 操作指南
(一)Gitee + HTTPS 协议
HTTPS 是 Gitee 的默认协议,无需额外配置密钥,适合快速上手,核心是通过仓库的 HTTPS 地址进行克隆、推送和拉取。
1. 获取 Gitee 仓库的 HTTPS 地址
- 打开 Gitee 目标仓库页面,点击克隆 / 下载 ,选择HTTPS ,复制对应的地址(格式:
https://gitee.com/用户名/仓库名.git)。
2. 克隆远程仓库到本地
bash
运行
# 替换为你的 Gitee HTTPS 地址
git clone https://gitee.com/xxx/xxx.git
注意 :首次克隆或推送时,Git 会弹出用户名和密码输入框,输入你的 Gitee 账号密码即可(若开启了两步验证,需使用访问令牌代替密码,令牌可在 Gitee 个人设置 → 私人令牌中生成)。
3. 本地修改后推送到 Gitee
bash
运行
# 进入克隆的仓库目录
cd 仓库名
# 1. 暂存修改的文件
git add .
# 2. 提交到本地仓库
git commit -m "提交信息:如修复xxbug、新增xx功能"
# 3. 推送到 Gitee 远程仓库(首次推送建议指定分支,后续可简化)
git push origin master # 或 main(Gitee 新版默认分支为 main)
4. 拉取 Gitee 远程最新代码
bash
运行
# 直接拉取当前分支跟踪的远程代码
git pull
# 或指定远程和分支
git pull origin master
5. 解决 HTTPS 常见问题
-
SSL 证书验证失败 :若出现
unable to get local issuer certificate错误,可临时关闭 SSL 验证(仅应急用):bash
运行
git config --global http.sslVerify false -
每次推送都要输密码 :可配置 Git 缓存凭证,避免重复输入:
bash
运行
# 缓存凭证(默认15分钟,可修改超时时间) git config --global credential.helper cache # 永久缓存(Windows 推荐) git config --global credential.helper wincred
(二)Gitee + SSH 协议
SSH 协议通过密钥对认证,无需每次输入密码,更适合长期使用。核心是生成 SSH 密钥并将公钥添加到 Gitee。
1. 生成 SSH 密钥对
在 Git Bash / 终端执行以下命令(邮箱建议与 Gitee 注册邮箱一致):
bash
运行
# 生成 ED25519 类型密钥(更安全,也可使用 rsa 类型:ssh-keygen -t rsa -b 4096 -C "你的邮箱")
ssh-keygen -t ed25519 -C "你的邮箱@example.com"
执行后按回车默认生成密钥(无需设置密码,或按需设置),密钥文件会保存在 ~/.ssh 目录(Windows 为 C:\Users\你的用户名\.ssh),包含:
id_ed25519:私钥(重要,切勿泄露);id_ed25519.pub:公钥(需添加到 Gitee)。
2. 复制 SSH 公钥内容
bash
运行
# Linux/Mac 系统
cat ~/.ssh/id_ed25519.pub
# Windows Git Bash 系统
cat ~/.ssh/id_ed25519.pub
# Windows PowerShell 系统
type $HOME\.ssh\id_ed25519.pub
复制输出的公钥内容(以 ssh-ed25519 开头,以你的邮箱结尾)。
3. 将公钥添加到 Gitee
- 登录 Gitee,进入个人设置 → SSH 公钥 → 添加公钥;
- 粘贴复制的公钥内容,自定义公钥名称(如 "本地电脑"),点击确定。
4. 测试 SSH 连接
bash
运行
ssh -T git@gitee.com
若输出 Hi XXX! You've successfully authenticated, but Gitee does not provide shell access.,说明 SSH 连接成功。
5. 使用 SSH 地址操作仓库
-
克隆仓库 :
bash
运行
# 替换为你的 Gitee SSH 地址(格式:git@gitee.com:用户名/仓库名.git) git clone git@gitee.com:xxx/xxx.git -
推送 / 拉取代码 :与 HTTPS 协议操作一致,无需输入密码,直接执行
git push/git pull即可。
三、GitHub 操作指南
GitHub 的操作流程与 Gitee 基本一致,但由于网络环境差异,SSH 协议需注意端口问题,HTTPS 需处理 SSL 证书问题。
(一)GitHub + HTTPS 协议
1. 获取 GitHub 仓库的 HTTPS 地址
打开 GitHub 目标仓库页面,点击Code ,复制 HTTPS 地址(格式:https://github.com/用户名/仓库名.git)。
2. 克隆远程仓库到本地
bash
运行
git clone https://github.com/xxx/xxx.git
注意 :首次认证时,输入 GitHub 账号密码(若开启两步验证,需使用个人访问令牌(PAT) 代替密码,令牌可在 GitHub → Settings → Developer settings → Personal access tokens 中生成)。
3. 推送 / 拉取代码
bash
运行
# 暂存、提交(与 Gitee 一致)
git add .
git commit -m "提交信息"
# 推送到 GitHub
git push origin master # 或 main(GitHub 新版默认分支为 main)
# 拉取远程代码
git pull
4. 解决 GitHub HTTPS 常见问题
-
SSL 证书验证失败 :同 Gitee,可临时关闭 SSL 验证:
bash
运行
git config --global http.sslVerify false -
网络卡顿 / 连接超时:可配置 GitHub 镜像或代理(需确保代理可用)。
(二)GitHub + SSH 协议
GitHub 的 SSH 操作与 Gitee 类似,但部分网络环境会拦截 22 端口,需改用 443 端口(GitHub 提供了备用的 SSH 端口)。
1. 生成 SSH 密钥对(同 Gitee 步骤)
bash
运行
ssh-keygen -t ed25519 -C "你的邮箱@example.com"
2. 复制 SSH 公钥并添加到 GitHub
- 复制公钥内容(
cat ~/.ssh/id_ed25519.pub); - 登录 GitHub,进入Settings → SSH and GPG keys → New SSH key;
- 粘贴公钥内容,自定义名称,点击Add SSH key。
3. 配置 SSH 端口(解决 22 端口被拦截问题)
若直接连接 GitHub 的 22 端口出现 Connection refused 错误,需修改 SSH 配置:
-
打开 / 创建 SSH 配置文件: bash
运行
vi ~/.ssh/config -
添加以下配置: bash
运行
Host github.com Hostname ssh.github.com Port 443 User git -
保存退出(vi 编辑器按
Esc,输入:wq回车)。
4. 测试 SSH 连接
bash
运行
ssh -T git@github.com
若输出 Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.,说明连接成功。
5. 使用 SSH 地址操作仓库
-
克隆仓库 :
bash
运行
# 替换为你的 GitHub SSH 地址(格式:git@github.com:用户名/仓库名.git) git clone git@github.com:xxx/xxx.git -
推送 / 拉取代码 :直接执行
git push/git pull,无需输入密码。