零基础入门GIT
2026/6/23 14:09:26 网站建设 项目流程
  1. GIT简介

什么是版本控制

版本控制(Version Control)是一种记录文件内容变化、以便查阅特定版本修订情况的系统。在软件开发中,它追踪代码的每次修改,支持随时回退到历史版本,并与团队成员协同编辑而不互相覆盖。

如果把每次修改文档都另存为「方案_v1.docx」「方案_v2_最终版.docx」,就是在做手工版本控制。版本控制系统将这一过程自动化、规范化,让每次修改都有迹可循。

为什么需要版本控制?

场景

没有版本控制

使用版本控制

代码改错想回退

手动还原,甚至无法恢复

一条命令回退到任意历史版本

多人同时修改同一文件

互相覆盖、版本混乱

自动合并、冲突提示

想知道某段代码的作者和原因

无法追查

每次提交记录作者、时间和说明

同时开发新功能又维护线上版本

复制文件夹管理分支

轻量分支,随时创建、合并、切换

硬盘损坏或误删

数据永久丢失

远程/分布式备份,随时恢复

版本控制是软件工程的基础设施——没有它,稍具规模的开发难以有序进行。

Git 的诞生

Git 诞生于 2005 年,由 Linux 内核创始人Linus Torvalds设计开发。

当时 Linux 内核社区使用的商业版本控制工具 BitKeeper 被收回免费授权。面对全球最大开源项目突然失去版本控制工具的局面,Linus 决定自己写一个。他设定了四个核心目标:

  • 速度极快:Linux 内核数万文件、数百万行代码,任何操作需在秒级完成

  • 分布式:每个开发者拥有完整仓库副本,不依赖单一中央服务器

  • 数据完整性:每次提交用 SHA-1 哈希唯一标识,任何篡改立即被发现

  • 非线性开发:强大的分支管理,允许多条开发线并行

仅用约两周时间,Linus 写出了 Git 原型。如今 Git 已是全球使用最广泛的版本控制系统,GitHub、GitLab、Gitee 等平台均基于 Git 构建。

Git 与 SVN 的对比

SVN(Subversion)是 Git 诞生前最主流的集中式版本控制系统。下表对比核心差异:

维度

Git(分布式)

SVN(集中式)

架构

每个开发者拥有完整仓库副本

仅中央服务器保存完整仓库

离线能力

完整:提交、历史、分支均可离线

受限:几乎所有操作需连接服务器

分支操作

轻量、秒级创建切换,鼓励频繁使用

笨重,分支本质是目录复制,成本高

存储方式

快照存储,按内容寻址

记录文件差异(delta)

数据完整性

SHA-1 哈希校验,篡改可被检测

依赖服务器端校验

学习曲线

概念较多(暂存区、本地仓库),初期较陡

概念简单,上手快

速度

绝大多数本地操作,极快

依赖网络,受延迟和带宽限制

适用场景

现代软件开发、分布式团队、开源项目

对目录级权限有严格需求的传统企业

结论:Git 的分布式架构、高效性能和灵活分支管理使其成为现代软件开发的事实标准。新项目几乎已全面采用 Git。

  1. 下载及安装

  1. 获取 Git

    1. Git 是免费的开源软件,所有平台的安装包均可从官网获取:https://git-scm.com官网会自动检测你的操作系统并提供对应的下载链接。

    2. 镜像(如腾讯软件中心、npm.taobao.org、git-for-windows)下载以提升速度。

  1. 验证安装

安装完成后,打开 CMD 或 PowerShell,输入以下命令验证:

git --version

  1. Mac 安装

方式一:Homebrew 安装(推荐)

Homebrew 是 Mac 上最流行的包管理器。如果尚未安装 Homebrew,先在终端执行:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装 Homebrew 后,执行以下命令安装 Git:

brew install git

方式二:官网安装包

访问 https://git-scm.com/downloads/mac ,下载 .dmg 安装包,双击运行并按照向导完成安装。

方式三:Xcode Command Line Tools

Mac 已安装 Xcode 或运行过 xcode-select --install 的,系统可能已内置 git(通常版本较旧)。可在终端运行 git --version 检查。

  1. Linux 安装

在 Linux 上,通过系统自带的包管理器即可安装 Git。

Debian / Ubuntu 系列

sudo apt update

sudo apt install git

Red Hat / Fedora / CentOS 系列

Fedora 22+

sudo dnf install git

CentOS / RHEL 7 及更早版本

sudo yum install git

Arch Linux

sudo pacman -S git

验证安装

git --version

  1. 安装后初始配置

Git 安装完成后,在正式开始使用前,必须完成以下两项基础配置。这些配置只需执行一次,会写入当前用户的全局 Git 配置文件(位于 ~/.gitconfig 或 C:\Users\用户名\.gitconfig)。

  1. 配置用户名和邮箱

这两项配置会出现在你每一次的提交记录中,是代码归属的标识:

git config --global user.name "你的姓名"

git config --global user.email "你的邮箱@example.com"

示例:

bash

git config --global user.name "Zhang San"

git config --global user.email "zhangsan@example.com"

  1. 配置换行符处理(推荐)

不同操作系统使用不同的换行符:Windows 用 \r\n(CRLF),Mac / Linux 用 \n(LF)。为避免跨平台协作时出现混乱,建议配置自动转换:

Windows 用户:

git config --global core.autocrlf true

此配置会在检出代码时将 LF 转换为 CRLF,提交时再转回 LF。

Mac / Linux 用户:

git config --global core.autocrlf input

此配置仅在提交时将 CRLF 转换为 LF,检出时不做转换。

  1. 常用命令

命令行窗口:

# 查看用户名 git config user.name # 查看邮箱 git config user.email

查看当前配置

# 查看所有配置 git config --list # 查看全局配置 git config --global --list # 查看某一项配置 git config --global user.name

命令用途常用参数
git init初始化本地仓库
git clone克隆远程仓库<url> -b <分支> --depth 1
git status查看工作区状态-s(简短格式)
git add暂存文件.(全部)-p(逐块确认)
git commit提交暂存区-m "msg" --amend(修改上次提交)
git push推送至远端-u origin main -f(强制)
git pull拉取并合并远端--rebase(变基而非合并)
git fetch拉取远端不合并--all --prune(清理已删分支)
git branch分支管理-d <名>(删除)-r(查看远端)-a(全部)
git checkout切换分支/恢复文件-b <名>(新建并切换)<文件>(丢弃修改)
git switch切换分支(新版)-c <名>(新建并切换)
git merge合并分支--squash --no-ff
git rebase变基-i HEAD~n(交互式整理提交)
git stash暂存未提交修改push -m "msg" pop list
git log查看提交历史--oneline --graph --author="名" -n 5
git diff查看差异<文件> --staged(暂存区差异)HEAD~1
git reset回退提交/取消暂存--soft HEAD~1 --hard HEAD <文件>
git remote远端管理-v(查看地址)add remove
git tag标签管理-a v1.0 -m "msg" -d <标签>
git cherry-pick拣选提交到当前分支<commit SHA>
git blame查看文件每行归属<文件> -L 10,20
  1. 仓库管理

本章深入讲解 Git 仓库的内部结构、远程仓库交互、分支管理策略以及团队协作的核心工作流。

4.1 仓库结构

4.1.1 三层本地+远端

理解 Git 的数据流转是高效使用 Git 的关键。Git 将数据管理分为三个逻辑区域:

4.3 分支管理

4.3.1 分支的概念与优势

分支(Branch)是 Git 最强大的特性之一。它让你可以在不影响主线代码的情况下,并行开发新功能、修复 Bug 或进行实验。

4.3.2 分支操作

查看所有本地分支(当前分支前有 * 标记) git branch 查看所有分支(包括远程分支) git branch -a 仅查看远程分支 git branch -r 查看分支最后一次提交信息 git branch -v 创建新分支(但不切换) git branch feature/login 切换分支 git checkout feature/login 创建并切换到新分支 git checkout -b feature/login 或 git switch -c feature/login 基于指定提交创建分支 git checkout -b hotfix/urgent a1b2c3d 合并分支 先切换到目标分支(如 master) git checkout master 将指定分支合并到当前分支 git merge feature/login 安全删除(仅删除已合并的分支) git branch -d feature/login 强制删除(即使有未合并的改动) git branch -D feature/login 删除远程分支 git push origin --delete feature/login

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询