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)
相关推荐
炸膛坦客12 小时前
Git 和 GitHub:(九)修改本地仓库内容并推送到远程仓库(关联/克隆)
git·github
To_OC13 小时前
一次 git reset 翻车,让我彻底分清了 hard 和 soft,也想通了 Vibe Coding 的本质
git·程序员·vibecoding
Ai拆代码的曹操14 小时前
Git 集成:AI 代理中的版本控制工作流设计
大数据·git·elasticsearch
lazy H14 小时前
Git clone 怎么用?克隆项目及常见问题完整教程
大数据·git·后端·学习·搜索引擎·github
m0_7436975917 小时前
关于ftp与SELinux的冲突问题
git·github
前进的程序员17 小时前
VS Code Git 工作树:多分支并行开发体验
git·vs code·git工作树
半夜修仙18 小时前
二.Git分支管理
git
六bring个六20 小时前
git使用笔记
笔记·git
最后冰吻free1 天前
git 不新增commit修改中间commit对应的文件
git
芳草萋萋鹦鹉洲哦1 天前
【git】重新生成并添加 SSH Key(Mac)
git·macos·ssh