当前位置: 首页 > news >正文

Git 相关命令(升级版)

Git 最常用命令在这里就不赘述了,例如git commit / add / checkout

1、让你轻松使用简略版git命令

1.1 配置 git 命令

git config --global --edit 进入 .gitconfig 的编辑

1.2 git 缩写举例

[alias] st= status co = checkout ci = commit ps = push lgs = log --graph --decorate lg = log --graph --decorate --abbrev-commit --all

2、Git 命令补充合集

2.1 怎么样能清楚了解项目发版的每个阶段

当然是打标签git tag

# 在本分支最新的提交上打tag git tag 3.39 # 在指定 commitID 打tag git tag 3.39 commitID # 删除指定的 tag git tag -d 3.39

2.2 只想要某个分支的其中一条commit

# 将指定提交应用于其他分支 git cherry-pick commitID
2.2.1举例说明

# 切换到 master 分支 git checkout master # 操作 git cherry-pick f
2.2.2 使用分支名转移
# 不使用 commitID,使用分支名 # 默认转移该分支最新的提交 git cherry-pick Feature

2.3 临时想跳到另个分支怎么存储修改

2.3.1 给它们起个名字吧!
# 标签存储 git stash save "message"
2.3.2 从哪里找它们?
# 所有的储存列表 git stash list
2.3.3 我想用它们 / 丢了它们
# 应用 git stash apply [存储号] # 删除 git stash drop [存储号]
2.3.4 我想看存储里修改了哪些内容
git stash show [存储号]

2.3.5 只想存储某个文件
# 单个文件 git stash push ./src/pages/index/TipsTag/index.tsx # 多个文件(同个目录下) git stash push ./src/pages/apps/deploySpace/tabs/instance/components/* # 如果不清楚修改文件的具体路径,可以使用以下命令查看 git status #如果想指定目录下的文件类型【.tsx 或者 .scss】,可以使用【*.tsx】这种形式

2.4 撤销操作(去掉某个commit)

reset大家应该不陌生了吧,只要谨慎使用--hard即可

# 回退到上一个版本 git reset --hard HEAD^ # 回退5次操作 git reset --hard HEAD{5}

下面介绍一下revert

它的好处就是 撤销操作 会生成一个单独的commit提交,保留之前的提交(有迹可循)

# 去掉某个commit git revert <commit-hash>

3、rebase 和 merge 的原理

3.1 merge

  • 1节点和2节点会共同去找对应两个节点的父节点
  • 3️⃣个节点的内容进行比较(可以理解为3️⃣份文档)
  • 然后递归合并,进行比较,保留更改的内容
  • 只有第一次不会额外产生一个commit
  • 之前自己分支也就是 2 节点的所有commitID不会改变

3.2 rebase

  • 不需要找共同的父节点,只需要找到 1节点 和 2节点
  • 自己分支的指针从 2最新 指向 1最新
  • 将 2节点 的提交内容暂存起来
  • 然后 1分支 修改的内容重新提交一次,所以会生成新的commitID替换之前旧的commitID
  • rebase后一条直线 是自己的分支(rebase是在自己的分支进行操作的),1节点的那个分支,其实是自己的,就是一条直线

3.3 rebase 的使用场景

  • 保持提交历史的线性,让整个历史提交更加整洁和线性
  • 缺点:会丢失各个分支的合并历史记录,它是将当前分支上的每个提交都取消,然后应用到目标分支上,因此之前的commitID都会变化

3.4 关于merge 和 rebase的流程动图

  • merge的动图
  • rebase的动图
http://www.cnnetsun.cn/news/3236634.html

相关文章:

  • 你说的话,就是你一生的风水: 好好说话 → 心念正向 → 行动积极 → 人脉顺畅 → 机会增多 → 人生顺遂:
  • 方法 , 类深度分析
  • 计算机毕业设计之面向小微企业的简历管理系统
  • 计算机毕业设计之面向智慧校园社区的班级管理系统
  • 不受限制的私域沟通工具|海王IM私有化部署解决方案
  • xx 和 __xx__ 的核心区别
  • 2026实测:宁波3大周末语文小升初机构全面评测
  • CPU虚焊诊断与维修方案对比:3种方法成本/风险/成功率全解析
  • OpenCV 4.8 相机标定实战:11张棋盘格图片获取亚像素级精度
  • CTF密码学经典题解题writeup
  • 百度网盘 YunShellExtV164.dll 注入排查:3步定位explorer/Everything高CPU元凶
  • 大模型选型避坑指南(2024企业级实测版):DeepSeek-R1 vs GPT-4 Turbo——响应速度差3.8倍?
  • “四可”政策解读:从分布式光伏到台区储能的全面覆盖
  • ERP怎么做销售管理?英雄云表单实践打造销售管理全流程
  • 多模态知识图谱来了:文本 + 图像 + 表格,图数据库如何统一建模?悦数科技
  • 为什么你的Cursor inline chat总返回无效代码?资深工程师逆向解析其token截断机制与prompt对齐黄金公式
  • 科大讯飞六麦阵列 ROS 功能包深度解析:5 步实现机器人语音交互与 360° 声源定位
  • 1980–2024 年全球干旱事件时空聚类数据集
  • 为什么你的Gemini不响应Slides?揭秘G Suite管理员策略、OAuth作用域限制与会话超时三大断连根源
  • 别再手动删C盘文件 安全清理姿势
  • 《架构特别篇二:SYSTEM 层》
  • 高斯泼溅研发哪家强?TOP5机构数据排名揭秘
  • 海外新闻稿发了等于白发?朝闻通「增强发布」戳中了多少出海品牌的传播痛点
  • 天工AI DeepResearch技术解析:智能文档生成与办公自动化实践
  • 计算机组成原理知识点+题(白中英等的版本)
  • 支付逻辑漏洞防御:5 项后端校验策略与 3 个真实代码修复案例
  • WaveTools鸣潮工具箱:3个核心功能让游戏体验提升200%的专业解决方案
  • 大数据毕设选题推荐:基于智能匹配的霍兰德职业招聘可视化系统的设计与实现 基于用户测评数据的就业趋势分析系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Next.js DApp 的 Edge Runtime 部署:Vercel Edge 与 Cloudflare Workers 的性能对比
  • 计算机毕业设计之基于SSM框架的低碳校园宿舍用电监测与激励系统设计与实现