git 根据版本号查看修改文件列表

根据作者筛选出最近 n 条 commit

git log --author=byron --max-count=5 --oneline
--author 根据作者筛选
--max-count 输出最大记录数
--oneline 单行格式 [hash] comment  --pretty=oneline --abbrove-commit简写  --pretty=format 可以自定义输出格式
image.png

根据版本号查看修改文件列表

git show ecb5e8ac --name-only --pretty=format:
--name-only 只展示文件名
--pretty=format: 自定义输出格式,会有一个空行
image.png

代码同步脚本

#! /usr/bin/bash
path=/home/byron/
project_path=/home/byron/code/

git=giit@git.wzl.com:byron/code.git
branch=dev

#同步文件git的过滤条件
#author:git提交作者
#max_count: 该作者最近几条commit
author=byron
max_count=5

#目标目录
target_path=/var/www/dev.byron.com/

#下载项目到本地服务器
#切换到指定目录
rm -rf $project_path
cd $path
git clone $git
cd $project_path
git fetch origin $branch
git checkout $branch

# xargs 参数说明
# -t 打印执行后的内容
# -i 以{}为占位符,接收标准输出的内容
git log --author=$author --oneline --max-count=$max_count | awk '{print $1}' | xargs git show --name-only --pretty=format: | sed "/^$/d" | uniq | xargs -t -i cp {} $target_path{}

#执行同步完成后的脚本
php $target_path/Console/clear_cache.php
php $target_path/Console/refresh_version.php

rm -rf $project_path

echo "sync success \n"

exit 0
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容