跳过正文
  1. Posts/

Git 管理

·324 字·1 分钟· ·
沈显鹏
作者
沈显鹏
DevOps & Build 工程师 | Python 爱好者 | 开源贡献者
目录

查找是否有遗漏提交
#

从一个分支找到所有的 commit 和 ticket 号,然后去另外一个分支去查找这些提交是否也在这个分支里。

找一个分支的所有 commit 和 ticket 号

# 从 develop 分支上获取所有的 commit 和 ticket 号,然后根据 ticket 号进行排序
git log origin/develop --pretty=oneline --abbrev-commit | cut -d' ' -f2,1 | sort -t ' ' -k 2 >> develop_involve_tickets.txt

--pretty=oneline    # 显示为一行
--abbrev-commit     # 显示短的提交号

cut --help          # 切出来所需要的字段
-d                  # 字段分隔符, ' '分隔空格
-f                  # 只选择某些字段

sort --help         # 利用 sort 将剪出来的字段进行排序
-t                  # 字段分隔, ' '分隔空格
-k                  # 通过键进行键定义排序;KEYDEF 给出位置和类型

然后去另外一个分支去找是否有次提交

由于在 SVN 时代时,每次修改都会在描述里添加 ticket 号,所以切换到 master 分支后,直接搜索所有 ticket 号是否存在就好了.

#!/bin/bash

filename='C:\develop_involve_tickets.txt'
while read line
do
    echo $line
    var=`grep -ir $line src`
    if [[ -z $var ]];then
        echo "not found"
        echo $line >> ../not_found_in_master.txt
    else
        echo "found"
        echo $line >> ../found_in_master.txt
    fi
done < "$filename"

相关文章

C/C++ 代码覆盖率工具

·225 字·1 分钟
代码覆盖率衡量自动化测试覆盖的代码行、语句或代码块的比例,是评估 QA 质量的重要指标。本文列出了常见的 C/C++ 代码覆盖率工具及其特性。