git的使用

一.Git 核心概念

  • 仓库(Repository):项目存储空间(本地仓库 + 远程仓库)

  • 提交(Commit):一次版本变更的快照(含唯一 SHA-1 哈希 ID)

  • 分支(Branch) :独立的开发线(默认主分支:mainmaster

  • 标签(Tag):特定提交的标记(常用于版本发布)

  • 暂存区(Staging Area) :准备提交的中间区域

二、Git 工作流程

1. 基本工作流

  1. 初始化git initgit clone <url>

  2. 修改文件:在工作目录编辑文件

  3. 暂存更改git add <file>git add .

  4. 提交版本git commit -m "描述信息"

  5. 推送远程git push origin <branch>

  6. 获取更新git pull(= git fetch + git merge

2.分支工作流

bash 复制代码
# 创建新分支
git checkout -b feature-login

# 在新分支开发
git add .
git commit -m "添加登录功能"

# 切换回主分支
git checkout main

# 合并功能分支
git merge feature-login

# 删除已合并分支
git branch -d feature-login

三、核心命令详解

1. 配置管理

bash 复制代码
# 用户配置
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

# 查看配置
git config --list

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

2. 仓库操作

命令 功能
git init 初始化新仓库
git clone <url> 克隆远程仓库
git remote add <name> <url> 添加远程仓库
git remote -v 查看远程仓库

3. 文件操作

命令 功能
git status 查看文件状态
git add <file> 添加文件到暂存区
git reset <file> 从暂存区移除文件
git restore <file> 丢弃工作区更改
git rm <file> 删除文件并跟踪删除

4. 提交历史

命令 功能
git log 查看提交历史
git log --oneline --graph 简洁历史视图
git blame <file> 查看文件修改历史
git diff 查看未暂存的修改
git diff --staged 查看已暂存的修改

5. 分支管理

命令 功能
git branch 查看分支列表
git branch <name> 创建新分支
git checkout <branch> 切换分支
git switch <branch> (新)切换分支
git merge <branch> 合并分支
git rebase <branch> 变基操作

6. 远程协作

命令 功能
git fetch 获取远程更新
git pull 拉取并合并远程更新
git push 推送本地提交
git push -u origin <branch> 首次推送并建立追踪

四、高级功能

1. 撤销操作

bash 复制代码
# 修改最后一次提交
git commit --amend

# 撤销工作区更改
git restore <file>

# 重置到指定提交
git reset --soft HEAD~1  # 保留更改在暂存区
git reset --mixed HEAD~1 # 保留更改在工作区(默认)
git reset --hard HEAD~1  # 丢弃所有更改

# 恢复被删除的文件
git checkout HEAD -- <file>

2. 标签管理

bash 复制代码
# 创建轻量标签
git tag v1.0.0

# 创建含注释的标签
git tag -a v1.1.0 -m "Release version 1.1.0"

# 推送标签到远程
git push origin --tags

# 检出标签版本
git checkout v1.0.0

3.设置全局换行符处理

bash 复制代码
# Windows 推荐(检出时 CRLF,提交时 LF)
git config --global core.autocrlf true

# Linux/macOS 推荐(检出时不转换)
git config --global core.autocrlf input

# 完全禁用转换
git config --global core.autocrlf false

五、Git 工作流模型

1. Git Flow

  • main:稳定生产代码

  • develop:最新开发代码

  • feature/:功能开发分支

  • hotfix/:紧急修复分支

2. GitHub Flow

  1. main 创建分支

  2. 添加提交

  3. 创建 Pull Request

  4. 审查合并代码

  5. 立即部署

3. GitLab Flow

  • 环境分支:productionstagingmain

  • 基于发布的分支管理

4. .gitignore 文件

bash 复制代码
# 忽略所有日志文件
*.log

# 忽略node_modules目录
node_modules/

# 忽略编译产物
/build/
/dist/

# 忽略系统文件
.DS_Store
相关推荐
海上生明月丿20 小时前
Git介绍 && 常用命令
git
力Mer1 天前
【Git】git reset 和 git revert 的用法及示例讲解
git
角砾岩队长1 天前
Windows系统下的Git安装(2025年6月更新)
windows·git
焚膏油以继晷,恒兀兀以穷年2 天前
git 基础命令学习
git·版本管理工具
一只游鱼2 天前
大文件推送到git仓库
git·git lfs
2401_884810743 天前
git知识点
git
小牛itbull3 天前
从 Vercel 构建失败谈 Git 大小写敏感性问题:一个容易被忽视的跨平台陷阱
git
chainbees3 天前
Git账号配置 SSH 密钥
运维·git·ssh
Brian Xia3 天前
Lazygi - 让git操作不再困难
git
wdfk_prog4 天前
`git rm --cached`:如何让文件“脱离”版本控制
大数据·linux·c语言·笔记·git·学习·elasticsearch