空白键|git 如何比较不同分支的差异
前两天 , 良许在做集成的时候碰到了一件闹心事 。 事情是这样的 , 良许的一位同事不小心把一个错误的 dev 分支 merge 到了 master 分支上 , 导致了良许编译不通过 。 于是 , 我们需要将版本回退到 merge 之前的状态 。
如果是下面这个状态 , 那很好处理:
这种情况下 , 我们只需一个 git reset 命令即可:
git reset --hard HEAD~
但是 , 如果下面这种状态 , 情况就没那么简单了:
这种情况下 , 就不能简单使用 git reset 命令了 。 这就是良许这次碰到的问题 。 为了解决这个问题 , 我们就需要找出合并后的分支与合并前的分支的差异 , 再进行版本回退 。 这种情况下的版本回退 , 就不能单用 git reset 了 , 而是要配合 git revert 了 , 在后面我们将详细介绍如何优雅的进行版本回退 。
回到正题 , 我们如何找出合并后的分支与合并前分支的差异呢?这里我们需要使用到 git log 命令了 。 我们先模拟出这两个分支的提交情况:
- dev 分支提交情况:
[alvin@VM_0_16_centos git-log]$ git log devcommit b191410906ae20a865fde3f163bb01fd6cfc1f11Author: Liangxu Date:Sat Dec 8 21:03:13 2018 +0800[dev] 版本6commit 793c9582ab0a45c4f8f548be36c06bc5ca427c62Author: Liangxu Date:Sat Dec 8 21:02:30 2018 +0800[dev] 版本5commit dbe54166608772486408c1dea05304de45dba430Author: Liangxu Date:Sat Dec 8 21:00:27 2018 +0800[both] 版本3commit 31894364b1396b00d2935373387397ef930416e4Author: Liangxu Date:Sat Dec 8 20:59:26 2018 +0800[both] 版本2commit 4872f653a8fd7c8541abb4a292d628dc7625884bAuthor: Liangxu Date:Sat Dec 8 20:58:05 2018 +0800[dev] 版本4commit fac6c60ed28c5acfcd01284336d4201cc55ee2e7Author: Liangxu Date:Sat Dec 8 20:57:01 2018 +0800[both] 版本1
- master 分支提交情况:
[alvin@VM_0_16_centos git-log]$ git log mastercommit c690054c67b833b22dce4120899526743b20d36dAuthor: Liangxu Date:Sun Dec 9 07:31:47 2018 +0800[master] 版本7commit dbe54166608772486408c1dea05304de45dba430Author: Liangxu Date:Sat Dec 8 21:00:27 2018 +0800[both] 版本3commit 31894364b1396b00d2935373387397ef930416e4Author: Liangxu Date:Sat Dec 8 20:59:26 2018 +0800[both] 版本2commit fac6c60ed28c5acfcd01284336d4201cc55ee2e7Author: Liangxu Date:Sat Dec 8 20:57:01 2018 +0800[both] 版本1
在这些提交里 [both] 表示两个分支都有的提交 ,[dev] 表示只有在 dev 分支的提交 , [master] 表示只在 master 分支的提交1. 查看dev有 , 而 master 分支没有的提交
- 方法一
git log dev ^master
结果:[alvin@VM_0_16_centos git-log]$ git log dev ^mastercommit b191410906ae20a865fde3f163bb01fd6cfc1f11Author: Liangxu Date:Sat Dec 8 21:03:13 2018 +0800[dev] 版本6commit 793c9582ab0a45c4f8f548be36c06bc5ca427c62Author: Liangxu
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 湖人队|扎心?一张图看湖人如何应对马赛克三分雨,神龟5米范围没人理他
- 搜狐新闻|准大学生数码三件套如何选?这些元气好物值得种草
- 想好好做医生的胖子|五十岁女性经常有周身无力和疼痛的困扰!该如何应对?医生告诉您
- 儿童饮食|秋冬季如何让宝宝爱上吃水果?稍微蒸一下美味翻倍,营养价值更高
- 队员|北极科考中“遭遇”北极熊,看科考队员如何与它们和谐相处
- 中国历史发展过程|中国历史发展过程!中国游戏外挂发展史:“辅助工具”是如何成长为“苍
- 金色年华录|都是男扮女装谈恋爱,《少女大人》比《女世子》如何?
- 上海市嘉定区人民政府网站|每年消耗3350吨蔬菜150吨肉,嘉定这家中央厨房如何践行“光盘行动”?
- 上海嘉定|如何让《民法典》走进群众心里?嘉定这些街镇和单位这样做
- 没蜡笔的小新|“整容脸”应该被鄙视吗?医生告诉你千篇一律的好看皮囊如何而来