作为新手,要如何使用 GitHub? 一、先搞清楚两个概念Git 和 GitHub很多新手会把 Git 和 GitHub 混为一谈先把这个搞清楚概念是什么类比Git一个安装在电脑上的版本控制工具你手里的本地记账本GitHub一个在线的代码托管平台存在云端的共享副本Git负责在本地记录每一次代码修改让你可以随时回退到任意历史版本。GitHub则把你本地的代码仓库同步到云端既能备份也方便多人协作。两者关系你用 Git 在本地管理代码然后通过 Git 命令把代码推送到 GitHub 上。二、安装与配置2.1 注册 GitHub 账号访问 GitHub 官网点击右上角的“Sign up”填写用户名、邮箱和密码。用户名建议用英文避免后续命令行操作时遇到不必要的问题。注册完成后去邮箱里点一下验证链接账号就激活了。2.2 安装 GitWindows 用户访问 Git 官网下载页面下载.exe安装包运行安装程序一路点击“下一步”全部保持默认选项即可安装完成后在开始菜单里找到“Git Bash”打开后输入git --version看到版本号就说明安装成功Mac 用户打开终端Terminal输入git --version如果没装系统会自动弹出提示安装 Xcode Command Line Tools点击确认等待完成即可Linux 用户Ubuntu/Debianbashsudo apt update sudo apt install git git --version # 验证安装2.3 配置 Git 身份信息这一步非常关键。Git 的每一次提交都会记录作者信息如果不配置后面的操作会报错。打开终端或 Git Bash输入bashgit config --global user.name 你的GitHub用户名 git config --global user.email 你的注册邮箱--global代表全局配置意思是对这台电脑上的所有 Git 仓库都生效。配置完成后可以用以下命令查看是否生效bashgit config --list你应该能看到user.name和user.email已经出现在列表里。2.4 推荐配置 SSH 免密登录默认情况下每次向 GitHub 推送代码都需要输入用户名和密码现在密码已被 Token 替代。配置 SSH 密钥后可以实现免密操作大大提高日常效率。第一步生成 SSH 密钥在终端中输入bashssh-keygen -t ed25519 -C 你的注册邮箱系统会询问保存路径直接按回车用默认的~/.ssh/id_ed25519是否设置密码直接按回车留空即可第二步复制公钥bashcat ~/.ssh/id_ed25519.pub复制输出的全部内容以ssh-ed25519开头以邮箱结尾。第三步添加到 GitHub登录 GitHub点击右上角头像 →Settings左侧菜单选择SSH and GPG keys点击New SSH Key标题随便写比如“我的电脑”把公钥粘贴到 Key 框中点击Add SSH Key第四步测试连接bashssh -T gitgithub.com如果看到Hi 用户名! Youve successfully authenticated...就说明配置成功了。三、Git 核心工作流程3.1 基本概念在学习命令之前先理解 Git 的三个核心区域区域说明类比工作区你电脑上正在编辑的文件你的草稿纸暂存区准备提交的修改清单你列好的待办事项本地仓库已经记录到 Git 历史中的版本正式存档对应的三个核心命令bashgit add . # 把修改放入暂存区 git commit -m 说明 # 把暂存区的内容存入本地仓库 git push # 把本地仓库推送到 GitHub四、常见操作场景4.1 场景一从 GitHub 拉取别人的代码如果你想参与别人的开源项目或者把自己 GitHub 上的仓库下载到本地bashgit clone 仓库地址如何获取仓库地址在 GitHub 仓库页面点击绿色的Code按钮会看到两种地址HTTPShttps://github.com/用户名/仓库名.git需要输入账号密码/TokenSSHgitgithub.com:用户名/仓库名.git如果已配置 SSH 免密用这个更方便如果要下载特定的分支bashgit clone -b 分支名 仓库地址4.2 场景二从零开始创建项目并上传第一步在 GitHub 上新建仓库登录 GitHub点击右上角的“”→New repository填写仓库名称Repository name比如my-first-project选择 Public公开或 Private私有不要勾选“Initialize this repository with a README”否则后面会冲突点击Create repository第二步在本地初始化 Git 仓库进入你的项目文件夹bashcd 项目文件夹路径 git init # 把这个文件夹变成 Git 仓库第三步添加并提交文件bashgit add . # 把所有文件加入暂存区 git commit -m first commit # 提交到本地仓库第四步关联远程仓库并推送bashgit remote add origin 你的仓库地址 # 关联 GitHub 上的空仓库 git branch -M main # 确保分支名为 main git push -u origin main # 首次推送-u 会建立追踪关系第一次使用 HTTPS 方式推送时会弹出登录窗口输入 GitHub 用户名和密码密码需要换成 Personal Access Token。第五步之后的日常操作bashgit add . git commit -m 更新说明 git push4.3 场景三修改代码后提交当你修改了代码想要提交新版本bash# 查看当前状态——哪些文件被修改了 git status # 添加指定文件 git add 文件名 # 只添加某个文件 git add . # 添加当前目录所有修改 # 提交 git commit -m 这次修改了什么 # 推送到 GitHub git push4.4 场景四拉取远程最新的更新如果多人协作别人已经在 GitHub 上更新了代码你需要把最新版本同步到本地bashgit pull这条命令等价于git fetch git merge。它会从远程拉取最新代码并自动合并到你当前的分支。如果出现冲突需要手动解决后再提交。五、分支与 Pull Request——协作的核心5.1 什么是分支每个仓库默认有一个主分支叫main老项目叫master。对于多人协作的项目直接在main上改代码是很危险的。分支解决了这个问题——相当于给代码库创建了一个独立的“副本”你在副本上开发新功能不会影响主代码的稳定性。bash# 查看所有本地分支当前分支会带 * 号 git branch # 创建新分支 git branch 新分支名 # 切换到新分支 git checkout 新分支名 # 更推荐的做法创建并切换到新分支一步到位 git checkout -b 新分支名在新分支上做完修改后bashgit add . git commit -m 功能说明 git push origin 新分支名 # 把新分支推送到 GitHub5.2 什么是 Pull RequestPush 是从本地推送到远程。Pull Request 则是向项目维护者“申请”把你的修改合并到主分支。很多人听到“Pull Request”这个名称可能第一反应是“拉取请求”但在实践中它更像是“请求对方拉取我的代码并合并”。操作流程你把新分支推送到 GitHub在 GitHub 仓库页面上会看到一个“Compare pull request”按钮点击后填写 PR 标题和说明描述你改了哪些东西提交 PR等待项目维护者审核审核通过后代码会被合并到主分支PR 是代码审查的标准流程也是开源协作的核心方式。六、新手常见问题与避坑6.1 推送时提示身份验证失败现象textfatal: Authentication failed for https://github.com/...原因与解决方案HTTPS 方式需要 TokenGitHub 已于 2021 年 8 月 13 日起禁用密码认证需使用 Personal Access Token 替代密码。在 GitHub Settings → Developer settings → Personal access tokens → Tokens (classic) 生成一个新 Token复制后推送时在密码框粘贴 Token 即可。建议配置 SSH一劳永逸解决认证问题见 2.4 节。6.2 提交了不该提交的文件现象不小心把node_modules、.env密码文件或临时文件提交上去了。解决方案在项目根目录创建.gitignore文件把不想提交的文件名或目录写进去textnode_modules/ .env *.log .DS_Store执行git rm -r --cached .清除所有已跟踪内容再重新添加并提交GitHub 官方维护了一个.gitignore模板库针对不同编程语言和框架提供了现成的.gitignore文件。新手可以参考这些模板避免遗漏常见需要忽略的文件类型。6.3 忘记先 pull推送时提示冲突现象texterror: failed to push some refs to ... hint: Updates were rejected because the remote contains work...解决步骤先拉取最新代码git pull如果有冲突手动解决冲突Git 会在冲突文件里标注和解决后重新提交git add .→git commit -m 合并冲突→git push6.4 提交信息写错了想改如果只是想修改上一次提交的说明bashgit commit --amend -m 新的提交信息如果已经推送到了远程需要强制推送慎用团队项目中不建议bashgit push --force-with-lease6.5 合并冲突的通用解决思路当你执行git pull或合并分支时如果同一个文件的同一行被不同的人修改过Git 无法自动决定保留哪个版本就会标记为冲突。标记格式如下text HEAD 你本地的代码 远程分支的代码 branch-name解决方法是手动编辑文件保留你需要的那部分或者综合两者删掉、和标记然后重新提交。七、新手建议7.1 先从图形化工具开始新手可能被命令行吓到。GitHub 官方提供了GitHub Desktop界面直观适合刚开始接触 Git 的开发者。理解基本概念后再逐步过渡到命令行。VS Code 等主流编辑器也内置了 Git 图形化操作。7.2 README 好好写每个仓库最好都有一个README.md文件用 Markdown 语法写清楚项目是做什么的怎么安装和运行怎么使用一个清晰的 README 会让人更愿意使用和参与你的项目。7.3 开源许可证要选如果你的仓库是公开的建议添加一个LICENSE文件说明别人可以怎么使用你的代码。如果不选许可证法律上默认“保留所有权利”别人不能随意使用你的代码。常见许可证MIT最宽松随便用随便改Apache 2.0MIT 基础上增加了专利授权GPL要求衍生代码也开源7.4 多用“搜索”和“看别人怎么写”GitHub 上有数百万开源项目遇到问题时搜别人写的优秀仓库看看他们的代码结构搜索.gitignore模板避免自己从头想看别人的README.md怎么写这是新手成长最快的方式。八、常用命令速查表操作命令初始化仓库git init克隆仓库git clone 地址查看状态git status添加文件git add .或git add 文件名提交git commit -m 说明推送git push拉取更新git pull查看分支git branch创建并切换分支git checkout -b 新分支名切换分支git checkout 分支名查看提交历史git log查看远程仓库git remote -v九、最后新手入门 GitHub记住三件事就够了先理解 Git 的三个区域工作区 → 暂存区 → 本地仓库 → 远程仓库记住三个核心命令git add→git commit→git push遇到问题先搜Git 的错误提示已经非常成熟把报错信息复制到搜索引擎大概率能找到答案一步一步来Git 就会成为你工作中离不开的工具。