当前位置: 首页 > news >正文

Git 从入门到实战

Git 从入门到实战(分布式版本控制完全指南)

本文系统讲解 Git 的诞生背景、核心概念、本地操作、远程协作、分支管理、标签及 VS Code 集成,涵盖从零基础到团队协作的全流程。所有命令基于 Git Bash 环境,示例清晰可直接运行。


一、Git 概述

业务场景:团队协作开发、代码版本管理、发布回滚。
Web后端重要性:⭐⭐⭐⭐⭐(核心技能,所有项目必用)
面试标注:★★★★(高频,特别是分布式概念和常用命令)

1.1 【What】是什么

Git是一个开源的分布式版本控制系统,由 Linux 创始人林纳斯·托瓦兹(Linus Torvalds)于 2005 年开发,最初用于管理 Linux 内核源码。

  • 版本控制:记录一个文件或一组文件随时间变化的历史,以便日后查阅特定版本、对比差异、恢复旧版。
  • 分布式:每个开发者的本地机器上都拥有完整的版本库(包括完整的历史记录),不依赖中央服务器即可进行版本管理。

生活化比喻
版本控制就像写论文时的“修改记录”——你每次修改都保存一份副本,并写上“初稿”“导师修改版”“终稿”。Git 自动帮你做这件事,而且每个人都有自己的完整副本(分布式),不像传统方式只有老师手上有唯一原稿(集中式)。

1.2 【Why】为什么需要 Git

  • 没有版本控制:文件靠复制粘贴备份,容易混淆、丢失历史、难以协作。
  • 集中式(如 SVN):只有中央服务器有完整历史,网络中断无法提交,单点故障风险高。
  • 分布式优势
    • 本地即可提交、查看历史、创建分支,速度极快。
    • 不依赖网络,离线也能工作。
    • 每个克隆都是完整备份,服务器挂了也能恢复。

面试题:Git 和 SVN 的主要区别?
:Git 是分布式,每个本地都有完整版本库,支持离线提交和分支管理;SVN 是集中式,所有历史存于中央服务器,必须联网操作,分支管理较笨重。


二、Git 安装与配置

业务场景:新电脑上手第一步。
Web后端重要性:⭐⭐⭐⭐⭐
面试标注:★(操作题,会装即可)

2.1 安装 Git

  • 官网下载:https://git-scm.com/
  • Windows:下载.exe安装包,一直“下一步”完成。
  • 安装后验证:git --version(如git version 2.37.3.windows.1

2.2 配置用户信息(必须)

每一个 Git 提交都会记录作者信息,因此必须配置用户名和邮箱。

gitconfig--globaluser.name"Your Name"gitconfig--globaluser.email"your_email@example.com"
  • --global表示全局配置,写入~/.gitconfig文件。
  • 查看所有配置:git config --list

三、Git 本地仓库基础

3.1 初始化仓库(git init)

在项目根目录执行:

gitinit

会在当前目录生成一个.git隐藏文件夹,这就是本地版本库(所有历史、配置都存在这里)。

3.2 工作区、暂存区、版本库

区域作用
工作区(Workspace)你电脑上能看到的项目文件夹,即正在编辑的文件。
暂存区(Index/Stage)一个索引文件,记录下次要提交的文件列表。
本地仓库(Repository).git 目录,保存所有提交的版本数据。

生活化比喻
工作区 = 你的办公桌(正在改文件);暂存区 = 快递打包台(把要发的文件放上去);本地仓库 = 仓库货架(已经打包好并贴上标签的版本)。

工作流程

  1. 在工作区修改文件。
  2. git add将更改添加到暂存区。
  3. git commit将暂存区内容提交到本地仓库。

四、文件跟踪与状态

业务场景:查看哪些文件被修改、哪些未跟踪。
Web后端重要性:⭐⭐⭐⭐⭐
面试标注:★★(常用命令)

4.1 查看状态(git status)

gitstatus

输出可能状态:

  • Untracked:新文件,未纳入版本控制。
  • Changes to be committed:已暂存,待提交。
  • Changes not staged for commit:已跟踪但未暂存。
  • nothing to commit, working tree clean:所有文件已提交,工作区干净。

4.2 跟踪文件(git add)

gitaddfilename# 跟踪单个文件gitadd.# 跟踪所有未跟踪和已修改的文件

将文件从工作区添加到暂存区。

4.3 提交(git commit)

gitcommit-m"提交说明"

将暂存区内容永久保存到本地仓库,生成一个 commit 对象。

4.4 跳过暂存直接提交(-a)

gitcommit-a-m"提交说明"

自动暂存所有已跟踪的文件(不包括新文件),跳过git add步骤。


五、修改与删除文件

5.1 修改文件后流程

  1. 编辑文件。
  2. git add暂存修改。
  3. git commit -m "message"提交。

5.2 查看提交历史(git log)

gitlog# 完整列表gitlog--oneline# 每行显示一个简洁提交

输出示例:

7e03a21 (HEAD -> master) update aa.txt 07a30b0 add aa.txt

5.3 删除文件

  • 手动删除(rm)后,需要git addgit commit -a记录删除。
  • 使用git rm filename:同时从工作区和暂存区删除,并自动标记为已删除,之后commit即可。
git
http://www.gsyq.cn/news/1623178.html

相关文章:

  • 鸿蒙原生 ArkTS 瀑布流布局实战:从零实现 Pinterest 风格 MasonryLayout
  • Kiran桌面环境测试框架深度解析:openeuler/kiran-tests如何保障系统稳定性
  • Kiran-shell 系统托盘插件:StatusNotifierItem 与 XEmbed 兼容性实现终极指南 [特殊字符]
  • utpasswd单元测试实践:确保密码操作零错误的12个测试技巧
  • WittyHub Web界面完全攻略:可视化AI技能发现与评估终极指南
  • 揭秘Kiran Control Panel架构:从桌面文件到插件实现的完整流程
  • hpcpilot配置文件详解:setting.ini和hostname.csv配置技巧
  • rat性能测试实战:如何验证多线程文件处理的性能提升效果
  • rat核心功能详解:10个实用技巧让你成为文件处理高手
  • 贡献utpasswd:参与开源项目的完整步骤与规范指南 [特殊字符]
  • 百度网盘最快离线下载保姆级教程
  • openEuler-portal-mcp错误处理与容错:15秒超时控制机制的设计原理
  • Kiran Authentication Service安全指南:保护你的多因子认证系统
  • utzip:用Rust重构的ZIP存档工具,如何快速上手创建你的第一个压缩包?
  • PrusaSlicer实战进阶:从模型到成品的智能切片艺术
  • 2026手机抠图软件整理:安卓苹果人像物品抠图工具实操指南
  • 如何让20年前的《暗黑破坏神2》在现代PC上重生:终极现代化改造指南
  • Kiran-shell 工作区插件:虚拟桌面管理与切换的完整实现
  • 程序员必备:Kiran计算器程序员模式完整使用指南
  • rat高级用法指南:如何使用所有命令行选项进行专业级文件分析
  • 软件工程中的软件开发模型
  • 终极DNS与DHCP解决方案:utdnsmasq核心功能详解
  • 深入解析elfin-parser核心功能:完整的DWARFv4调试信息支持指南
  • PotPlayer 字幕翻译插件:用百度翻译轻松观看外语影视
  • 机器学习六年成长实录:从数学直觉到工业部署的硬核路径
  • 数据加密措施
  • 2026深度实测:16款降AI率网站实测,论文降重降ai率终极答案!
  • Python面向对象:组合与继承的选择策略
  • 个人用户怎么完成模型训练
  • 鸿蒙物理 108 篇 第六十篇 四象能量层级总闭环