目录
[4、在 GitHub 上创建空仓库](#4、在 GitHub 上创建空仓库)
[1.打开Git Bash](#1.打开Git Bash)
[2、创建并切换分支(以现代默认的 main 为例):](#2、创建并切换分支(以现代默认的 main 为例):)
前言
还记得我第一次尝试使用Git命令行将项目上传到GitHub的那个下午。原本以为简单的git push几下就能搞定,却没想到迎面撞上的是一连串冰冷的"fatal"错误。权限拒绝、分支失踪、远程冲突... 每一个问题都让我在搜索引擎和论坛帖子之间反复横跳,倍感挫折。
如今,这些曾让我束手无策的问题,都已变成了宝贵的经验。我写下这篇博客,就像为过去的自己写下一份详细的攻略。我希望通过分享这段从困惑到清晰的旅程,能让你绕过我曾掉入的那些"坑"。本文将系统性地梳理从本地到远程的完整流程,带你亲身体验从输入第一行git init到最终看到推送成功的完整过程。让我们一起,把令人沮丧的"fatal error",变成令人振奋的
"You've successfully authenticated"!
一、准备工作
1、安装git
前往 Git 官网https://git-scm.com/ 下载并安装 Git,这里面包含了所有git命令的基础



下载好了之后直接点击安装即可
2、验证安装
安装后,在任意地方右键 ,选择 Git Bash Here,运行 git --version 看到版本号即安装成功

3、配置用户信息
在 Git Bash 中运行以下命令(只需做一次):
这里名字和邮箱都是你github上填写的信息
bash
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

为什么:你每次提交代码都会附带这些信息,用于标识作者身份。这是必需的步骤。
4、在 GitHub 上创建空仓库
登录 GitHub,点击右上角 + -> New repository。输入仓库名(Repository name),不要勾选 Initialize this repository with a README。
为什么:我们需要一个空的远程仓库来接收我们的文件。不初始化 README 可以避免后续合并冲突。

这样我们的第一阶段就大功告成!
二、本地仓库初始化与连接
1.打开Git Bash
这里我用一个自己跑过的一个项目来做演示
2.初始化Git仓库
运行 git init

- 为什么 :这个命令会在你的当前文件夹内创建一个隐藏的
.git
子目录。Git 用它来跟踪管理你这个文件夹里所有文件的变更历史。这是一切的起点。
3.链接远程仓库
运行命令(替换自己对应的 用户名
和 仓库名
):
git remote add origin git@github.com:用户名/仓库名.git
-
例子 :
git remote add origin git@github.com:qingruxu-dw/My-Awesome-Project.git
-
为什么 :这条命令给你的本地仓库起了一个叫
origin
的绰号,指向你在 GitHub 上创建的那个远程仓库。这样你以后就可以用origin
来代表那个复杂的网址。
三、处理文件与提交
1、检查并设置分支(关键步骤!)
- 做什么 :首先,检查远程仓库默认的分支名是什么(GitHub 现在默认是
main
,旧的是master
)。
bash
git ls-remote --heads origin
如果输出显示有 main,你就需要创建 main 分支。
如果显示有 master,你就创建 master 分支。
2、创建并切换分支 (以现代默认的 main
为例):
bash
git checkout -b main
- 为什么 :确保你的本地分支名和远程默认分支名一致,可以避免很多麻烦。
checkout -b
是"创建并立即切换"到新分支的命令。

**注意:**这里实际情况我们发现在初始化文件后,我们已经自动进入到master分支下了,那么就不用再运行上述创建和切换分支了
3、添加文件到"暂存区"
- 运行命令:git add .
为什么:. 代表"当前目录下的所有文件和更改"。这个命令不是直接上传,而是把你想要提交的文件打包到一个叫做"暂存区"(Staging Area)的地方。你可以把它想象成网购时的购物车,add 就是把商品加入购物车,但还没有付款。
- 提交文件到"本地仓库"
运行:git commit -m "清晰描述本次提交的内容"(这里双引号""中的内容就是描述你本次的提交是什么东西)

-
例子 :
git commit -m "添加项目初始文件:数据集、训练脚本和文档"
-
为什么 :
commit
就是"付款"并拿到收货单 。它给"购物车"里的所有文件拍了一张快照,并永久保存在你的本地仓库中。-m
后面的信息就是这张快照的备注,至关重要,一定要写清楚这次提交做了什么
四、推送到远程仓库
1、首次推送并建立跟踪
运行 git push -u origin main(master)
注意你自己已有的分支是master还是main!!!

-
为什么 :这是最终步骤!
push
命令将你在本地提交(commit)的所有内容上传到 GitHub 的远程仓库(origin)。-
-u
(即--set-upstream
):这是首次推送时最重要 的参数。它建立了你本地main
分支和远程origin/main
分支的永久链接。 -
设置好这个链接后,以后在这个分支上,你只需要输入
git push
或git pull
,Git 就知道自动和哪个远程分支同步,无需再指定。
-
回到我们的project仓库的master分支我们就会发现所有的文件都已经上传好啦!

出现上图的情况表示你已经推送成功!congratulations!🎇
2、后续的常规推送
以后如果你修改了文件夹里的文件,只需要重复以下三步即可:
git add . # 将更改加入"购物车"
git commit -m "描述新的修改" # "付款"并生成新的快照
git push# 上传最新的快照到远程仓库。因为建立了跟踪,所以不用再写origin main
总结
本文是一篇Git及GitHub使用指南,详细介绍了从零开始将本地项目上传至GitHub的全过程。作者以亲身经历为引,重点讲解了四大核心步骤:1)Git安装与配置;2)本地仓库初始化与远程连接;3)文件添加与提交规范;4)首次推送及后续同步操作。文章特别强调了分支命名一致性、commit信息规范等易错点,并解释了每个命令背后的原理(如-u参数建立分支跟踪)。通过购物车等生活化比喻,帮助读者理解暂存区、提交等概念,最终实现从"fatal error"到成功推送的完整流程。