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)
相关推荐
丶Darling.1 小时前
Git 初学者使用手册
git
乐于分享的阿乐3 小时前
Git下载安装与零基础使用完整教程
git
东北甜妹3 小时前
DevOps 和 Git,Gitlab
git·gitlab·devops
console.log('npc')4 小时前
git发版上线的时候,打tag标签方便jenkins部署
运维·git·jenkins
直接冲冲冲13 小时前
研0-准备claude
git·github
xlq2232217 小时前
5.git
git
努力努力再努力wz18 小时前
【Qt入门系列】:按钮组件全解析:从 QAbstractButton 到快捷键事件、单选与复选机制
c语言·开发语言·数据结构·c++·git·qt·github
Irissgwe19 小时前
四、Git 版本回退与撤销
git·git回退·git撤销
Coin_learning20 小时前
Git 小白教程:从安装上云端,一步不落。
git