0


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'formore 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
标签: git github linux

本文转载自: https://blog.csdn.net/sunny_98_98/article/details/129418157
版权归原作者 sunny_98_98 所有, 如有侵权,请联系我们删除。

“Git 比较两个分支的差异”的评论:

还没有评论