用脚本进行提取GIT分支差分包,用脚本同步pull多个分支

有时不便于新建新分支,需要提取差分包进行保存可以用如下命令进行提取

git diff 608e120 4abe32e --name-only | xargs zip update.zip

git diff  --name-only | xargs zip update.zip

上面的命令git diff无法对未tracked的文件进行提取,如下的脚本即可一次性提取当时修改状态 的所有文件,包括未提交过的新增文件。

 

#如果因为在WINDOWS下编辑过此文件,需要在LINUX下面把此脚本用dos2unix patch_command.sh 重新格式化一下才能执行

#导出GIT当前的修改状态

git status -s > ../exportlist;

#对导出的文件列表进行编辑

sed -i 's/^...//g' ../exportlist;

#因脚本放在工程根目录,GIT STATUS会导出需要定向删除

sed -i '/patch_command.sh/d' ../exportlist

#把导出文件列表打包成ZIP压缩包

cat ../exportlist |xargs zip -r update.zip;

rm ../exportlist

 

如下脚本可以实现同步更新多个GIT仓库的代码,并同步生成日志文件及输出到屏幕。

如果用如下脚本需要根据目录进行适当修改。我管理的是多个MTK的仓库代码及一些分支,我管理 了十几个仓库,只贴出了一部分,

 

git_update.sh

#按格式生成当前日期

time=$(date "+%Y-%m-%d %H:%M:%S")

echo $time 2>&1 |tee -a ./git_result.txt;

 

#git pull 6.0

cd M_6.0/ALPS-MP-M0.MP1-V2.84_LEN6737M_65_M0;

echo -e '\n\n' 2>&1 |tee -a  ../../git_result.txt;

echo "ALPS-MP-M0.MP1-V2.84_LEN6737M_65_M0" 2>&1 |tee -a ../../git_result.txt;

#echo -e '\n' >> ../../git_result.txt;

git pull 2>&1 |tee -a  ../../git_result.txt;

 

#git pull 7.0

echo -e "\n\n" 2>&1 |tee -a  ../../git_result.txt;

cd ../../N_7.0/ALPS-MP-N0.MP1-V1.0.2_LEN6737M_65_N/;

echo "ALPS-MP-N0.MP1-V1.0.2_LEN6737M_65_N" 2>&1 |tee -a ../../git_result.txt;

#echo -e '\n' >> ../../git_result.txt;

git pull 2>&1 |tee -a ../../git_result.txt;

 

#8.0 modem

#git pull mt6737_alps-mp-o1.mp1

 

cd ../../O_8.1/mt6737_alps-mp-o1.mp1/;

echo -e "\n\n" 2>&1 |tee -a  ../../git_result.txt;

echo "mt6737_alps-mp-o1.mp1" 2>&1 |tee -a ../../git_result.txt;

#echo -e '\n' >> ../../git_result.txt;

git pull 2>&1 |tee -a ../../git_result.txt;

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值