跳过正文
  1. Posts/

Git 管理

·324 字·1 分钟· ·
沈显鹏
作者
沈显鹏
目录

查找是否有遗漏提交
#

从一个分支找到所有的 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"

相关文章

Error: Permission denied (publickey)
·276 字·1 分钟
本文介绍了如何在配置多个 SSH Git Key 时解决 “Permission denied (publickey)” 错误,确保 GitHub 和 Bitbucket 的 SSH 连接正常工作。
Hexo 添加 Disqus 留言功能
·350 字·1 分钟
在 Hexo 博客中集成 Disqus 评论系统,允许读者留言和互动。
Jenkinsfile example - 实现交互、clone 多个仓库以及 git push
·416 字·1 分钟
这个 Jenkinsfile 示例展示了如何在 Jenkins Pipeline 中实现交互式输入、克隆多个 Git 仓库,并在构建完成后将代码推送到远程仓库。
C/C++ 代码覆盖率工具
·225 字·1 分钟
代码覆盖率衡量自动化测试覆盖的代码行、语句或代码块的比例,是评估 QA 质量的重要指标。本文列出了常见的 C/C++ 代码覆盖率工具及其特性。
代码覆盖率工具 Squish Coco 使用示例
·596 字·2 分钟
介绍代码覆盖率工具 Squish Coco,并展示在 Visual Studio C++ 项目中如何安装、配置、执行和查看覆盖率结果。
GitSCM clone code don't display branch
·546 字·2 分钟
如何在 Jenkins 中使用 GitSCM插件克隆代码时,确保正确显示分支信息,避免出现 HEAD detached 状态的问题。