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

【Git游戏】通过游戏重新学习Git

在提交树上移动

HEAD

HEAD:一个标志符号(通常情况下指向当前分支,间接指向当前最新的提交记录)
可以通过git checkout commitID从而指向提交记录

commitID 本身是一串哈希值(基于 SHA-1,共 40 位)

我们在编辑或者提交代码永远是基于HEAD指向的提交记录进行的

^(相对引用)

  • 使用^向上移动1个提交记录
  • 使用~<num>向上移动多个提交记录,如~3

分支名^:相当于分支名指向的提交记录的父提交记录
分支名^^:相当于分支名指向的提交记录的父提交记录的父提交记录

强制移动分支

git branch -f main HEAD~3 强制将main分支指向HEAD往上的第三级提交记录

强制移动HEAD

git checkout HEAD^
git checkout main^

撤销变更

两种撤销方式

  • git reset
  • git revert

适用于本地:
git reset 通过把分支记录回退几个提交记录来实现撤销改动。(改写历史)
git reset向上移动分支,原来指向的提交记录就跟从来没有提交过一样
例:git reset HEAD^:回到上一个提交

适用于远程分支
git revert
新加一个提交,来撤销当前的提交所做的的操作
例如:git revert HEAD
执行撤销指令前务必确定您的HEAD指向的位置

整理提交记录

  • cherry-pick
  • rebase
    git cherry-pick commitID ... (git cherry-pick 提交记录 )
    复制多个提交到当前提交记录之后
http://www.lryc.cn/news/139030.html

相关文章:

  • 如何通过以太坊JSON-RPC方式获取ERC-20代币的信息?
  • 线性代数的学习和整理4: 求逆矩阵的多种方法汇总
  • 【C#学习笔记】匿名函数和lambda表达式
  • 百度Apollo:引领自动驾驶技术创新的先锋
  • Redis 重写 AOF 日志期间,主进程可以正常处理命令吗?
  • java实现生成RSA公私钥、SHA256withRSA加密以及验证工具类
  • lab7 thread
  • 接口自动化测试:mock server之Moco工具
  • 用python从零开始做一个最简单的小说爬虫带GUI界面(2/3)
  • CEF 缓存处理:清理缓存、禁用缓存、忽略缓存
  • Android 系统桌面 App —— Launcher 开发(1)
  • 一个程序员的工作日记--每天就干两件事,一年后让别人刮目相看
  • Linux虚拟机安装(Ubuntu 20)
  • 1.6 服务器处理客户端请求
  • 火山引擎发布自研视频编解码芯片 压缩效率提升30%
  • 从头开始:将新项目上传至Git仓库的简易指南
  • 数据库的增量备份与差异备份
  • 视频云存储/安防监控视频智能分析网关V3:占道经营功能详解
  • 卡尔曼滤波学习笔记
  • NLP预训练模型超大规模探索
  • OpenCV实战系列总目录(更新中)
  • 《华为认证》6to4自动隧道
  • Java课题笔记~Element UI
  • [论文笔记]ON LAYER NORMALIZATION IN THE TRANSFORMER ARCHITECTURE
  • h5逻辑_调用手机拨号功能
  • 字节一面:post为什么会发送两次请求?
  • ROS2 学习(五)接口,动作
  • Vue学习之Vue组件的核心概念
  • Web自动化测试-Selenium语法入门到精通
  • 封装axios及简单应用举例