Git基础原理和使用

Git 初识

一、版本管理痛点

在日常工作和学习中,我们经常遇到以下问题:

  • 通过不断复制文件来保存历史版本(如报告-v1、报告-最终版等)

  • 版本数量增多后无法清晰记住每个版本的修改内容

  • 项目代码管理存在同样问题

二、版本控制系统解决方案

  1. 核心功能:
  • 记录文件修改历史

  • 支持版本回溯

  • 便于多人协作

  1. 主流工具:Git

  2. 文件支持:

  • 完美支持文本文件(代码、文档等)

  • 有限支持二进制文件(图片、视频等)

三、Git 安装指南

  1. CentOS 系统:

```bash

检查是否安装

git

安装命令

sudo yum -y install git

验证安装

git --version

```

  1. Ubuntu 系统:

```bash

检查是否安装

git

安装命令

sudo apt-get install git -y

验证安装

git --version

```

四、Git 基础配置

  1. 设置用户信息:

```bash

git config --global user.name "Your Name"

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

```

  1. 查看配置信息:

```bash

git config -l

```

  1. 删除配置:

```bash

git config --global --unset user.name

git config --global --unset user.email

```

五、核心概念解析

  1. 工作区:实际操作的目录

  2. 暂存区(Stage):临时存放改动的区域

  3. 版本库(Repository):永久存储版本信息的.git目录

六、仓库管理

  1. 创建本地仓库:

```bash

mkdir gitcode

cd gitcode

git init

```

  1. 仓库结构:
  • 生成隐藏的.git目录

  • 禁止手动修改.git内部文件

七、分支管理

  1. 分支原理:
  • 类似平行宇宙概念

  • 默认主分支:master/main

  • HEAD指针指向当前分支

  1. 分支操作:

```bash

创建分支

git branch dev

切换分支

git checkout dev

查看分支

git branch

合并分支(需先切换至主分支)

git checkout master

git merge dev

```

  1. 合并原理:
  • Fast-forward(快进式合并)

  • 保留完整版本历史记录

八、最佳实践建议

  1. 提交规范:
  • 使用有意义的提交信息

  • 保持原子性提交(每次提交一个功能/修复)

  1. 分支策略:
  • master/main分支保持稳定

  • 开发使用feature分支

  • 使用pull request进行代码审查

  1. 日常维护:
  • 定期执行git status查看状态

  • 使用.gitignore管理不需要版本控制的文件

  • 及时处理合并冲突

相关推荐
码完就睡10 分钟前
Linux——socket网络编程
linux·运维·网络
道尔柯南12 分钟前
【Linux】网络基础概念
linux·运维·网络
傲世仙尊35 分钟前
从抢票事故到锁的原理-互斥条件变量与生产消费模型
linux·驱动开发
AI+程序员在路上35 分钟前
AP6275S蓝牙双接口解析:HCI UART与PCM的分工与协同
linux·c语言·物联网
小此方1 小时前
Linux网络(十八):TCP连接管理详解:从三次握手、四次挥手到CLOSE_WAIT与TIME_WAIT,深入理解2MSL与端口复用
linux·网络·网络协议·tcp/ip
进击的荆棘1 小时前
Linux系统——文件(上)
linux·运维·服务器·文件
k4m7v2pz1 小时前
ThinkPad E490 风扇 “转两秒就停“ 实录:迟滞曲线 + 最短运转时间
linux·脚本·archlinux·thinkpad·风扇·散热
拂拉氏1 小时前
【知识讲解】 Linux文件系统底层认识
linux·文件系统
IT大白鼠1 小时前
彭大帅的AI运维助手——自然语言管理 Linux 集群与网络设备——第 1 篇 · 骨架:说人话,跑命令:自然语言 SSH 运维的骨架
linux·运维·人工智能
牢姐与蒯1 小时前
Linux信号(一).信号产生
linux·运维·服务器·ubuntu