git_如何查看两个版本之间那些文件被修改

  • Post author:
  • Post category:其他


需求

由于工程比较庞大,接近500M,每部署一次如果都全量部署,不仅仅磁盘空间耗费较大,最主要是要等很长时间,

之前就一直有这个问题,但是也就没有弄,上周领导发话了,这个问题必须要解决了

前记

1. 增加带宽,这个显然不太合适
2.只部署更新的文件,嗯,就是这样

要解决上面的问题,可能有这么几个方案

相关命令

这里–name-only参数只会列出变化的文件名,列表,显示根据需要对这个结果非常的满意


git diff HEAD^ HEAD^^ --name-only

示例

我们版本控制工具是在用git,所以就直接使用git自带的命令了,所以这个仅供参考下,另外也可以参考下inotify

#!/bin/bash

diff_path_file_list="/tmp/a"
diff_path_dir_list="/tmp/b"

git diff HEAD^ HEAD^^ --name-only > $diff_path_file_list

for path in $(cat $diff_path_file_list)
do
    dirname $path >> $diff_path_dir_list
done

clear

echo -e "\033[31;1m需要更新的文件如下\033[0m"
echo
cat $diff_path_dir_list | sort | uniq

rm -f $diff_path_file_list
rm -f $diff_path_dir_list



版权声明:本文为longyinyushi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。