GitHub是全球最大的代码托管平台,超过1亿开发者使用它进行版本控制和团队协作。无论你是个人开发者还是团队成员,掌握GitHub和Git都是必备技能。本文将从零开始系统讲解Git基础命令、GitHub使用技巧和团队协作最佳实践。
一、Git基础认知
什么是Git?
Git是一个分布式版本控制系统,由Linux之父Linus Torvalds创建。它能追踪代码的每一次修改,支持多人协作开发,是现代软件开发的基石。
Git vs GitHub
- Git:版本控制工具,本地使用
- GitHub:代码托管平台,基于Git,提供云端存储和协作功能
二、Git安装与配置
安装Git
- Windows:下载Git for Windows安装包
- Mac:使用Homebrew:
brew install git - Linux:
sudo apt-get install git
首次配置
git config –global user.name “你的名字”
git config –global user.email “your@email.com”
三、Git核心概念
工作区、暂存区、仓库
- 工作区:你正在编辑的文件
- 暂存区:临时存放即将提交的修改
- 本地仓库:保存所有提交记录
- 远程仓库:GitHub上的云端仓库
四、Git基础命令
1. 初始化仓库
cd your-project
git init // 在当前目录创建Git仓库
2. 查看状态
git status // 查看文件修改状态
3. 添加文件到暂存区
git add file.txt // 添加单个文件
git add . // 添加所有修改的文件
4. 提交更改
git commit -m “提交说明” // 提交暂存区的文件到仓库
5. 查看提交历史
git log // 查看完整提交历史
git log –oneline // 简洁模式
git log –graph // 图形化显示分支
6. 查看差异
git diff // 查看工作区与暂存区的差异
git diff HEAD // 查看工作区与最新提交的差异
五、分支管理
分支概念
分支允许你在不影响主代码的情况下开发新功能或修复bug。
分支命令
git branch // 查看所有分支
git branch feature-login // 创建新分支
git checkout feature-login // 切换到该分支
git checkout -b feature-login // 创建并切换(常用)
git branch -d feature-login // 删除分支
合并分支
git checkout main // 切换到主分支
git merge feature-login // 将feature-login合并到main
解决冲突
当两个分支修改了同一文件的同一位置时会产生冲突。
- Git会标记冲突文件
- 手动编辑文件,保留需要的内容
git add .标记冲突已解决git commit完成合并
六、远程仓库操作
1. 克隆远程仓库
git clone https://github.com/username/repo.git
2. 查看远程仓库
git remote -v // 查看远程仓库地址
3. 添加远程仓库
git remote add origin https://github.com/username/repo.git
4. 推送到远程
git push origin main // 推送main分支到远程
git push -u origin main // 首次推送,设置upstream
5. 拉取远程更新
git pull origin main // 拉取远程main分支并合并
git fetch origin // 仅拉取不合并
七、GitHub使用指南
1. 创建仓库
- 登录GitHub
- 点击右上角”+”,选择”New repository”
- 填写仓库名、描述
- 选择公开(Public)或私有(Private)
- 点击”Create repository”
2. Pull Request(PR)工作流
Pull Request是GitHub团队协作的核心。
流程:
- Fork目标仓库(如果不是协作者)
- 克隆到本地:
git clone your-fork-url - 创建新分支:
git checkout -b fix-bug - 修改代码并提交
- 推送到GitHub:
git push origin fix-bug - 在GitHub网页上点击”Create Pull Request”
- 等待代码审查(Code Review)
- 审查通过后,管理员合并PR
3. Issue管理
Issue用于跟踪bug、功能请求和任务。
- 创建Issue:描述问题或需求
- 分配给团队成员
- 添加标签(bug、enhancement、question等)
- 在commit message中引用Issue:
git commit -m "fix #123"
4. GitHub Actions(CI/CD)
自动化工作流,如自动测试、部署。
# .github/workflows/test.yml
name: Run Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
– uses: actions/checkout@v2
– name: Run tests
run: npm test
八、常用场景实战
场景1:撤销修改
git checkout — file.txt // 撤销工作区修改
git reset HEAD file.txt // 撤销暂存区修改
git reset –hard HEAD~1 // 撤销最近一次提交(危险操作!)
场景2:暂存工作进度
git stash // 暂存当前修改
git stash pop // 恢复暂存的修改
git stash list // 查看所有stash
场景3:修改commit message
git commit –amend -m “新的提交说明” // 修改最近一次提交的message
场景4:合并多个commit
git rebase -i HEAD~3 // 交互式合并最近3个commit
九、团队协作最佳实践
1. 分支命名规范
feature/功能名:新功能开发bugfix/问题描述:bug修复hotfix/紧急修复:线上紧急问题refactor/重构内容:代码重构
2. Commit Message规范
type(scope): subject
类型:
– feat: 新功能
– fix: bug修复
– docs: 文档修改
– style: 代码格式调整
– refactor: 重构
– test: 测试相关
– chore: 构建工具或辅助工具的变动示例:
feat(login): 添加记住密码功能
fix(api): 修复用户信息接口返回null的问题
3. 代码审查(Code Review)
- 小而频繁的PR优于大而复杂的PR
- PR描述清楚修改内容和原因
- 及时回复审查意见
- 使用GitHub的Review功能留评论
十、常见问题
Q1: 如何忽略某些文件?
创建.gitignore文件:
node_modules/
.env
*.log
.DS_Store
Q2: 误删文件如何恢复?
git checkout HEAD file.txt // 从最近一次提交恢复文件
Q3: 如何删除远程分支?
git push origin –delete branch-name
总结
Git和GitHub是现代开发者的必备技能。掌握基础命令、理解分支管理、熟悉团队协作流程,你就能自如应对各种开发场景。记住:多练习、多实践,Git会成为你最可靠的开发伙伴。
参考来源:
年底送送送!新用户扫码添加 客服微信,即可 免费 领取此项目教程哦!
添加客服,轻松获取资源!


