Git | 简介与安装

Git 是一个分布式版本控制系统 DVCS,用于高效管理项目文件的修改历史,支持多人协作开发

核心概念

  • 版本控制 ------ 记录文件随时间的变化,允许回溯到任意历史版本,避免手动备份的混乱
  • 分布式架构 ------ 每个开发者拥有完整的仓库副本(包括全部历史),不依赖中央服务器,可离线工作
  • 仓库(Repository)
    • 本地仓库:用户本地的版本库
    • 远程仓库(如 GitHubGitLab:团队共享的中央代码库
  • 工作区、暂存区、版本库
    • 工作区:本地直接编辑的目录
    • 暂存区(Stage/Index:临时存放待提交的变更
    • 版本库:提交后永久存储的位置
  • 提交(Commit) ------ 每次提交生成一个唯一的 SHA-1 哈希值,包含文件快照、作者、时间戳和提交信息
  • 分支(Branch) ------ 独立开发线,默认主分支为mastermain分支间可快速切换/合并
  • 合并(Merge)------ 将分支历史整合到当前分支,保留原始提交记录
  • 变基(Rebase)------ 将分支的修改"移植"到另一分支,形成线性历史
  • 远程操作 ------ push(推送本地提交到远程)、pull(拉取远程更新)、fetch(仅获取远程变更)

核心功能

  • 历史追踪与回退 ------ 查看文件修改记录(git log),回滚到任意版本(git resetgit revert

  • 分支管理 ------ 创建/切换分支(git branch/git checkout),合并代码(git merge),解决冲突

  • 协作开发 ------ 多人通过远程仓库共享代码,支持并行开发(如 GitHubPull Request 机制)

  • 代码差异比较 ------ 使用git diff对比工作区、暂存区或版本间的差异

  • 暂存与恢复 ------ 临时保存未完成的修改(git stash),后续恢复继续工作

  • 标签 Tag ------ 为重要版本(如v1.0)打标记,便于快速定位(git tag

  • 钩子 Hooks ------ 自动化脚本,在特定事件(如提交前、推送后)触发自定义操作


集中式 vs 分布式 版本控制系统

维度 集中式 CVS/SVN 分布式 Git/Mercurial
版本库位置 仅中央服务器存储完整历史 每个用户本地都有完整版本库
联网需求 必须联网才能提交、更新代码 本地可完成大部分操作(提交、分支),仅同步需联网
速度 受网络带宽和服务器性能限制 本地操作极快,仅推送/拉取依赖网络
容灾性 中央服务器故障导致全员无法工作 任意用户本地仓库均可作为恢复源
协作模式 直接与中央服务器交互 支持点对点协作,通常用"中央服务器"简化流程
分支管理 分支创建/合并慢且复杂 分支轻量级,合并高效

分布式系统的"伪中央服务器" ------ 尽管Git设计上无需中心节点,但实践中仍常使用远程仓库 (如 GitHub/GitLab)原因包括:

  • 协作便利性 ------ 提供统一的代码交换节点,避免两两同步的混乱
  • 权限管理 ------ 企业级需求(如保护主分支、Code Review 机制)
  • 附加功能 ------ Issue 跟踪、CI/CD 流水线、Wiki 文档等集成

安装

Linux 系统
  • 检测是否安装 ------ 终端输入 git,若未安装会提示安装命令

    bash 复制代码
    $ git
    The program 'git' is currently not installed. You can install it by typing:
    sudo apt-get install git
  • 安装方式

    • Debian/Ubuntu 系统

      bash 复制代码
      sudo apt install git
    • RedHat/CentOS 系统

      bash 复制代码
      sudo yum install git
macOS 系统
  • 安装方式 ------ 先安装包管理器 Homebrew,再执行:

    bash 复制代码
    brew install git
Windows 系统
  • 检测是否安装 ------ PowerShell 输入 git -v 显示 Git 版本

    powershell 复制代码
    Windows PowerShell                                       
    Copyright (C) Microsoft Corporation. All rights reserved.
    PS C:\Users> git -v
    git version 2.48.1.windows.1
  • 安装方式 I ------ 从 Git 官网下载安装程序,默认选项安装,完成后使用 Git BashPowerShell 运行 Git

  • 安装方式 II ------ 先安装包管理器 Scoop,再执行:

    powershell 复制代码
    scoop install git
通用包管理器操作
操作 APT (Debian/Ubuntu) Homebrew (macOS) Scoop (Windows)
安装 Git sudo apt install git brew install git scoop install git
升级 Git sudo apt update git brew update git scoop update git

必要配置

  • 设置全局用户信息 ------ 提交时标识身份

    bash 复制代码
    git config --global user.name "Your Name"
    git config --global user.email "email@example.com"
    • 参数 --global ------ 对所有仓库生效。若需针对特定仓库配置,去掉该参数并在仓库目录下运行命令
  • 检查用户信息

    bash 复制代码
    git config --global user.name git config --global user.email
  • 检查配置

    bash 复制代码
    git config --list  # 查看所有配置

初始化版本库

概念
  • 定义 ------ 版本库(仓库)是一个被 Git 管理的目录,可以跟踪其中所有文件的修改、删除等操作,并保存历史记录
  • 本质 ------ 核心是一个隐藏的 .git 目录,存储所有版本控制所需的元数据
创建版本库
  • 创建空目录(建议路径无中文)

    bash 复制代码
    mkdir learngit      # 创建目录
    cd learngit         # 进入目录
    pwd                 # 查看当前路径,确认位置
  • 初始化仓库

    bash 复制代码
    git init			# 将当前目录变为 Git 管理的仓库
    bash 复制代码
    Initialized empty Git repository in /Users/GitLearn/learngit/.git/

    提示 :成功后生成 .git 隐藏目录(ls -ah 可查看)


相关推荐
行业探路者2 小时前
视频和音频二维码生成及二维码扫描器的应用价值解析
大数据·人工智能·安全·二维码·设备巡检
junlaii2 小时前
Windows Claude Code Git Bash 依赖修复教程
windows·git·bash
白完就是肥2 小时前
Git基本使用
git
微盛企微增长小知识2 小时前
2025企业微信AI新突破:微盛·企微管家智能回复如何融合企业的业务生成场景话术?
大数据·人工智能
是阿威啊2 小时前
单项目多模块的大数据项目框架构建
大数据
极客先躯2 小时前
java的线上诊断工具大全
java·大数据·开发语言·内存管理·生产·诊断工具
天远数科2 小时前
Node.js 中间件实战:对接天远借贷行为接口并清洗为 ECharts 数据
大数据
天呐草莓2 小时前
企业微信自动打标签教程
大数据·python·微信·微信小程序·小程序·企业微信
laozhao4322 小时前
各方面横向对比,标标达和剑鱼标讯谁更正规?
大数据·人工智能