1. git reset —— 回溯历史版本

  1. 回溯到创建feature-A 分支前

    让我们先回溯到上一节feature-A分支创建之前,创建一个名为fix-B 的特性分支。

    要让仓库的HEAD、暂存区、当前工作树回溯到指定状态,需要用到git rest --hard命令。只要提供目标时间点的哈希值A,就可以完全恢复至该时间点的状态。

    $ git reset --hard fd0cbf0d4a25f747230694d95cac1be72d33441d
    HEAD is now at fd0cbf0 Add index
    
  2. 推进至feature-A 分支合并后的状态

    git log命令只能查看以当前状态为终点的历史日志。所以这里要使用git reflog命令,查看当前仓库的操作日志。在日志中找出回溯历史之前的哈希值,通过git reset --hard命令恢复到回溯历史前的状态。

    首先执行git reflog 命令,查看当前仓库执行过的操作的日志。

      $ git reflog4096d9e HEAD@{0}: commit: Fix Bfd0cbf0 HEAD@{1}: checkout: moving from master to fix-Bfd0cbf0 HEAD@{2}: reset: moving to fd0cbf0d4a25f747230694d95cac1be72d33441d83b0b94 HEAD@{3}: merge feature-A: Merge made by the 'recursive' strategy.fd0cbf0 HEAD@{4}: checkout: moving from feature-A to master8a6c8b9 HEAD@{5}: checkout: moving from master to feature-Afd0cbf0 HEAD@{6}: checkout: moving from feature-A to master8a6c8b9 HEAD@{7}: commit: Add feature-Afd0cbf0 HEAD@{8}: checkout: moving from master to feature-Afd0cbf0 HEAD@{9}: commit: Add index9f129ba HEAD@{10}: commit (initial): First commit
    

    从上面数第四行表示feature-A 特性分支合并后的状态,对应哈希值为83b0b94A。我们将HEAD、暂存区、工作树恢复到这个时间点的状态。

       $ git checkout master$ git reset --hard 83b0b94HEAD is now at 83b0b94 Merge branch 'feature-A'
    

2. 消除冲突

    $ git merge --no-ff fix-BAuto-merging README.mdCONFLICT (content): Merge conflict in README.mdRecorded preimage for 'README.md'Automatic merge failed; fix conflicts and then commit the result.

系统告诉我们README 文件发生了冲突(Conflict)。系统在合并README文件时,feature-A 分支更改的部分与本次想要合并的 fix-B 分支更改的部分发生了冲突。

  1. 查看冲突部分并将其解决

    用编辑器打开README 文件,就会发现其内容变成了下面这个样子。

    # Git教程
    <<<<<<< HEAD
    - feature-A
    =======
    - fix-B
    >>>>>>> fix-B
    

    ======= 以上的部分是当前 HEAD 的内容,以下的部分是要合并的 fix-B 分支中的内容。我们在编辑器中将其改成想要的样子。

    # Git教程
    - feature-A
    - fix-B
    

    如上所示,本次修正让feature-A 与fix-B 的内容并存于文件之中。但是在实际的软件开发中,往往需要删除其中之一,所以各位在处理冲突时,务必要仔细分析冲突部分的内容后再行修改。

3. git commit --amend —— 修改提交信息

4. git rebase -i —— 压缩历史

Git 常用操作(4)- 更改提交相关推荐

  1. git 常用操作总结——基于Gitlab

    博主目前在蚂蚁集团-体验技术部,AntV/S2 是博主所在团队的开源项目--多维交叉分析表格,欢迎使用,感谢到 S2 github 仓库点赞 star,有任何关于前端面试.就业.技术问题都可给在文章后 ...

  2. Node.js Git Server搭建及Git常用操作笔记

    Node.js Git Server搭建及Git常用操作笔记 安装Git工具即可在本地进行Git仓库的管理,如果要实现远程仓库则需要搭建Git Server.通过Node.js搭建Git Server ...

  3. git报错:‘fatal:remote origin already exists‘怎么处理?附上git常用操作以及说明。

    git添加远程库的时候有可能出现如下的错误, 怎么解决? 只要两步: 1.先删除 $ git remote rm origin 2.再次执行添加就可以了. ---------------------- ...

  4. Git 常用操作(1)- 配置、查看、添加、暂存和提交

    1. Git 基本概念 Git 有三种状态:已提交(committed).已修改(modified)和已暂存(staged). 已提交:表示数据已经安全的保存在本地数据库中. 已修改:表示修改了文件, ...

  5. 如何团队协作,代码托管?Git使用教程:最详细、最浅显、一文读懂Git常用操作!...

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 作者:涂根华 来源:www.cnblogs.com/tugenhua0707 Git使 ...

  6. 版本控制工具——Git常用操作(下)

    本文由云+社区发表 作者:工程师小熊 摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码.使用分支.出现代码冲突的解决办法.紧急保存现场和恢复现场的操作.学会以后已经 ...

  7. Git 常用操作 | 重写 commit 历史

    当我们修改完代码,提交了一个 commit,然后发现改错了,怎么修正?这种情况分为两种:修正最近一次提交,和修正历史多个提交. 修正最近一次提交 如果发现刚刚提交的内容有错误,当场再修改一下再提交一个 ...

  8. Git使用教程:最详细、最浅显、一文读懂Git常用操作!

    作者:涂根华 来源:www.cnblogs.com/tugenhua0707 转自:datawhale Git使用教程: 最详细.最傻瓜.最浅显.真正手把手教! 导读:因为教程详细,所以行文有些长,新 ...

  9. Git学习总结(22)——Git 常用操作再总结

    一.前言 每一个项目,我们都把他变成一个git仓库.一个git仓库包含无数分支,默认分支为master,每个分支都包含无数个版本库,每个版本库都包含无数个文件. 二.常用操作 $ git co(che ...

  10. git常用操作以及码云Gitee连接git

    文章目录 1 git简介 1.1 工作区.暂存区.版本库 1.2 工作区状态保存 2 和gitee连接 2.1 创建git仓库 2.2 通过ssh公钥连接 2.2.1 获取公钥 2.2.2 gitee ...

最新文章

  1. c+语言+null,C/C++语言中NULL、'\0’和0的区别
  2. PC人脸识别登录,出乎意料的简单
  3. Python - Sublime Text 3 控制台不能输出中文的解决方法
  4. MyBatis中提示:You have an error in your SQL syntax; check the manual that corresponds to your MySQL ser
  5. 机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(九)
  6. 前端学习(670):分支流程控制if
  7. word无法打开请去应用商店_word软件是什么?word文档是什么?可以用来干什么?...
  8. [前端]多线程在前端的应用——Javascript的线程
  9. [Selenium]如何通过Selenium实现Ctrl+click,即按住Ctrl的同时进行单击操作
  10. Matlab C-Mex Round 1
  11. 使用wePE安装系统
  12. HackMyvm(九)Gigachad持续更新
  13. 【SPFA】【最短路】 腾讯大战360
  14. matlab badsubscript,matlab错误:Subscript indices must either be real positive integers or logicals....
  15. 泰国80亿互联网记录数据库泄漏,疑遭黑客攻击
  16. 计算机认知训练效果,维持认知健康人群晚年认知功能的计算机认知训练
  17. 小红书数据平台:2022年5月彩妆行业数据洞察报告
  18. ASP.NET 三层架构技术 人力资源管理系统项目HR (深入WebServic
  19. 1451_TC275 DataSheet阅读笔记12_时钟、温度以及供电
  20. 视频通话和聊天工具Jitsi

热门文章

  1. 回顾 2018,展望 2019
  2. python内置库之学习ctypes库(二)
  3. LeetCode简单题之解码字母到整数映射
  4. GOF23设计模式(创建型模式)工厂模式
  5. 转置卷积Transposed Convolution
  6. 全景分割:CVPR2019论文解析
  7. zookeeper原理特点案例
  8. Django 第三方引用富文本编辑器6.1
  9. adb.exe: more than one device/emulator
  10. python 2x list 里面的中文打印效果为unicode 编码 的处理方法