通常我们在一个分支实现一个功能,当开发测试完成后,合并到主分支,这是通常需要在合并分支前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
版权归原作者 sunny_98_98 所有, 如有侵权,请联系我们删除。