Git介绍

一、Git 简介

Git 是一个免费、开源、分布式的版本控制系统,由 Linus Torvalds 开发,主要用于跟踪文件内容的变更,便于团队协作开发。

Git 的核心作用:

  • 记录代码修改历史

  • 支持多版本切换

  • 高效合并多人提交的代码

  • 支持分支管理,便于功能开发与 Bug 修复

版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。Git 是当前最流行的分布式版本控制系统。

Git 与集中式版本控制(如 SVN)的区别:

特性 Git(分布式) SVN(集中式)
仓库存储 每个开发者都有完整的仓库副本 只有中央服务器有完整仓库
网络需求 提交、分支操作可离线进行 大多数操作需要网络连接
分支管理 轻量级分支,创建/切换快速 分支较重量级,创建较慢
安全性 每个副本都是完整备份 单点故障风险

二、Git 安装与配置

1. 安装 Git

  • Windows :下载 Git for Windows 安装包,默认安装即可。

  • Mac :下载 .dmg 安装包安装,或使用 brew install git

  • Linux :使用包管理器安装,如 sudo apt install git

2. 验证安装

bash 复制代码
git --version

3. 配置用户信息

bash 复制代码
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

完整:

bash 复制代码
# 用户身份配置(必须)
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱@example.com"

# 开启颜色显示
git config --global color.ui auto

# 设置默认编辑器
git config --global core.editor "code --wait"  # VSCode

# 配置行结束符(跨平台协作)
git config --global core.autocrlf true  # Windows
git config --global core.autocrlf input # Linux/Mac

三、Git 核心概念

1. 三个区域

  • 工作区:你正在编辑的文件目录

  • 暂存区:临时存放将要提交的更改

  • 版本库:存放所有提交的历史记录

区域 作用 对应文件/目录
工作区 (Working Directory) 实际操作的文件目录 项目文件夹中的所有文件
暂存区 (Staging Area) 临时存放要提交的更改 .git/index 文件
版本库 (Repository) 存储所有提交的历史记录 .git/objects/ 目录

2. 文件状态

  • 未跟踪(U):新文件,未被 Git 管理

  • 已跟踪

    • 新添加(A):第一次被暂存

    • 未修改(''):三个区域一致

    • 已修改(M):工作区内容有变动

状态 缩写 描述 常见场景
未跟踪 U 文件未被 Git 管理 新创建的文件
已暂存 A 文件已添加到暂存区 第一次 git add 后
未修改 '' 工作区与版本库一致 提交后状态
已修改 M 工作区文件有变动 编辑已跟踪文件后

四、Git 常用命令

1.基础操作

命令 说明
git init 初始化本地 Git 仓库
git add . 将所有修改添加到暂存区
git commit -m "注释" 提交到版本库
git status 查看文件状态
git status -s 简略状态显示
git log --oneline 查看简洁提交历史

2.版本回退

bash 复制代码
git reset --hard <版本号>  # 彻底回退到指定版本
git reset --soft <版本号>  # 回退版本但保留工作区和暂存区
git reflog --oneline       # 查看所有操作记录(包括回退)

3.分支管理

命令 说明
git branch <分支名> 创建分支
git checkout <分支名> 切换分支
git checkout -b <分支名> 创建并切换分支
git merge <分支名> 合并分支到当前分支
git branch -d <分支名> 删除已合并的分支
bash 复制代码
# 查看所有分支
git branch          # 本地分支
git branch -r       # 远程分支  
git branch -a       # 所有分支

# 创建分支
git branch [分支名]

# 切换分支
git checkout [分支名]

# 创建并切换分支
git checkout -b [分支名]

# 删除分支
git branch -d [分支名]     # 安全删除(已合并)
git branch -D [分支名]     # 强制删除(未合并)

3.远程仓库操作(以 Gitee 为例)

命令 说明
git remote add origin <仓库地址> 关联远程仓库
git push -u origin master 首次推送并建立追踪
git push 后续推送
git pull origin master 拉取远程更新
git clone <仓库地址> 克隆远程仓库到本地

五、Git 高级用法与场景

1. 忽略文件:.gitignore

用于忽略不需要版本控制的文件,如:

bash 复制代码
node_modules/
dist/
*.log
.vscode/

2. 合并冲突

当多个分支修改同一文件的同一部分时,会发生冲突。解决方法:

  • 手动编辑冲突文件

  • 使用 git add 标记已解决

  • 提交合并结果

六、协同开发流程

典型流程:

  1. 克隆远程仓库:git clone <url>

  2. 创建功能分支:git checkout -b feature-A

  3. 开发并提交:git add .git commit -m "..."

  4. 推送分支:git push origin feature-A

  5. 提交 Pull Request / Merge Request

  6. 合并后删除分支:git branch -d feature-A

七、在 PyCharm 中使用 Git

配置步骤:

  1. 安装 Gitee 插件

  2. 配置 Git 路径:Settings → Version Control → Git

  3. 登录 Gitee 账号:Settings → Version Control → Gitee

  4. 使用图形化界面进行提交、推送、拉取等操作

八、常见 Git 工作流

  • 集中式工作流:所有人直接推送到主分支

  • 功能分支工作流:每个功能一个分支,合并到主分支

  • Git Flow :包含 masterdevelopfeaturereleasehotfix 分支

相关推荐
bubuly3 小时前
软件开发全流程注意事项:从需求到运维的全方位指南
大数据·运维·数据库
xixixi777775 小时前
基于零信任架构的通信
大数据·人工智能·架构·零信任·通信·个人隐私
Hello.Reader6 小时前
Flink 自适应批执行(Adaptive Batch Execution)让 Batch 作业“边跑边优化”
大数据·flink·batch
LaughingZhu7 小时前
Product Hunt 每日热榜 | 2026-01-31
大数据·人工智能·经验分享·搜索引擎·产品运营
babe小鑫7 小时前
中专学历进入快消大厂终端销售岗位的可行性分析
大数据
samFuB7 小时前
【工具变量】区县5A级旅游景区DID数据集(2000-2025年)
大数据
百夜﹍悠ゼ7 小时前
数据治理DataHub安装部署
大数据·数据治理
wdfk_prog8 小时前
解决 `git cherry-pick` 引入大量新文件的问题
大数据·git·elasticsearch
MaoziShan8 小时前
[ICLR 2026] 一文读懂 AutoGEO:生成式搜索引擎优化(GEO)的自动化解决方案
人工智能·python·搜索引擎·语言模型·自然语言处理·内容运营·生成式搜索引擎
洛阳纸贵8 小时前
JAVA高级工程师--Elasticsearch
大数据·elasticsearch·搜索引擎