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 的对比SVNSubversion是 Git 诞生前最主流的集中式版本控制系统。下表对比核心差异维度Git分布式SVN集中式架构每个开发者拥有完整仓库副本仅中央服务器保存完整仓库离线能力完整提交、历史、分支均可离线受限几乎所有操作需连接服务器分支操作轻量、秒级创建切换鼓励频繁使用笨重分支本质是目录复制成本高存储方式快照存储按内容寻址记录文件差异delta数据完整性SHA-1 哈希校验篡改可被检测依赖服务器端校验学习曲线概念较多暂存区、本地仓库初期较陡概念简单上手快速度绝大多数本地操作极快依赖网络受延迟和带宽限制适用场景现代软件开发、分布式团队、开源项目对目录级权限有严格需求的传统企业结论Git 的分布式架构、高效性能和灵活分支管理使其成为现代软件开发的事实标准。新项目几乎已全面采用 Git。下载及安装获取 GitGit 是免费的开源软件所有平台的安装包均可从官网获取https://git-scm.com官网会自动检测你的操作系统并提供对应的下载链接。镜像如腾讯软件中心、npm.taobao.org、git-for-windows下载以提升速度。验证安装安装完成后打开 CMD 或 PowerShell输入以下命令验证git --versionMac 安装方式一Homebrew 安装推荐Homebrew 是 Mac 上最流行的包管理器。如果尚未安装 Homebrew先在终端执行/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)安装 Homebrew 后执行以下命令安装 Gitbrew install git方式二官网安装包访问 https://git-scm.com/downloads/mac 下载 .dmg 安装包双击运行并按照向导完成安装。方式三Xcode Command Line ToolsMac 已安装 Xcode 或运行过 xcode-select --install 的系统可能已内置 git通常版本较旧。可在终端运行 git --version 检查。Linux 安装在 Linux 上通过系统自带的包管理器即可安装 Git。Debian / Ubuntu 系列sudo apt updatesudo apt install gitRed Hat / Fedora / CentOS 系列Fedora 22sudo dnf install gitCentOS / RHEL 7 及更早版本sudo yum install gitArch Linuxsudo pacman -S git验证安装git --version安装后初始配置Git 安装完成后在正式开始使用前必须完成以下两项基础配置。这些配置只需执行一次会写入当前用户的全局 Git 配置文件位于 ~/.gitconfig 或 C:\Users\用户名\.gitconfig。配置用户名和邮箱这两项配置会出现在你每一次的提交记录中是代码归属的标识git config --global user.name 你的姓名git config --global user.email 你的邮箱example.com示例bashgit config --global user.name Zhang Sangit config --global user.email zhangsanexample.com配置换行符处理推荐不同操作系统使用不同的换行符Windows 用 \r\nCRLFMac / Linux 用 \nLF。为避免跨平台协作时出现混乱建议配置自动转换Windows 用户git config --global core.autocrlf true此配置会在检出代码时将 LF 转换为 CRLF提交时再转回 LF。Mac / Linux 用户git config --global core.autocrlf input此配置仅在提交时将 CRLF 转换为 LF检出时不做转换。常用命令命令行窗口# 查看用户名 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 1git 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-ffgit rebase变基-i HEAD~n交互式整理提交git stash暂存未提交修改push -m msg pop listgit log查看提交历史--oneline --graph --author名 -n 5git diff查看差异文件 --staged暂存区差异HEAD~1git reset回退提交/取消暂存--soft HEAD~1 --hard HEAD 文件git remote远端管理-v查看地址add removegit tag标签管理-a v1.0 -m msg -d 标签git cherry-pick拣选提交到当前分支commit SHAgit blame查看文件每行归属文件 -L 10,20仓库管理本章深入讲解 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
零基础入门GIT
发布时间:2026/6/23 14:09:40
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 的对比SVNSubversion是 Git 诞生前最主流的集中式版本控制系统。下表对比核心差异维度Git分布式SVN集中式架构每个开发者拥有完整仓库副本仅中央服务器保存完整仓库离线能力完整提交、历史、分支均可离线受限几乎所有操作需连接服务器分支操作轻量、秒级创建切换鼓励频繁使用笨重分支本质是目录复制成本高存储方式快照存储按内容寻址记录文件差异delta数据完整性SHA-1 哈希校验篡改可被检测依赖服务器端校验学习曲线概念较多暂存区、本地仓库初期较陡概念简单上手快速度绝大多数本地操作极快依赖网络受延迟和带宽限制适用场景现代软件开发、分布式团队、开源项目对目录级权限有严格需求的传统企业结论Git 的分布式架构、高效性能和灵活分支管理使其成为现代软件开发的事实标准。新项目几乎已全面采用 Git。下载及安装获取 GitGit 是免费的开源软件所有平台的安装包均可从官网获取https://git-scm.com官网会自动检测你的操作系统并提供对应的下载链接。镜像如腾讯软件中心、npm.taobao.org、git-for-windows下载以提升速度。验证安装安装完成后打开 CMD 或 PowerShell输入以下命令验证git --versionMac 安装方式一Homebrew 安装推荐Homebrew 是 Mac 上最流行的包管理器。如果尚未安装 Homebrew先在终端执行/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)安装 Homebrew 后执行以下命令安装 Gitbrew install git方式二官网安装包访问 https://git-scm.com/downloads/mac 下载 .dmg 安装包双击运行并按照向导完成安装。方式三Xcode Command Line ToolsMac 已安装 Xcode 或运行过 xcode-select --install 的系统可能已内置 git通常版本较旧。可在终端运行 git --version 检查。Linux 安装在 Linux 上通过系统自带的包管理器即可安装 Git。Debian / Ubuntu 系列sudo apt updatesudo apt install gitRed Hat / Fedora / CentOS 系列Fedora 22sudo dnf install gitCentOS / RHEL 7 及更早版本sudo yum install gitArch Linuxsudo pacman -S git验证安装git --version安装后初始配置Git 安装完成后在正式开始使用前必须完成以下两项基础配置。这些配置只需执行一次会写入当前用户的全局 Git 配置文件位于 ~/.gitconfig 或 C:\Users\用户名\.gitconfig。配置用户名和邮箱这两项配置会出现在你每一次的提交记录中是代码归属的标识git config --global user.name 你的姓名git config --global user.email 你的邮箱example.com示例bashgit config --global user.name Zhang Sangit config --global user.email zhangsanexample.com配置换行符处理推荐不同操作系统使用不同的换行符Windows 用 \r\nCRLFMac / Linux 用 \nLF。为避免跨平台协作时出现混乱建议配置自动转换Windows 用户git config --global core.autocrlf true此配置会在检出代码时将 LF 转换为 CRLF提交时再转回 LF。Mac / Linux 用户git config --global core.autocrlf input此配置仅在提交时将 CRLF 转换为 LF检出时不做转换。常用命令命令行窗口# 查看用户名 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 1git 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-ffgit rebase变基-i HEAD~n交互式整理提交git stash暂存未提交修改push -m msg pop listgit log查看提交历史--oneline --graph --author名 -n 5git diff查看差异文件 --staged暂存区差异HEAD~1git reset回退提交/取消暂存--soft HEAD~1 --hard HEAD 文件git remote远端管理-v查看地址add removegit tag标签管理-a v1.0 -m msg -d 标签git cherry-pick拣选提交到当前分支commit SHAgit blame查看文件每行归属文件 -L 10,20仓库管理本章深入讲解 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