本地完成「新建 GitHub 仓库 react-ts-demo → 关联本地 React+TS 项目 → 提交初始代码」的完整操作流程

步骤 1:GitHub 官网新建仓库

(Repository name:react-ts-demo(必须和本地项目名一致,避免后续麻烦))

步骤 2:本地 Git 基础配置(首次使用必做)

(因为git config user.name已经配置了一个公用的,现在,这个是自学提升的,所以,这里配置的自学账号是只配置在当前仓库,不影响全局的公用账号的配置)

这个是查询到本地已经配置的全局公用账号:git config user.name 或者git config --list 查看更多git配置信息

javascript 复制代码
//配置个人 GitHub 用户名(替换成你的) 
git config user.name "你的个人GitHub用户名"
//配置个人 GitHub 邮箱(替换成你的) 
git config user.email "你的个人GitHub注册邮箱@xxx.com"

当直接进入本地项目文件夹中直接配置自学账号(仓库级配置:只对当前仓库生效,优先级高于全局配置(给个人项目单独配个人账号)),如上图所示遇到的 fatal: not in a git directory 报错,是因为执行 git config user.name 时,还没进入 Git 仓库目录,或者该目录还没初始化 Git

步骤 3:初始化 Git 仓库(关键!解决「not in a git directory」)

如果这个目录还没初始化 Git,先执行初始化(生成 .git 隐藏文件夹):

javascript 复制代码
// 初始化 Git 仓库(仅执行一次即可)
git init

执行后终端会提示:Initialized empty Git repository in xxx/react-ts-learning/.git/,说明初始化成功。

步骤4 继续完成关联 GitHub 仓库并提交代码

javascript 复制代码
// 1. 添加 .gitignore 文件(之前教过的内容,先创建好) 
// 2. 暂存所有文件 
git add . 
//3. 提交初始代码(此时用的是个人账号) 
git commit -m "初始化 React+TS 学习项目" 
//4. 关联 GitHub 远程仓库(替换成你的仓库地址) 
git remote add origin https://github.com/你的个人用户名/react-ts-learning.git 
//5. 推送代码(首次推送,输入用户名+PAT 即可) 
git push -u origin main

git push -u origin main 这条命令的具体含义: 把本地 main 分支的代码推送到名为 origin 的远程仓库,并将本地 main 分支与远程 origin/main 分支建立「追踪关系」 (后续推送 / 拉取可简化命令) -u:建立追踪关系(关键,全称 --set-upstream

如上图所示,执行 git push -u origin master 时遇到了 ! [rejected] master -> master (fetch first) 报错,核心原因是远程 Gitee 仓库的 master 分支已有内容(比如你在 Gitee 网页端勾选了初始化 README / 许可证),而本地仓库是全新的,Git 拒绝直接覆盖远程内容

解决方案:拉取远程内容并合并(推荐,保留远程文件)

这个方案会把远程的 README.md 等文件拉到本地,合并后再推送,既保留远程内容,又能上传你的代码,是最规范的做法:

步骤 1:拉取远程 master 分支内容并合并

javascript 复制代码
// 拉取远程 origin 仓库的 master 分支内容,并合并到本地 master 分支 
git pull origin master --allow-unrelated-histories

--allow-unrelated-histories:关键参数!因为本地和远程仓库是 "无关联历史"(本地是全新的,远程有初始化文件),不加这个参数会提示「fatal: refusing to merge unrelated histories」。

步骤 2:解决可能的合并冲突(如果有)

执行完 git pull 后,如果远程的 README.md 和你本地的 README.md 内容冲突(比如你本地也建了 README),终端会提示冲突文件,此时:

  1. 打开冲突文件(比如 README.md),会看到类似标记:
javascript 复制代码
<<<<<<< HEAD 
本地 README 的内容 
======= 
远程 README 的内容 
>>>>>>> origin/master
  1. 手动编辑保留需要的内容(比如保留远程的基础 README,补充你的学习笔记),删除冲突标记 <<<<<<</=======/>>>>>>>

  2. 保存文件后,执行以下命令标记冲突已解决:

javascript 复制代码
git add . 
git commit -m "合并远程 README 文件,解决冲突"

步骤 3:重新推送代码到远程

git push -u origin master

✅ 执行后就能成功推送,远程仓库会同时有你的 React+TS 代码和初始化的 README 文件。

相关推荐
借个火er1 天前
Chrome 插件开发实战:5 分钟上手 + 原理深度解析
前端
攀登的牵牛花1 天前
前端向架构突围系列 - 架构方法(一):概述 4+1 视图模型
前端·设计模式·架构
Hashan1 天前
Vue 3 中 v-for 动态组件 ref 收集失败问题排查与解决
前端·vue.js·前端框架
bobringtheboys1 天前
[el-tag]使用多个el-tag,自动判断内容是否超出
前端·javascript·vue.js
ccccc__1 天前
基于vue3完成领域模型架构建设
前端
Cherry的跨界思维1 天前
【AI测试全栈:Vue核心】19、Vue3+ECharts实战:构建AI测试可视化仪表盘全攻略
前端·人工智能·python·echarts·vue3·ai全栈·ai测试全栈
尽欢i1 天前
用 return“瘦身“if-else:让代码少嵌套、好维护
前端·javascript
程序员Agions1 天前
小程序"邪修"秘籍:那些官方文档不会告诉你的骚操作
前端·javascript
Charlo1 天前
手把手配置 Ralph -- 火爆 X 的全自动 AI 编程工具
前端·后端·github