代码改变世界

详细介绍:Git 基础操作与团队协作配置

2025-10-22 14:24  tlnshuju  阅读(13)  评论(0)    收藏  举报

一、为什么前端开发必须掌握 Git?

在前端开发中,Git 的核心价值体现在:

  • 版本回溯:误删代码、改崩页面时,可一键回退到之前的稳定版本;
  • 团队协作:多人开发同一项目时,避免代码冲突,清晰追踪每个人的修改;
  • 迭代管理:通过分支管理不同功能(如开发分支、测试分支、生产分支),实现并行开发;
  • 远程备份:将代码托管到 GitHub/Gitee,防止本地硬盘损坏导致代码丢失。

本文从 “安装配置” 到 “实战操作”,带你掌握前端开发中 90% 的 Git 场景。

二、第一步:Git 安装与初始化配置

1. 不同系统安装方法
(1)Windows 系统
  • 官方下载:Git for Windows(选择 64 位安装包Git-2.45.1-64-bit.exe
  • 安装步骤:
    1. 双击安装包,默认选项即可(推荐勾选 “Use Git from Git Bash only”,避免命令冲突);
    2. 关键步骤:在 “Choosing the default editor used by Git” 中,建议选择 “Visual Studio Code”(若已安装),方便后续编辑提交信息;
    3. 其余保持默认,点击 “Install” 完成安装。
(2)macOS 系统
  • 方法一(推荐):用 Homebrew 安装(已安装 Homebrew 的情况下):
    brew install git
  • 方法二:官方下载:Git for macOS,双击.dmg文件按向导安装。
(3)验证安装成功

打开终端(Windows 用 Git Bash,macOS 用终端),执行:

git --version  # 输出 git version 2.45.1 即成功
2. 初始化配置(必须做!)

Git 需要知道你的身份,用于标记代码提交者,执行以下命令(替换为你的信息):

# 设置用户名(建议与GitHub/Gitee用户名一致)
git config --global user.name "Your Name"
# 设置邮箱(建议与GitHub/Gitee绑定邮箱一致)
git config --global user.email "your.email@example.com"
(可选)配置默认编辑器

若安装时未选择编辑器,可手动配置(以 VS Code 为例):

# 配置VS Code为默认编辑器
git config --global core.editor "code --wait"
验证配置
git config --list  # 输出包含user.name和user.email即配置成功

三、核心操作 1:本地仓库基础流程(单人开发必备)

1. 创建本地仓库(两种场景)
(1)新建项目初始化仓库
# 1. 创建项目文件夹并进入
mkdir vite-vue-project && cd vite-vue-project
# 2. 初始化Git仓库(会生成隐藏的.git文件夹,存储版本信息)
git init
(2)已有项目关联仓库
# 进入已有项目目录
cd 已有项目路径
# 初始化仓库
git init
2. 核心操作:工作区→暂存区→版本库

Git 的核心概念是 “三区域”:

  • 工作区:你正在编辑的文件(未执行任何 Git 命令);
  • 暂存区:执行git add后,文件进入暂存区(临时存储待提交的修改);
  • 版本库:执行git commit后,暂存区的修改被提交到本地仓库(形成一个版本)。
实战流程:
# 1. 在项目中创建文件(如src/main.js)
# 2. 查看工作区状态(哪些文件被修改/新增)
git status
# 输出示例:Untracked files: src/main.js(红色,表示未跟踪)
# 3. 将文件添加到暂存区
git add src/main.js  # 添加单个文件
# 或添加所有修改(常用)
git add .  # 注意:末尾是英文句号,表示当前目录所有文件
# 4. 再次查看状态(文件变为绿色,表示已在暂存区)
git status
# 5. 提交到本地仓库(-m后是提交说明,必须写!)
git commit -m "feat: 初始化项目,添加main.js"
# 输出示例:[master (root-commit) a1b2c3d] feat: ... 1 file changed, 3 insertions(+)
3. 版本回溯与历史查看
(1)查看提交历史
# 简洁查看历史(一行显示一个版本)
git log --oneline
# 输出示例:
# a1b2c3d (HEAD -> master) feat: 初始化项目
# e4f5g6h fix: 修复xxx问题
(2)回退到指定版本
# 1. 复制要回退的版本号(如e4f5g6h)
# 2. 执行回退命令
git reset --hard e4f5g6h
# 注意:--hard会丢弃当前工作区的修改,回退前确保已提交重要修改
# 3. 若回退后想回到最新版本,先查看所有操作记录(包括已回退的)
git reflog
# 复制最新版本号,再次执行reset即可

四、核心操作 2:分支管理(多人协作 / 多功能开发必备)

分支是 Git 最强大的功能,前端开发中常用分支策略:

  • master/main:主分支,存放可上线的代码;
  • develop:开发分支,团队成员在此分支开发新功能;
  • feature/xxx:功能分支,开发单个功能时从 develop 分支创建;
  • bugfix/xxx:修复分支,修复 bug 时从 develop 分支创建。
1. 分支基础操作
# 1. 查看本地所有分支(当前分支前有*)
git branch
# 2. 创建新分支(从当前分支创建)
git branch feature/login  # 创建feature/login分支
# 3. 切换到新分支
git checkout feature/login
# 或简写(创建并切换,推荐)
git checkout -b feature/login
# 4. 在新分支开发完成后,提交修改(同基础流程)
git add .
git commit -m "feat: 完成登录功能"
2. 分支合并(功能开发完成后)

假设在feature/login开发完成,需要合并到develop分支:

# 1. 先切换到目标分支(develop)
git checkout develop
# 2. 合并feature/login分支到当前分支
git merge feature/login
# 3. 若合并后无冲突,合并完成;若有冲突,见下方“解决冲突”
3. 解决代码冲突(多人协作必遇场景)

当两人修改同一文件的同一行时,合并会产生冲突,Git 会在文件中标记冲突位置:

// 冲突文件示例(main.js)
<<<<<<< HEAD(当前分支的代码)
const title = "首页"
=======(分隔线)
const title = "登录页"
>>>>>>> feature/login(被合并分支的代码)

解决步骤:

  1. 打开冲突文件,找到<<<<<<<=======>>>>>>>标记的冲突区域;
  2. 根据需求修改内容(删除标记,保留正确代码),例如:
    const title = "登录页"  // 保留需要的代码
  3. 重新提交冲突文件:
    git add main.js  # 标记为已解决冲突
    git commit -m "fix: 解决登录功能合并冲突"

五、核心操作 3:远程仓库协作(GitHub/Gitee)

1. 关联远程仓库(以 GitHub 为例)
(1)在 GitHub 创建仓库
  • 登录 GitHub,点击右上角 “+”→“New repository”;
  • 填写仓库名(如vite-vue-project),选择 “Public”,点击 “Create repository”;
  • 复制仓库地址(HTTPS 格式:https://github.com/你的用户名/vite-vue-project.git)。
(2)本地仓库关联远程
# 关联远程仓库(origin是远程仓库的别名,可自定义)
git remote add origin https://github.com/你的用户名/vite-vue-project.git
# 验证关联成功
git remote -v  # 输出包含origin和仓库地址即成功
2. 推送本地代码到远程
# 首次推送当前分支到远程(-u表示关联本地与远程分支,后续可简化命令)
git push -u origin master  # 推送master分支
# 或推送其他分支
git push -u origin feature/login
# 非首次推送(已关联)
git push
3. 拉取远程代码(多人协作时同步他人修改)
# 拉取远程当前分支的最新代码
git pull
# 若本地有未提交的修改,拉取前建议先暂存
git stash  # 暂存本地修改
git pull   # 拉取远程代码
git stash pop  # 恢复暂存的修改(可能需要解决冲突)
4. 克隆远程仓库(从零开始参与项目)
# 克隆远程仓库到本地(会创建与仓库同名的文件夹)
git clone https://github.com/你的用户名/vite-vue-project.git
# 进入克隆的项目
cd vite-vue-project

六、前端项目专属配置:.gitignore 文件

前端项目中有很多无需提交的文件(如依赖包、环境配置、编辑器缓存),通过.gitignore文件告诉 Git 忽略它们:

1. 创建.gitignore 文件

在项目根目录创建.gitignore

touch .gitignore  # Windows可手动创建
2. 前端项目常用配置(复制粘贴即可)
# 依赖包(必须忽略,体积大且可通过npm安装)
node_modules/
pnpm-lock.yaml
package-lock.json
# 环境变量文件(可能包含密钥)
.env
.env.local
.env.development.local
.env.production.local
# 打包产物(无需提交,可通过pnpm build生成)
dist/
build/
# 编辑器缓存(不同编辑器不同)
.idea/  # WebStorm
.vscode/  # VS Code(可选,若团队统一配置可提交)
*.sublime-*  # Sublime
# 操作系统文件
.DS_Store  # macOS
Thumbs.db  # Windows
3. 使.gitignore 生效
# 添加并提交.gitignore文件
git add .gitignore
git commit -m "chore: 添加.gitignore忽略不必要文件"

七、常见问题解决(前端开发高频场景)

1. 误提交不需要的文件(如 node_modules)
# 1. 先从暂存区移除(若已提交,跳过此步)
git rm --cached node_modules -r  # -r表示递归处理文件夹
# 2. 在.gitignore中添加node_modules/
# 3. 提交修改(使忽略生效)
git add .gitignore
git commit -m "fix: 移除误提交的node_modules并添加忽略"
2. 撤销工作区的修改(未执行 git add)
# 撤销单个文件的修改(如src/main.js)
git checkout -- src/main.js
# 撤销所有工作区修改(谨慎!未提交的修改会丢失)
git checkout -- .
3. 撤销暂存区的修改(已执行 git add 但未 commit)
# 取消暂存单个文件
git reset HEAD src/main.js
# 取消所有暂存的修改
git reset HEAD .
4. 本地分支与远程分支不一致(拉取报错)
# 强制拉取远程分支并覆盖本地(谨慎!本地未提交的修改会丢失)
git fetch --all
git reset --hard origin/master  # 替换master为你的分支名

八、实战总结:Git 常用命令速查表

场景命令
初始化仓库git init
查看状态git status
添加到暂存区git add 文件名 或 git add .
提交到仓库git commit -m "提交说明"
查看历史git log --oneline
创建并切换分支git checkout -b 分支名
合并分支git merge 被合并的分支名
推送代码git push(首次:git push -u origin 分支
拉取代码git pull
克隆仓库git clone 仓库地址