将本地项目上传到github

89 阅读4分钟

1.在github上创建空仓库

登录 GitHub,点击右上角 + -> New repository。输入仓库名(Repository name),不要勾选 Initialize this repository with a README。

为什么:我们需要一个空的远程仓库来接收我们的文件。不初始化 README 可以避免后续合并冲突。

image.png

2.本地仓库初始化与连接

image.png 运行git init,这个命令会在你的当前文件夹内创建一个隐藏的 .git 子目录。Git 用它来跟踪管理你这个文件夹里所有文件的变更历史。这是一切的起点

git remote add origin git@github.com:用户名/仓库名.git:这条命令给你的本地仓库起了一个叫 origin 的绰号,指向你在 GitHub 上创建的那个远程仓库。这样你以后就可以用 origin 来代表那个复杂的网址

image.png

3.处理文件与提交

3.1检查并设置分支

首先,检查远程仓库默认的分支名是什么(GitHub 现在默认是 main,旧的是 master

git ls-remote --heads origin

如果输出显示有 main,你就需要创建 main 分支。

如果显示有 master,你就创建 master 分支。

image.png

3.2添加文件到暂存区

git add .. 代表“当前目录下的所有文件和更改”。这个命令不是直接上传,而是把你想要提交的文件打包到一个叫做“暂存区”(Staging Area)的地方。你可以把它想象成网购时的购物车,add 就是把商品加入购物车,但还没有付款。

****git commit -m "清晰描述本次提交的内容"(这里双引号“”中的内容就是描述你本次的提交是什么东西)

commit 就是“付款”并拿到收货单。它给“购物车”里的所有文件拍了一张快照,并永久保存在你的本地仓库中。-m 后面的信息就是这张快照的备注,至关重要,一定要写清楚这次提交做了什么

4.推送到远程仓库

4.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仓库的main分支我们就会发现所有的文件都已经上传好啦

image.png

4.2后续的常规推送

以后如果你修改了文件夹里的文件,只需要重复以下三步即可:

git add . # 将更改加入“购物车”

git commit -m "描述新的修改" # “付款”并生成新的快照

git push # 上传最新的快照到远程仓库。因为建立了跟踪,所以不用再写origin main

报错解决

git push报错

image.png 这个错误提示表明 Git 无法通过 SSH 密钥认证连接到 GitHub 仓库,通常是由于 SSH 密钥未配置或权限问题导致的。可以按以下步骤解决:

1. 检查是否已存在 SSH 密钥

打开终端执行:

ls-la ~/.ssh

如果看到id_rsaid_rsa.pub文件,说明已有 SSH 密钥,直接跳到步骤 3。

2. 生成新的 SSH 密钥(如果没有)

ssh-keygen -t ed25519 -C"你的GitHub邮箱地址"
  • 按回车接受默认路径
  • 可选:设置密钥密码(直接回车可跳过)

3. 查看并复制 SSH 公钥

cat ~/.ssh/id_rsa.pub

复制输出的全部内容(以ssh-ed25519开头,以你的邮箱结尾)

4. 添加公钥到 GitHub 账户

  1. 登录 GitHub,点击右上角头像 → Settings
  2. 左侧菜单选择 SSH and GPG keys → New SSH key
  3. Title 填写一个标识(如 "我的 MacBook")
  4. Key 粘贴刚才复制的公钥内容
  5. 点击 Add SSH key 保存

5. 测试 SSH 连接

ssh-T git@github.com

首次连接会提示确认,输入yes后回车。如果看到类似 "Hi 用户名!You've successfully authenticated..." 的信息,说明配置成功。

参考文档:超详细教程:一招一式教你将本地项目上传至GitHub_将本地代码提交至github的步骤-CSDN博客