Git的操作

场景:

我commit提交了需求一版01,又commit提交了需求一版02,

因为我这两次提交有共同的文件,我想合并到一版上面,方便看到底哪些文件进行了修改

具体操作1:

命令:git branch && git rev-parse HEAD

结果:* standard ← 当前在 standard 分支

7c0a7ce28aaa2d ← 这是 HEAD 指向的 commit ID(简写为 7c0a7ce)

具体操作2:

命令:git log --oneline -n 3

确认当前commit操作记录

具体操作3:

先确保 HEAD 是 B(第二版)

1.git checkout standard

2.git reset --hard 7c0a7ce # 确保在第二版提交上

回退两步(保留修改),合并为一次提交

git reset --soft HEAD~2

git commit -m "feat: 多数据源功能整合(第一版 + 第二版)"

完成的合并提交分支

注意:

git reset --hard 7c0a7ce

是一条非常强力的 Git 命令,它的核心作用是将你的代码仓库强制回退到哈希值为 7c0a7ce 的那个提交状态

  1. 移动分支指针(HEAD) :当前所在的分支会直接指向 7c0a7ce 这个提交。
  2. 重置暂存区:暂存区的内容会被完全替换成该提交时的状态。
  3. 覆盖工作区:你当前工作目录下的所有文件也会被强制还原成该提交时的样子。
    git reset --soft HEAD~2

一条非常安全且常用 的 Git 命令,它的核心作用是撤销最近的两次提交,但完美保留你的代码修改

  1. 移动分支指针(HEAD):当前所在的分支会回退到倒数第 3 个提交的状态。
  2. 保留暂存区和工作区 :你最近两次提交的所有代码改动,不仅不会丢失,还会被原封不动地放回暂存区(Staging Area)
相关推荐
深海鱼在掘金2 小时前
Git 完全指南 —— 第1章:Git 概览与版本控制演进
git
noravinsc1 天前
关于Git Flow
git
蜜獾云1 天前
在Git中配置用户名和密码
git
scx_link1 天前
通过git bash在本地创建分支,并推送到远程仓库中
开发语言·git·bash
南大白1 天前
IntelliJ IDEA 运行时的 JVM 本地内存溢出崩溃
git
码农小旋风1 天前
Claude Code 基础用法大全:对话、分析、修改、测试、Git 和工作流
人工智能·git·chatgpt·claude
南大白1 天前
Git 撤回提交完整方案
git
像风一样的男人@1 天前
python --实现代理服务器
git·ui
sbjdhjd1 天前
从零搭建企业级 CI/CD(下):Jenkins+GitLab+Harbor 全链路实战指南
git·servlet·ci/cd·云原生·云计算·gitlab·jenkins
码云数智-大飞1 天前
Go Channel 详解:并发通信的正确姿势
前端·数据库·git