news 2026/9/6 4:04:51

同事偷偷在用的 Git 技巧,学会之后团队协作直接开挂

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
同事偷偷在用的 Git 技巧,学会之后团队协作直接开挂

前言

Git 是目前全球最主流的分布式版本控制系统,不管是个人开发、团队协作、企业项目开发都必须掌握。相比于 SVN 的集中式管理,Git 速度更快、分支更灵活、离线可用、容错性更强。本文将从零梳理 Git 完整知识点,涵盖基础概念、核心命令、工作流程、分支管理、团队协作、冲突解决、面试高频点,适合零基础入门与系统复习。

一、什么是版本控制?

版本控制就是记录文件每一次修改、保存历史版本、支持回溯、支持多人协作的工具。

日常开发如果不使用版本控制,会出现这些问题:

  • 反复备份:项目1、项目2、最终版、最终版真的改好了

  • 误删代码无法恢复

  • 多人改同一个文件互相覆盖

  • 不知道谁改了、什么时候改、改了什么

版本控制工具就是为了解决以上问题而生。

二、Git 与 SVN 的核心区别

1.SVN:集中式

  • 所有版本数据都在中央服务器

  • 断网无法提交、无法查看历史

  • 分支操作笨重、速度慢

2.Git:分布式

  • 每个人本地都有完整项目仓库、完整历史版本

  • 支持离线提交,联网后同步即可

  • 分支轻量、切换超快、适合敏捷开发

  • 服务器挂了也不丢代码

三、Git 四大核心区域(必考重点)

掌握 Git 首先要搞懂四个工作区域,所有命令都是围绕这四个区域流转:

  1. 工作区(Working Directory):我们肉眼看到、正在写代码的文件夹

  2. 暂存区(Stage/Index):临时存放待提交的修改,相当于“提交缓冲区”

  3. 本地仓库(Local Repository):本地 .git 文件夹,保存所有版本历史

  4. 远程仓库(Remote Repository):GitHub/Gitee/GitLab 云端仓库

代码流转顺序:工作区 → 暂存区 → 本地仓库 → 远程仓库

四、Git 初次安装与全局配置

首次使用 Git 必须配置用户名和邮箱,用于记录每一次提交者信息。

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

查看配置:

git config --global --list

参数解释:--global全局生效,所有Git项目共用一套配置。

五、Git 本地仓库基础操作(核心入门)

1. 初始化本地仓库

git init

在当前文件夹生成隐藏 .git 目录,代表该文件夹被 Git 管理。

2. 查看文件状态

git status

查看文件:未跟踪、已修改、已暂存等状态。

3. 添加到暂存区

git add 文件名 # 单个文件 git add . # 所有文件

4. 提交到本地仓库

git commit -m "本次提交说明"

规范:提交信息简洁清晰,说明本次改动功能/修复问题。

5. 查看提交日志

git log git log --oneline # 精简版日志

六、Git 忽略文件 .gitignore

项目中有些文件不需要版本管理,比如日志、缓存、系统文件、配置隐私文件,可以通过.gitignore忽略。

常见忽略规则:

  • 忽略单个文件:xxx.log

  • 忽略整个文件夹:/node_modules/

  • 忽略所有后缀文件:*.tmp

一旦被 Git 追踪过的文件,写入 ignore 也不会失效,需要先解除追踪。

七、Git 版本回退与撤销(高频实操)

1. 工作区撤销修改(未add)

git checkout -- 文件名

2. 撤销暂存(已add,未commit)

git reset HEAD 文件名

3. 版本回退(已commit)

git reset --hard 版本号 git reset --hard HEAD^ # 回退上一个版本

注意:hard 会强制覆盖本地修改,谨慎使用。

八、Git 远程仓库操作(GitHub/Gitee)

1. 关联远程仓库

git remote add origin 远程仓库地址

2. 推送代码到远程

git push -u origin main

3. 拉取远程代码

git pull

4. 克隆远程项目

git clone 仓库地址

九、Git 分支管理(团队开发核心)

Git 最强大的功能就是轻量分支,不同功能、不同 bug 都可以新开分支开发,互不影响主代码。

1. 分支常用命令

git branch # 查看分支 git branch 分支名 # 创建分支 git checkout 分支名 # 切换分支 git checkout -b 分支名 # 创建并切换 git branch -d 分支名 # 删除分支

2. 分支合并

git merge 待合并分支名

流程:切换到主分支 → 合并功能分支。

十、冲突产生与解决(工作最常见)

1. 冲突原因

多人修改同一个文件的同一行代码,合并或 pull 时 Git 无法自动判断保留谁的代码,就会产生冲突。

2. 冲突解决步骤

  • 打开冲突文件,删除冲突标记

  • 保留最终正确代码

  • 重新 add、commit、push

十一、企业标准分支开发流程

主流团队规范:

  • main/master:线上稳定代码,禁止直接提交

  • develop:开发主分支

  • feature/xxx:新功能分支

  • bug/xxx:bug 修复分支

开发流程:新建功能分支开发 → 提交合并到 develop → 测试通过合并到 main。

十二、Git 常用高频命令速查表

  • 初始化:git init

  • 暂存:git add .

  • 提交:git commit -m ""

  • 查看状态:git status

  • 查看日志:git log

  • 关联远程:git remote add origin

  • 推送:git push

  • 拉取:git pull

  • 克隆:git clone

  • 分支操作:git branch / checkout / merge

结语

Git 是所有开发者的必备技能,不需要死记硬背,只要理解四大区域流转逻辑、掌握本地提交、远程同步、分支合并、冲突解决,就能胜任 99% 的日常开发场景。本文可作为 Git 完整学习手册,随时翻看复习。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 4:04:14

Linux seq命令详解:生成序列、格式化输出与脚本高效实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 3:59:50

LabVIEW控制SR830锁相放大器实现自动频率扫描全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 3:59:42

NAS全自动追剧方案:Docker部署Sonarr+Jellyfin保姆级教程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 3:49:52

STM32进阶避坑指南:调试口、时钟树与SysTick的致命陷阱

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 3:48:45

构建AI工程师演讲索引:1124场视频到秒级定位的实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 3:47:32

工业组态报表开发实战:从数据采集到展示的完整链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华