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)
相关推荐
Java后端的Ai之路1 小时前
Git pull弹出vim编辑器完整排查指南
开发语言·人工智能·git·编辑器·vim
云泽80811 小时前
Git 版本控制系统(下):从 .git 目录结构到冲突解决机制详解
大数据·git·elasticsearch
麻辣布丁17 小时前
Git冲突原因与解决方法全解
大数据·git·elasticsearch
一支黑色の铅笔21 小时前
VSCode 克隆Git项目
ide·git·vscode
拽着尾巴的鱼儿1 天前
Idea:Cannot Run Git 无法运行git
java·git·intellij-idea
y小川1 天前
【git】移除远端已删除的git分支
git
OsDepK2 天前
项目快速Git至仓库(完整版)
大数据·git·elasticsearch·搜索引擎
妙码生花2 天前
使用git更新ai-go-admin框架
前端·人工智能·git·golang·typescript·php
朝阳5812 天前
如何用 AI 自动生成规范的 Git 提交信息:从暂存区 diff 到 Conventional Commit
人工智能·git
hudawei9962 天前
有未保存的修改,不能切换分支
git·git stash·stash