1.在github上创建空仓库
登录 GitHub,点击右上角 + -> New repository。输入仓库名(Repository name),不要勾选 Initialize this repository with a README。
为什么:我们需要一个空的远程仓库来接收我们的文件。不初始化 README 可以避免后续合并冲突。
2.本地仓库初始化与连接
运行
git init,这个命令会在你的当前文件夹内创建一个隐藏的 .git 子目录。Git 用它来跟踪管理你这个文件夹里所有文件的变更历史。这是一切的起点
git remote add origin git@github.com:用户名/仓库名.git:这条命令给你的本地仓库起了一个叫 origin 的绰号,指向你在 GitHub 上创建的那个远程仓库。这样你以后就可以用 origin 来代表那个复杂的网址
3.处理文件与提交
3.1检查并设置分支
首先,检查远程仓库默认的分支名是什么(GitHub 现在默认是 main,旧的是 master)
git ls-remote --heads origin
如果输出显示有 main,你就需要创建 main 分支。
如果显示有 master,你就创建 master 分支。
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分支我们就会发现所有的文件都已经上传好啦
4.2后续的常规推送
以后如果你修改了文件夹里的文件,只需要重复以下三步即可:
git add . # 将更改加入“购物车”
git commit -m "描述新的修改" # “付款”并生成新的快照
git push # 上传最新的快照到远程仓库。因为建立了跟踪,所以不用再写origin main
报错解决
git push报错
这个错误提示表明 Git 无法通过 SSH 密钥认证连接到 GitHub 仓库,通常是由于 SSH 密钥未配置或权限问题导致的。可以按以下步骤解决:
1. 检查是否已存在 SSH 密钥
打开终端执行:
ls-la ~/.ssh
如果看到id_rsa和id_rsa.pub文件,说明已有 SSH 密钥,直接跳到步骤 3。
2. 生成新的 SSH 密钥(如果没有)
ssh-keygen -t ed25519 -C"你的GitHub邮箱地址"
- 按回车接受默认路径
- 可选:设置密钥密码(直接回车可跳过)
3. 查看并复制 SSH 公钥
cat ~/.ssh/id_rsa.pub
复制输出的全部内容(以ssh-ed25519开头,以你的邮箱结尾)
4. 添加公钥到 GitHub 账户
- 登录 GitHub,点击右上角头像 → Settings
- 左侧菜单选择 SSH and GPG keys → New SSH key
- Title 填写一个标识(如 "我的 MacBook")
- Key 粘贴刚才复制的公钥内容
- 点击 Add SSH key 保存
5. 测试 SSH 连接
ssh-T git@github.com
首次连接会提示确认,输入yes后回车。如果看到类似 "Hi 用户名!You've successfully authenticated..." 的信息,说明配置成功。