Git 比较两个分支的差异

这篇具有很好参考价值的文章主要介绍了Git 比较两个分支的差异。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通常我们在一个分支实现一个功能,当开发测试完成后,合并到主分支,这是通常需要在合并分支前Code Reivew。

通常我们在Git Lab等工具进行Merge(Push Request)的时候就可以通过网页进行代码审查。而有时候Git Lab的网页对比工具的算法导致整个文件都被认为发生修改,不便于查看修改变更。

这时如果工作在Windows环境中,也可以使用TortoiseGit 工具进行比较,也是比较方便的。

如果我们工作在Linux命令行环境呢,就只能使用git tool了。下面介绍一下在Linux命令行下如何做代码审查。

首先拉取要比较的两个分支的最新代码:

[root@localhost tt_td]# git checkout drop_copy
Branch drop_copy set up to track remote branch drop_copy from origin.
Switched to a new branch 'drop_copy'
[root@localhost tt_td]# git pull
Already up-to-date.

可以先查看有哪些文件发生改变,命令git diff branch_1 branch_2 --stat

[root@localhost tt_td]# git checkout master
Switched to branch 'master'
[root@localhost tt_td]# git diff master drop_copy --stat
 config/TT_gateway.yml              |   11 +-
 src/CMakeLists.txt                 |   14 +-
 src/gateway/CMakeLists.txt         |    1 +
 src/gateway/gateway.cpp            |  100 +++----
 src/tt_connect/Application.cpp     | 2337 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------
 src/tt_connect/Application.h       |  272 ++++++++++---------
 src/tt_connect/TTField.h           |   16 ++
 src/tt_connect/TTFixDefinedMsg.h   |   22 ++
 src/tt_connect/TTFixFieldNumbers.h |   21 ++
 src/tt_connect/config.h.in         |    1 +
 src/tt_connect/config_parser.h     |   83 ++++++
 src/tt_connect/tt_connect.cpp      |  249 ++++++++---------
 src/tt_connect/tt_connect.h        |   74 +++---
 13 files changed, 1766 insertions(+), 1435 deletions(-)

最后可以借助vimdiff来查看文件内容的改动,命令:git difftool branch_1 branch_2,每次打开文件对比时,命令行会出现下面的提示文字,输入Y或者直接回车键即可:

[root@localhost tt_td]# git difftool master drop_copy

This message is displayed because 'diff.tool' is not configured.
See 'git difftool --tool-help' or 'git help config' for more details.
'git difftool' will now attempt to use one of the following tools:
kompare emerge vimdiff

Viewing: 'config/TT_gateway.yml'
Launch 'vimdiff' [Y/n]: Y
2 files to edit

另外如果是只比较两个分支下的某个文件,可以使用命令:git difftool branch_1 branch_2 filename文章来源地址https://www.toymoban.com/news/detail-509293.html

到了这里,关于Git 比较两个分支的差异的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java Stream比较两个List的差异,并取出不同的对象

    可以使用Java8的Stream API来比较两个List的差异,并取出不同的对象。   1. 将两个List转换为Stream类型;   2. 调用Stream的filter方法,将不同的对象过滤出来;   3. 将过滤出的不同的对象转换为List类型。         上述代码中,将两个List类型的对象list1和list2转换为Stream类型,并

    2024年02月08日
    浏览(34)
  • Git---分支差异对比(git diff)

    git diff 命令可以用来比较文件的不同,即比较文件在暂存区和工作区的差异

    2024年02月15日
    浏览(26)
  • 【Java】Java核心 81:Git 教程(4)差异比较 & 版本回退

    在Git中,可以使用差异比较命令和版本回退命令来查看文件之间的差异并回退到早期的版本。 以下是对这些操作的简要解释: 差异比较:你可以使用 git diff 命令来比较工作区中的文件与暂存区或已提交版本之间的差异。执行以下命令可以查看文件的差异: 这将显示工作区与

    2024年02月15日
    浏览(30)
  • 使用beyond compare比较git版本差异的配置和使用方法

    首先输入下述指令查看自己的git版本支持哪些工具 bc3,bc4,代表的就是beyond compare,如果没有的话就升级git版本吧 git bash中输入下述指令,换成你自己的文件路径,注意是BComp.exe不是BCompare.exe 之后只需要在gitbash中输入git difftool,就能自动打开beyond compare显示差异的文件 但假

    2024年02月16日
    浏览(35)
  • Git比对两个版本之间的差异文件并打包(相对版本ID更简单)

    前言 在项目开发部署中,通常是将一个Git项目全量打包发布,但有的场景只需要导出有变更的那部分文件,增量发布,此时就需要使用Git导出增量包了,另一篇的版本ID打包相对麻烦,commit id 太长 一般复制前面7位。 1. git bash 查看所有差异的文件列表 二、在项目根目录右键

    2024年02月12日
    浏览(28)
  • git两个分支发生同步修改问题的解决

    比如你有两个分支:master和v1.0。当你在v1.0中修改了内容后,切换到master分支,发现master中也同步修改了。 这是因为,git会把没有commit的内容直接移到你要checkout的branch上面去,而且如果此时对这个新跳转的branch中,原来修改的内容进行二次修改。 1️⃣ 方案一: 再回到原来

    2024年02月11日
    浏览(35)
  • 两个有序表合并成一个有序表最少与最多的比较次数

    在数据结构(严蔚敏)第二章课后习题中有这样一个题,关于把两个有序表合并的操作比较次数 将两个各有 N 个元素的有序表归并成一个有序表,其最少的比较次数是( A )。 A.N B.2N -1 C.2N D.N -1 显然,比如A顺序表的最大值如果比B顺序表的最小值还要小,只需要拿B的最

    2024年02月10日
    浏览(32)
  • git使用某一个分支完全覆盖另一个分支

    比如说使用master分支覆盖dev分支 比如说使用master分支覆盖dev分支 比如说使用master分支覆盖dev分支 如果需要用master分支的代码覆盖到dev分支上,只需要如下操作: 1、切换到dev分支 2、设置本地分支代码的远程为master分支 3、本地代码已覆盖,强制推送本地分支到远程即可 4、

    2024年02月11日
    浏览(53)
  • Git同步一个分支的提交到另一个分支

    Git 是一款分布式版本控制系统,它提供了许多强大的功能来管理代码的版本和变更。 cherry-pick 是一个非常常用的 Git 命令,它的功能是将某个分支的某次提交应用到当前分支。这对于将特定的代码改动从一个分支移动到另一个分支非常有用。例如,你可能在开发分支上修复了

    2024年01月20日
    浏览(31)
  • Git 将一个分支完全覆盖(不是合并)到另一个分支

    Git 将一个分支完全覆盖(不是合并)到另一个分支 案例: 将dev分支的代码完全覆盖到master上      1.git checkout master      2.git reset --hard dev      3.git push origin master --force 注意:若被覆盖的分支有处于受保护(protected)的状态,则执行push操作后会报错:      1. remote: GitLab: Y

    2024年02月01日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包