Git一篇

一、Git 基础

1. 安装与初始配置

复制代码
# 安装后第一次配置(全局)
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

# 查看配置
git config --list

2. 基础仓库操作

复制代码
# 1. 初始化本地仓库
git init

# 2. 查看文件状态
git status

# 3. 添加文件到暂存区
git add 文件名       # 添加单个
git add .           # 添加所有

# 4. 提交到本地仓库
git commit -m "提交说明"

# 5. 查看提交日志
git log
git log --oneline   # 简洁版

3. 关联远程仓库(GitHub/Gitee/GitLab)

复制代码
# 关联远程仓库
git remote add origin 仓库地址

# 推送到远程
git push -u origin main  # 第一次推送
git push                 # 之后直接用

4. 拉取与克隆

复制代码
# 克隆别人的仓库
git clone 仓库地址

# 拉取远程最新代码
git pull

二、Git 核心:工作区、暂存区、版本库

这是 Git 最重要的概念,必须理解

  • 工作区:你电脑里写代码的文件夹
  • 暂存区git add 后存放的区域
  • 版本库.git 文件夹,存储所有提交记录

命令对应关系:

复制代码
工作区 → git add → 暂存区 → git commit → 版本库

三、分支管理(开发必备)

1. 基础分支命令

复制代码
# 查看所有分支
git branch

# 创建分支
git branch 分支名

# 切换分支
git checkout 分支名
# 或新版命令
git switch 分支名

# 创建并切换
git checkout -b 分支名
git switch -c 分支名

2. 合并分支

复制代码
# 切换到主分支
git switch main

# 合并 dev 分支到 main
git merge dev

3. 删除分支

复制代码
# 删除已合并分支
git branch -d 分支名

# 强制删除未合并分支
git branch -D 分支名

四、撤销与回退(高频使用)

1. 撤销工作区修改(未 add)

复制代码
git checkout -- 文件名
git restore 文件名   # 新版推荐

2. 撤销暂存区(已 add 未 commit)

复制代码
git reset HEAD 文件名
git restore --staged 文件名

3. 回退到历史版本

复制代码
# 回退到上一个版本
git reset --hard HEAD^

# 回退到指定版本(用 git log 查哈希值)
git reset --hard 版本号

4. 后悔回退(找回丢失版本)

复制代码
git reflog  # 查看所有操作记录
git reset --hard 版本号

五、进阶:Git 高级技巧

1. stash 临时保存(未写完代码想切换分支)

复制代码
# 保存当前未提交代码
git stash

# 查看保存记录
git stash list

# 恢复最近一次保存
git stash pop

# 清空所有 stash
git stash clear

2. cherry-pick 挑选单个提交合并

复制代码
git cherry-pick 提交哈希值

3. rebase 变基(让提交记录更干净)

rebase = 把你的提交 "移动" 到最新主分支上

复制代码
git switch dev
git rebase main

企业开发常用,比 merge 更整洁。

4. tag 版本打标签

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

# 推送到远程
git push origin v1.0.0

六、冲突解决(必会)

冲突出现场景

  • 多人修改同一行代码
  • 合并分支时

冲突文件样子

plaintext

复制代码
<<<<<<< HEAD
当前分支代码
=======
合并过来的代码
>>>>>>> dev

解决步骤

  1. 手动编辑文件,删除符号,保留正确代码
  2. git add .
  3. git commit -m "解决冲突"
  4. 完成合并 / 变基

七、团队标准 Git 工作流(企业通用)

最常用:Git Flow 简化版

  1. main:线上稳定版本
  2. dev:开发分支
  3. 功能分支:从 dev 拉出,开发完合并回 dev
  4. 上线前合并到 main

开发流程命令

复制代码
# 1. 拉取最新 dev
git switch dev
git pull

# 2. 创建功能分支
git switch -c feature/user-login

# 3. 开发、提交、推送
git add .
git commit -m "完成登录功能"
git push -u origin feature/user-login

# 4. 合并回 dev
git switch dev
git merge feature/user-login
git push

八、Git 避坑指南(高频错误)

  1. 不要在 main 分支直接开发
  2. 提交前必须 git pull 拉最新代码
  3. 冲突不要慌,手动改完再提交
  4. 不要提交 node_modules、.env 等文件
  5. .gitignore 忽略不需要提交的文件

九、速查命令表(建议收藏)

表格

功能 命令
初始化 git init
添加 git add .
提交 git commit -m "msg"
状态 git status
日志 git log
新建分支 git branch 名
切换分支 git switch 名
合并 git merge 名
暂存 git stash
回退 git reset --hard 版本号

总结

  1. 基础init/add/commit/status/log/pull/push
  2. 分支branch/switch/merge
  3. 撤销restore/reset/stash
  4. 进阶rebase/cherry-pick/tag
  5. 团队:功能分支开发 + 合并提测
相关推荐
hhzz2 分钟前
全局实例跟踪(GIT):像人类一样定位目标——VideoCube基准与SiamFC实战全解析
大数据·python·计算机视觉·目标跟踪·数据分析
运维行者_9 小时前
企业无线网络监控的挑战与智能化演进趋势
大数据·运维·服务器·网络·数据库
QiLinkOS9 小时前
第三视觉理解徐玉生与他的商业活动(30)
大数据·c++·人工智能·算法·开源协议
超级数据查看器9 小时前
超级数据查看器 v10.0 发布
java·大数据·数据库·sqlite·安卓
数安3000天10 小时前
增量数据如何自动分类分级,避免目录“过期“?
大数据·数据库
Data-Miner12 小时前
智慧监狱大数据方案,颠覆传统监管新模式!
大数据
RFID科技的魅力14 小时前
RFID资产管理系统选型避坑指南:从需求梳理到落地验证
大数据·人工智能·物联网·rfid
小猴子下山12315 小时前
2026年无锡细胞存储市场格局观察:四家企业的传承脉络与业务分野
大数据·人工智能·精选
2503_9317124816 小时前
中小学课桌椅/报告厅座椅/大学教室桌椅/校园课桌椅/高校阶梯教室排椅公司优选
大数据
蓝速科技16 小时前
蓝速科技三色灯光会议预约门牌深度评测
大数据·人工智能·科技