脚本搞定git文件版本变化信息,解决部署种变更的审核和统计信息工作复杂问题

git diff --name-status --ignore-cr-at-eol --ignore-space-at-eol --ignore-space-change --ignore-all-space --ignore-blank-lines  --output=./diffRes.log sha1 d64cbd76b5376e0fb2e1d8ab50911dfe485d913d

sed -i ./diffRes.log -e 's/^A\t/新增\t/'  -e 's/^D\t/删除\t/'  -e 's/^M\t/修改\t/' -e 's/^R\d*\t/重命名\t/'

生成的对比结果写入当前git项目的根目录,文件名:diffRes.log

统计结果示例:

操作类型 变更内容
更新 src/del.html
修改 index.html
重命名 aaaa.java bbb.java

GIT 生成变更历史文件清单的更多相关文章

  1. Git 生成.gitinore忽略文件

    Git  生成.gitinore忽略文件 CD到指定目录下: touch .gitinore .gitinore忽略文件 三种方法: # 以'#'开始的行,被视为注释.(#是注释的意思) # 忽略掉所 ...

  2. Azure DevOps Server: 使用Rest Api获取拉取请求Pull Request中的变更文件清单

    需求: Azure DevOps Server 的拉取请求模块,为开发团队提供了强大而且灵活的代码评审功能.拉取请求中变更文件清单,对质量管理人员,是一个宝贵的材料.质量保障人员可以从代码清单中分析不 ...

  3. git log 查看某文件的修改历史

    先进入此文件所在的目录下 1. git log --help 所有的git命令都可以通过git manual查看 在synopsis中可以看到公式  git log [<options>] ...

  4. git log查看某文件的修改历史

    1. git log filename 可以看到fileName相关的commit记录 2. git log -p filename可以显示每次提交的diff 3. 只看某次提交中的某个文件变化,可以 ...

  5. Git版本控制:Git查阅、撤销文件修改和撤销文件追踪

    http://blog.csdn.net/pipisorry/article/details/47867097 查看文件的修改历史 git log --pretty=oneline 文件名 # 显示修 ...

  6. Git仓库删除大文件

    Git仓库删除大文件 背景 当用Git久了,难免会手误或临时添加一些大文件到仓库中,即使以后添加进了.gitignore,甚至做了git rm,但是Git为了保证版本可回退,history pack里 ...

  7. Git 查看提交历史(分布式版本控制系统)

    1.查看提交历史 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史.完成这个任务最简单而又有效的工具是 git log 命令. $ git log commit ca82a6dff8 ...

  8. git杂记-查看历史提交

    普通查看:git log.输入q退出比较. $ git log commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon ...

  9. Git 内部原理 - (3) Git 引用 (4)包文件

    Git 引用 我们可以借助类似于 git log 1a410e 这样的命令来浏览完整的提交历史,但为了能遍历那段历史从而找到所有相关对象,你仍须记住 1a410e 是最后一个提交. 我们需要一个文件来 ...

  10. git 生成秘钥连接远程仓库

    二.打开GitBash ,用cd命令进入本地项目目,然后把初始化一下,把本地的目录变成git本地仓库, git status 可以查看本地目录的状态信息 git init git status 三.将 ...

随机推荐

  1. pnpm的基本原理及快速使用

    基本原理 前置知识:软件链接与硬链接 软链接(符号链接Symbolic link):是一类特殊的文件, 其包含有一条以绝对路径或者相对路径的形式指向其它文件或者目录的引用.在window快捷方式上和其 ...

  2. C# 获取指定文件夹中所有的文件(包括子文件夹的文件)

    有个需求中需要播放指定路径的声音,但你必须要有该路径的声音才可以播放,如果没有该文件则播放默认的声音,该方法用于初始化应用的时候获取指定目录的所有文件,便于后来播放声音的时判断路径是否存在. usin ...

  3. git学习--GitHub上如何进行PR(Pull Request)操作

    目录 一.前言 二.实现步骤 2.1 将小红在GitHub上的Repository clone到小明的本地电脑 2.1.1 fork小红在GitHub上的Repository到小明的GitHub 2. ...

  4. MySQL:根据指定日期加365天,当前时间距离明年的指定的日期还有多少天-SQL

    一.数据准备 /* Navicat Premium Data Transfer Source Server : songweipeng Source Server Type : MySQL Sourc ...

  5. Spring环境获取Spring的Bean

    一.测试数据准备 /* Navicat Premium Data Transfer Source Server : swp-mysql Source Server Type : MySQL Sourc ...

  6. linux下nginx安装和配置

    一.软件安装 1.环境说明 操作系统:CentOS 7.4 64位 nginx版本:1.16.1 安装日期:2019/10/01 安装用户:root 2.安装运行库 yum -y install gc ...

  7. mybatisplus 中查询的实体对应的表名是动态的解决方案

    开发中遇到需要查询一些表里的数据,这些数据按照一定的规则存放在不同的数据库表里,例如表名是table_name+月份  table_name_2024_05,table_name_2024_04这样, ...

  8. 关于浏览器sessionStorage共享问题

    今天也是闲暇之余看了点前端基础知识发现了好玩的 window.open("同源页面")这种方式新开的页面会复制之前的sessionStorage 通过a标签新开的页面同样也会,原理 ...

  9. Python函数与模块的精髓与高级特性

    本文分享自华为云社区<Python函数与模块的精髓与高级特性>,作者:柠檬味拥抱. Python 是一种功能强大的编程语言,拥有丰富的函数和模块,使得开发者能够轻松地构建复杂的应用程序.本 ...

  10. .NET 代理模式(二) 动态代理-DispatchProxy

    前言 我们都知道,在.NET中实现动态代理AOP有多种方案,也有很多框架支持,但大多框架的实现原理都是通过Emit配合Activator一起使用,从IL级别上实现动态代理. 其实在.NET中有一个更为 ...