Git 与 GitHub 入门:从安装配置到分支协作的完整流程

一、Git 和 GitHub 不是一回事

新手最容易混的就是这两个词。一句话区分:

  • Git:装在你电脑上的版本控制工具,负责记录代码的每一次变化,不需要联网。
  • GitHub:一个网站,把 Git 仓库托管到云端,方便备份、协作和开源。

类比一下:Git 像你本地的记账本,GitHub 像把账本同步到云端并允许多人一起记。

你想做的事 用什么
记录代码改动、随时回退 Git
备份到云端、换电脑继续写 GitHub 仓库
和别人一起改同一个项目 Git 分支 + GitHub Pull Request
让别人看到你的作品 GitHub 公开仓库

二、安装与最小配置

到官网下载对应系统的安装包(Windows 版自带 Git Bash 终端,推荐用)。装完先做一次性的身份配置,否则提交记录里没有作者信息:

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

# 查看配置是否生效
git config --list

# 换行符处理(Windows 建议,避免协作时整个文件都被标记为改动)
git config --global core.autocrlf true

建议再配一下默认分支名和常用别名,省得每次都敲长命令:

git config --global init.defaultBranch main
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.lg "log --oneline --graph --all"
Git 官方网站下载页面
Git 官网下载页,按系统选择安装包

三、日常五步:95% 的时间只用这几个命令

# 1. 查看当前改动状态(最常用的命令,没有之一)
git status

# 2. 把改动加入暂存区
git add 文件名        # 只加某个文件
git add .            # 加全部改动

# 3. 提交,写清楚这次做了什么
git commit -m "修复登录页在移动端的布局错位"

# 4. 推送到 GitHub
git push

# 5. 拉取别人的改动(多人协作时每次开工前先拉)
git pull

写提交信息的习惯,决定了你半年后能不能看懂自己的项目。别写”update””修改一下”,写清楚”改了什么、为什么改”。

四、连到 GitHub:两种方式,推荐 SSH

方式一:SSH(配一次,长期省事)

# 1. 生成密钥(一路回车即可,或者设置一个密码短语)
ssh-keygen -t ed25519 -C "你的邮箱"

# 2. 查看公钥内容并复制
cat ~/.ssh/id_ed25519.pub

# 3. 打开 GitHub → Settings → SSH and GPG keys → New SSH key,粘贴保存

# 4. 验证
ssh -T git@github.com

看到 Hi 你的用户名! 就说明配好了。私钥(不带 .pub 的那个文件)永远不要发给任何人。

GitHub 官方文档页面
GitHub 官方文档

方式二:HTTPS + Token

GitHub 已经不允许用账号密码推送,HTTPS 方式需要生成 Personal Access Token 当密码用。Token 有权限范围和有效期,比密码更安全,但每次配置略麻烦。

五、把本地项目推上 GitHub

# 在 GitHub 网页端先新建一个空仓库(不要勾选初始化 README)

# 然后在本地项目目录里
git init
git add .
git commit -m "首次提交"
git branch -M main
git remote add origin git@github.com:你的用户名/仓库名.git
git push -u origin main

以后每次改完就三步:git add . → git commit -m "说明" → git push。

别忘了 .gitignore

有些文件不该提交:依赖目录、编译产物、包含密钥的配置文件。在项目根目录建一个 .gitignore:

node_modules/
.venv/
__pycache__/
dist/
.env
*.log
.DS_Store

一旦密钥被提交到公开仓库,删掉文件也没用——历史记录里还在,爬虫几秒内就能扫到。正确做法是立刻到平台作废该密钥并重新生成。

GitHub Desktop 下载页面
GitHub Desktop,图形化客户端

六、分支与协作:团队里真正的工作方式

标准流程(GitHub Flow)非常朴素,就四步:

  1. 从 main 拉一个新分支:git checkout -b feature/login
  2. 在分支上改代码、提交、推送:git push -u origin feature/login
  3. 在 GitHub 上开 Pull Request(PR),写清楚改了什么、怎么测的
  4. 评审通过后合并进 main,删掉分支

三条团队铁律:

  • main 分支永远可运行,不要直接往 main 推;
  • PR 要小——改 2000 行的 PR 没人会认真看;
  • 动手前先 pull,冲突在本地解决比在服务器上解决容易得多。
GitHub Actions 官方文档页面
GitHub Actions 官方文档

七、七个高频问题

现象 原因 处理
Permission denied (publickey) SSH 密钥没配好或没加到平台 ssh -T git@github.com 测通;确认公钥已粘贴
推送要求输入密码但总失败 HTTPS 方式需要 Token 而不是密码 生成 Personal Access Token 当密码;或改用 SSH
提交里作者信息是错的 没配 user.name / user.email 重新配置后 git commit --amend --reset-author
误提交了大文件 / 密钥 没用 .gitignore 作废密钥;用 git filter-repo 或 BFG 清理历史
合并冲突不会处理 同一文件的同一区域被两边修改 打开冲突文件,保留正确内容并删掉冲突标记,再 add + commit
想撤销最近一次提交 — 保留改动:git reset --soft HEAD~1;彻底丢弃:git reset --hard HEAD~1
不知为什么文件改了却没显示 文件被 .gitignore 忽略了 git check-ignore -v 文件名 查是哪条规则命中的

八、一页速查清单

  • ☐ 装完先配 user.name 与 user.email
  • ☐ 优先用 SSH,配一次长期省事,私钥不外传
  • ☐ 日常五步:status / add / commit / push / pull
  • ☐ 提交信息写清楚”改了什么、为什么”
  • ☐ 项目一开始就建 .gitignore,密钥绝不入库
  • ☐ 新功能开分支,通过 PR 合并,不直接推 main
  • ☐ 每次开工前先 pull

Git 的命令很多,但日常真正用到的就那五六个。先把”提交—推送—拉取”这条主循环走顺,遇到问题再查具体命令,比一开始背命令表有效得多。

本文界面图取自 Git 官网与 GitHub 官方文档,仅用于说明下载与入口位置。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容