零基础教程:如何用 Git 快速上传文件夹到 GitHub?

✅ 第一部分:首次推送

这是将你的本地项目“第一次”推送到 GitHub 的完整流程。

Step1:在 GitHub 上创建一个新仓库

  1. 登录你的 GitHub 账号,点击右上角的 + 号,选择 “New repository”
  2. 填写仓库信息
    • Repository name: 输入仓库名称(例如 my-project);
    • Description (可选): 添加项目描述;
    • Public / Private: 选择公开或私有;
  3. 关键!不要勾选 “Initialize this repository with a README”,(因为你的本地文件夹已经是一个项目,如果勾选了,GitHub 会创建一个初始提交,导致你本地和远程的历史不一致,后续需要处理合并问题。)最后点击 “Create repository”

Step2:初始化 Git 仓库,添加并提交文件

打开你的 命令行工具(如 Git Bash、Windows Terminal、CMD),并进入你的项目文件夹。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 进入你的项目文件夹
cd /path/to/your/my-project
# 例如:cd F:\my-project

# 初始化 Git 仓库(这会在文件夹里创建一个隐藏的 .git 文件夹)
git init

touch README.md # 创建一个空的 README.md 文件

# 将所有文件添加到暂存区
git add .

# 提交所有文件,并添加一条提交信息
git commit -m "Initial commit"

Step4:关联远程仓库

现在,你需要告诉 Git,你的本地仓库应该和哪个 GitHub 仓库同步。

  1. 在你刚创建的 GitHub 仓库页面,复制仓库的 HTTPS 地址(形如 https://github.com/你的用户名/仓库名.git)。
  2. 在命令行中运行以下命令:
1
2
# 添加远程仓库地址,命名为 "origin"
git remote add origin https://github.com/你的用户名/你的仓库名.git

🔔 origin 是远程仓库的默认名称,你可以理解为“源”。

Step5:首次推送(推送至 main 分支)

1
2
# 首次推送本地 main 分支到远程,并建立默认关联
git push -u origin main

💡 git branch -M main 命令将分支重命名为 main。如果你的本地分支是 master 或其他名字,可以先运行 git branch -M main 再推送。

不想关联了,可以使用git branch --unset-upstream,移除当前分支关联的远程跟踪分支,执行后使用 git branch -vv 查看,关联关系会消失。

首次上传

操作 命令
初始化本地仓库 git init
添加所有文件 git add .
提交文件 git commit -m "Initial commit"
关联远程仓库 git remote add origin <仓库地址>
首次推送 git push -u origin main

首次推送常见问题:

  • fatal: refusing to merge unrelated histories

    • 原因:你在创建仓库时不小心勾选了 “Add a README”,导致远程仓库有提交,而本地没有。

    • 解决:在推送前先拉取远程内容:

      1
      git pull origin main --allow-unrelated-histories
  • error: src refspec main does not match any

    • 原因:本地没有名为 main 的分支。

      1
      2
      3
      git branch -a              # 查看所有分支
      git checkout main # 切换到 main 分支(如果存在)
      git checkout -b main # 或新建 main 分支
    • 远程分支名不是 main 怎么办?

      如果远程分支是 master 或其他名称,替换 main 即可:

      1
      2
      3
      4
      5
      # 查看本地分支列表,并标记当前所在分支。
      git branch

      # 首次推送本地 master 分支到远程,并建立默认关联
      git push -u origin master

✅ 第二部分:后续推送

每次更新代码后的标准流程

当你修改了代码并想上传最新版本时,使用以下流程。

1
2
3
4
5
6
7
8
9
10
11
# 1. 查看文件状态(可选,用于确认哪些文件被修改)
git status

# 2. 将所有修改过的文件添加到暂存区
git add .

# 3. 提交本次更改,并写上清晰的提交信息
git commit -m "修复了登录页面的样式问题" # 只提交明确暂存的修改

# 4. 推送到远程仓库
git push

注意:因为首次推送时使用了 -u origin main,Git 已经记住了你的远程仓库和分支。所以后续只需简单的 git push 即可。

推送前的最佳实践:先拉取(Pull)

为了防止冲突,在推送前最好先拉取远程的最新更改,确保你的本地代码是最新的。

1
2
3
4
5
6
7
8
9
# 1. 拉取远程的最新代码
git pull

# 2. 如果有冲突,手动解决后,再提交
git add .
git commit -m "resolve merge conflicts"

# 3. 推送你的更改
git push

后续更新

操作 命令
拉取最新代码 git pull
添加修改的文件 git add .
提交本次修改 git commit -m "描述你的修改"
推送更新 git push

✅ 问题总结及命令速查

如何删除分支

以删除 main 分支为例,请按照以下步骤操作:

1
2
3
4
5
6
7
8
9
10
# 删除本地 main 分支
git checkout gh-pages # 切换到其他分支(不能删除当前所在的分支)

# 删除本地 main 分支
git branch -d main # 安全删除(会检查是否已合并)
git branch -D main # 强制删除(未合并也会删除)

# 删除远程 main 分支
git push origin --delete main
# 或者 git push origin :main

更新本地远程分支缓存;

1
git fetch --prune

核心命令速查

操作 命令
查看本地分支 git branch
查看所有分支(本地+远程) git branch -a
查看分支及上游关联 git branch -vv
查看当前状态 git status
查看远程仓库 git remote -v
1
2
3
4
5
git pull origin gh-pages   # 拉取并合并远程更新

git add .
git commit -m "修复页面布局"
git push origin gh-pages # 推送您的本地更改