在Windows系统下,通过SSH协议 将本地项目上传到Gitee远程仓库 https://gitee.com/javatoai/car_price_prediction_cloud(需要提前建好新仓库),请按照以下步骤操作(全程使用Git Bash或CMD均可,推荐Git Bash):
前提准备
- 确认Git已安装 :
打开CMD/Git Bash,输入git --version,若显示版本号则已安装;未安装则下载:Git官网。 - 确认SSH密钥已配置到Gitee (核心!SSH协议依赖密钥):
-
检查本地SSH密钥:在Git Bash中输入
cd ~/.ssh && ls,若能看到id_rsa(私钥)和id_rsa.pub(公钥),说明已生成; -
若未生成密钥,执行:
bashssh-keygen -t rsa -C "你的Gitee绑定邮箱"全程按回车(无需设置密码),密钥会生成在
C:\Users\你的用户名\.ssh目录下。 -
复制公钥内容:
bashcat ~/.ssh/id_rsa.pub打开Gitee → 个人设置 → SSH公钥 → 粘贴公钥内容 → 保存。
-
验证SSH连接:
bashssh -T git@gitee.com若提示
Hi XXX! You've successfully authenticated,说明配置成功。
-
核心上传步骤
步骤1:进入本地项目目录
打开Git Bash/CMD,切换到你的项目根目录(示例):
bash
cd D:\projects\car_price_prediction_cloud # 替换为你的实际路径
步骤2:初始化本地Git仓库(首次上传需执行)
若项目还未关联Git仓库,执行初始化:
bash
git init
步骤3:关联Gitee远程仓库(SSH地址)
注意:Gitee仓库的SSH地址不是HTTPS地址,需先获取:
- 打开Gitee仓库页面(https://gitee.com/javatoai/car_price_prediction_cloud);
- 点击「克隆/下载」→ 选择「SSH」→ 复制地址(格式:
git@gitee.com:javatoai/car_price_prediction_cloud.git)。
执行关联命令:
bash
# 关联远程仓库,命名为origin(默认名称)
git remote add origin git@gitee.com:javatoai/car_price_prediction_cloud.git
# 若之前已关联过origin,先删除旧关联:git remote rm origin,再重新关联
步骤4:添加本地文件到暂存区
bash
git add . # 上传所有文件(推荐)
# 或指定文件:git add 文件名/文件夹名
步骤5:提交到本地仓库
bash
git commit -m "首次提交:汽车价格预测项目初始化" # 替换为你的提交备注,必填
步骤6:推送到Gitee远程仓库
情况1:远程仓库为空(无任何文件)
直接推送(默认分支为main或master,根据Gitee设置):
bash
# 首次推送需加 -u 绑定分支,后续可直接 git push
git push -u origin main # 若Gitee默认分支是master,替换为 git push -u origin master
情况2:远程仓库已有文件(如README.md)
先拉取远程仓库内容合并,再推送(避免冲突):
bash
# 拉取远程分支内容
git pull origin main --allow-unrelated-histories # 允许无关联历史合并(首次合并可能需要)
git pull origin main (报错可以尝试)
# 若出现冲突,手动解决冲突后,重新执行 git add . 和 git commit -m "解决冲突"
# 再推送
git push -u origin main
验证上传结果
打开Gitee仓库页面,刷新后即可看到本地项目文件已上传。
常见问题解决
-
推送失败:fatal: remote origin already exists
原因:已关联过origin,执行
git remote rm origin删除旧关联,再重新执行git remote add origin ...。 -
SSH连接超时/拒绝
- 检查网络,确保未被防火墙拦截;
- 确认Gitee的SSH公钥未过期,且本地私钥(id_rsa)未被修改/删除;
- Windows下若提示
Permissions for 'id_rsa' are too open,需修改私钥权限:
右键id_rsa文件 → 属性 → 安全 → 高级 → 禁用继承 → 删除所有用户(仅保留当前用户)→ 应用。
-
分支名称不匹配
查看Gitee仓库默认分支:仓库页面 → 管理 → 分支管理 → 查看默认分支,推送时对应分支名称即可。
首次合并冲突
git bash 页面出现 Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit.
这个提示是 Git 自动触发了合并提交的信息编辑环节 (因为你执行了git pull --allow-unrelated-histories,Git 需要你为这次「本地与远程分支的合并」填写一条提交说明),并非报错,按以下步骤操作即可(默认编辑器是 Vim,新手重点看按键操作):
核心操作步骤(Vim 编辑器)
-
(可选)输入合并说明
直接在光标处输入你想写的合并原因(比如
merge remote master branch: sync remote README.md),不用管以#开头的注释行(这些会被 Git 忽略)。✅ 建议填写:方便后续回溯这次合并做了什么,比如简单写
merge origin/master to local master即可。 -
保存并退出(关键!)
Vim 编辑器的操作逻辑:先按
Esc键退出「输入模式」,再输入指令:- 输入
:wq(含义:w=保存,q=退出); - 按回车键(Enter)确认。
执行完后,Git 会完成合并提交,你就可以继续执行
git push -u origin master了。 - 输入
补充场景操作
场景1:不想写说明,直接用默认信息保存
不用输入任何内容,直接按 Esc → 输入 :wq → 回车即可(Git 会用默认的合并信息提交)。
场景2:放弃这次合并(不想继续了)
如果后悔合并,想退出并取消这次操作:
按 Esc → 输入 :q!(含义:q=退出,! = 强制放弃修改)→ 回车。
⚠️ 注意:这会取消本次 git pull 的合并操作,需要重新评估是否要合并。
新手友好:避免下次弹出这个编辑器(可选)
如果觉得 Vim 操作麻烦,可以把 Git 默认编辑器改成记事本(Windows 系统):
在 Git Bash 中执行:
bash
git config --global core.editor notepad
之后再遇到需要填写提交信息的场景,会自动弹出记事本,编辑后保存关闭即可,更符合 Windows 操作习惯。
操作完验证
保存退出后,Git 会输出类似以下内容,说明合并提交成功:
[master 1234567] merge origin/master to local master
此时再执行 git push -u origin master 就能正常推送了。
后续更新代码(日常操作)
若本地代码修改后,只需执行:
bash
git add .
git commit -m "修改:修复XX问题"
git push # 无需再加 -u,已绑定分支