GitHub 仓库从零开始:上传、更新与维护指南
本教程覆盖从安装到维护的完整流程,全程使用通用示例,不包含任何具体的仓库链接。
Git 版本控制工具安装配置及 GitHub 仓库操作流程。涵盖账号注册、Git 环境搭建、SSH 密钥生成与绑定、远程仓库创建、本地项目关联与首次推送。详解后续代码更新、分支管理及冲突解决策略。通过命令行操作实现代码同步与维护,适用于 Windows、macOS 及 Linux 系统开发者。

本教程覆盖从安装到维护的完整流程,全程使用通用示例,不包含任何具体的仓库链接。
Windows:
.exe 结尾的文件),双击运行后一路'Next'完成安装。macOS:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install git
Linux(以 Ubuntu 为例): 打开终端,执行:
sudo apt update && sudo apt install git -y
安装完成后,在任意终端(Windows 下可打开 Git Bash)里输入:
git --version
如果输出类似 git version 2.x.x,说明安装成功。
安装完成后,需要告诉 Git 是谁在提交代码。打开终端,依次执行:
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱@example.com"
user.name:填写你在 GitHub 上注册的用户名或昵称。user.email:填写与你 GitHub 帐号绑定的邮箱地址。配置完毕后,可以用下面命令检查:
git config --global --list
会看到类似:
user.name=你的用户名
user.email=你的邮箱@example.com
使用 SSH 方式推送/拉取代码,可以避免每次输入用户名和密码(Token)。下面介绍 SSH 公钥的生成与添加。
打开终端(或 Git Bash),执行:
ssh-keygen -t ed25519 -C "你的邮箱@example.com"
.ssh/id_ed25519(私钥)和 .ssh/id_ed25519.pub(公钥)两个文件。生成完成后,执行以下命令查看公钥内容:
cat ~/.ssh/id_ed25519.pub
终端会输出一串以 ssh-ed25519 开头的字符串,这就是公钥。
添加成功后,SSH 验证就设置完毕。可以测试连接:
ssh -T [email protected]
如果提示类似'Hi <用户名>! You've successfully authenticated...'则说明 SSH 验证配置正确。
my-project。https://github.com/你的用户名/my-project.git[email protected]:你的用户名/my-project.git
记住这两个地址中的一种,后续用来关联本地仓库。下面以一个已存在本地项目的目录为例,演示如何上传到 GitHub。假设本地项目文件夹路径为 ~/projects/my-project,且目录下已有若干源代码或资源文件。
在该目录下执行:
cd ~/projects/my-project
git init
这会创建一个隐藏的 .git/ 文件夹,使该目录成为一个 Git 仓库。
创建第一次提交:
把所有文件添加到暂存区:
git add .
这样做会把当前目录(及子目录)下所有未被忽略的文件都纳入暂存区。
提交改动:
git commit -m "首次提交:项目初始化"
以上操作会在本地生成一个提交记录(commit),大多数情况下会默认在 master 分支上。如果想直接把主分支命名为 main,可以执行:
git branch -M main
这样以后本地仓库的主分支就是 main(与 GitHub 通用约定保持一致)。
查看当前状态(可选):
git status
这时 Git 会告诉你哪些文件是'Untracked files'(未跟踪文件)。
origin 的远程源:注意:命令开头务必是小写的 git,不要带任何隐藏字符或破折号。添加成功后,可用下面命令确认:
git remote -v
你会看到类似:
origin https://github.com/你的用户名/my-project.git (fetch)
origin https://github.com/你的用户名/my-project.git (push)
或者如果用的是 SSH,则显示:
origin git@github.com:你的用户名/my-project.git (fetch)
origin git@github.com:你的用户名/my-project.git (push)
使用 SSH(已配置 SSH 密钥则无需输入密码):
git remote add origin [email protected]:你的用户名/my-project.git
使用 HTTPS(需要每次输入用户名/密码或 Token):
git remote add origin https://github.com/你的用户名/my-project.git
-u origin main 的含义是:把本地 main 分支推送到远程 origin,并建立跟踪关系。以后只需直接执行 git push 即可。推送成功后,终端会显示类似:
Enumerating objects: 10, done.
Counting objects: 100% (10/10), done.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (10/10), 1.23 KiB | 1.23 MiB/s, done.
Total 10 (delta 0), reused 0 (delta 0)
To https://github.com/你的用户名/my-project.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
如果当前分支是 main:
git push -u origin main
如果当前分支是 master(没有重命名为 main),则:
git push -u origin master
项目上传成功后,后续只需按照下面步骤更新远程仓库即可。
git add path/to/yourfile.ext
如要一次添加所有改动:
git add .
git commit -m "本次更新:简要说明修改内容"
git status
可以看到哪些文件被修改、哪些是新文件。git push
由于第一次已经用 -u origin main 或 -u origin master 与远程分支建立了跟踪关系,后续直接 git push 即可。在推送之前,可以先拉取远程更新:
git pull --rebase origin main
或者:
git pull origin main
--rebase 可以保持提交历史线性;不带则会自动创建一个合并提交(Merge commit)。如果出现冲突(Conflict),按提示打开冲突文件,手动保留、删除冲突标记(<<<<<<<、=======、>>>>>>>),然后执行:
git add 冲突已解决的文件
git rebase --continue # 如果使用了 --rebase
或者如果是普通 git pull:
git add 冲突已解决的文件
git commit
冲突解决完成后再执行 git push,即可把本地改动与远程最新内容同步。
命令前不要出现隐藏字符
git init、git add 等命令。.gitignore 文件
.gitignore 的文件,写入你不想跟踪(即不想上传到远程)的文件或文件夹规则。常见示例:
node_modules/
*.log
.env
.DS_Store
build/
*.pyc
分支管理
main(或 master)分支上工作。如果想开发新功能、修复 Bug,通常会新建分支:
git checkout -b feature/新功能名称
main 分支并合并:
git checkout main
git merge feature/新功能名称
git branch -d feature/新功能名称
git push 即可把合并后的结果推到远程。SSH 与 HTTPS
Token 和安全
远程仓库已初始化 README 情况
git push 会被拒绝(提示需要先拉取远程更改)。解决方法是先执行:
git pull --rebase origin main
把远程的那次提交拉下来并合并到本地,然后再 git push。user.name、user.email。git init,将项目转为 Git 仓库。git add .、git commit -m "描述",完成首次提交。git remote add origin <远程仓库地址> 关联远程。git push -u origin main(或 master)将本地提交推送到 GitHub。git add → git commit → git push 完成更新。若需合并远程改动,先 git pull --rebase 再 git push。以上步骤涵盖了从安装软件到首次上传,再到后续代码同步的完整流程。只要每一步都按照说明并自己手动输入命令,就能顺利把项目上传并保持与 GitHub 的同步。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online