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 分支

相关推荐
临风赏月8 小时前
多模态数据湖对接 AI 训练的技术方案
大数据·人工智能
TDengine (老段)8 小时前
TDengine 数学函数 ASCII 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
老陈头聊SEO8 小时前
长尾关键词在SEO优化中的应用与效果解析
其他·搜索引擎·seo优化
光仔December8 小时前
【Elasticsearch入门到落地】18、Elasticsearch实战:Java API详解高亮、排序与分页
java·elasticsearch·es排序·es分页·es高亮
私域实战笔记9 小时前
SCRM平台对比推荐:以企业微信私域运营需求为核心的参考
大数据·人工智能·企业微信·scrm·企业微信scrm
艾莉丝努力练剑10 小时前
【Git:基本操作】深度解析Git:从初始Git到熟悉基本操作
大数据·linux·c++·人工智能·git·gitee·指令
猫猫姐姐10 小时前
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
大数据·人工智能·sql·flink
武子康10 小时前
大数据-142 ClickHouse分片×副本×Distributed 实战 ReplicatedMergeTree、Keeper、insert_quorum
大数据·后端·nosql
月屯11 小时前
es大页读取
大数据·elasticsearch·搜索引擎