2023年8月3日发(作者:)

git提取出两个版本之间的差异⽂件并打包查看id⾸先你得知道版本之间的commit id

git log –pretty=oneline $ git log --pretty=oneline差异⽂件并打包git diff这个命令能⽐较两个提交之间的差异,使⽤–name-only参数可以只显⽰⽂件名。由于commit id 太长 ⼀般复制前⾯7位 就可以了例如:$ git diff 61d2112 f3c0f99 --name-only//后续打包太⿇烦 不采⽤

git diff列出两个提交之间差异的⽂件这个输出结果⾮常有意思,就是差异⽂件的相对地址,不正好是压缩命令的参数吗?于是⽴马使⽤压缩命令$ zip 所有的⽂件…

就能成功打包了。只是这样的话也太⿇烦了吧,幸好linux有提供⼀个命令xargs能将前⼀个命令的输出转成另外⼀个命令的参数,按照这个思路就⾮常简单了。$ git diff 61d2112 f3c0f99 --name-only | xargs zip 补充zip 打包解压命令linux zip命令的基本⽤法是:

zip [参数] [打包后的⽂件名] [打包的⽬录路径]linux zip命令参数列表:

-a 将⽂件转成ASCII模式

-F 尝试修复损坏的压缩⽂件

-h 显⽰帮助界⾯

-m 将⽂件压缩之后,删除源⽂件

-n 特定字符串 不压缩具有特定字尾字符串的⽂件

-o 将压缩⽂件内的所有⽂件的最新变动时间设为压缩时候的时间

-q 安静模式,在压缩的时候不显⽰指令的执⾏过程

-r 将指定的⽬录下的所有⼦⽬录以及⽂件⼀起处理

-S 包含系统⽂件和隐含⽂件(S是⼤写)

-t ⽇期 把压缩⽂件的最后修改⽇期设为指定的⽇期,⽇期格式为mmddyyyy举例:说个最常⽤的吧,打包/opt/abc⽬录到/opt/# zip -r /opt/ /opt/abc/ //参数⼀般只要有-runzip命令的基本语法是:unzip [参数] zip⽂件

简单例⼦:

把本⽬录下的⽂件解压:unzip 参数列表:

-l 列出压缩⽂件所包含的内容

-v 显⽰详细的执⾏过程

2023年8月3日发(作者:)

git提取出两个版本之间的差异⽂件并打包查看id⾸先你得知道版本之间的commit id

git log –pretty=oneline $ git log --pretty=oneline差异⽂件并打包git diff这个命令能⽐较两个提交之间的差异,使⽤–name-only参数可以只显⽰⽂件名。由于commit id 太长 ⼀般复制前⾯7位 就可以了例如:$ git diff 61d2112 f3c0f99 --name-only//后续打包太⿇烦 不采⽤

git diff列出两个提交之间差异的⽂件这个输出结果⾮常有意思,就是差异⽂件的相对地址,不正好是压缩命令的参数吗?于是⽴马使⽤压缩命令$ zip 所有的⽂件…

就能成功打包了。只是这样的话也太⿇烦了吧,幸好linux有提供⼀个命令xargs能将前⼀个命令的输出转成另外⼀个命令的参数,按照这个思路就⾮常简单了。$ git diff 61d2112 f3c0f99 --name-only | xargs zip 补充zip 打包解压命令linux zip命令的基本⽤法是:

zip [参数] [打包后的⽂件名] [打包的⽬录路径]linux zip命令参数列表:

-a 将⽂件转成ASCII模式

-F 尝试修复损坏的压缩⽂件

-h 显⽰帮助界⾯

-m 将⽂件压缩之后,删除源⽂件

-n 特定字符串 不压缩具有特定字尾字符串的⽂件

-o 将压缩⽂件内的所有⽂件的最新变动时间设为压缩时候的时间

-q 安静模式,在压缩的时候不显⽰指令的执⾏过程

-r 将指定的⽬录下的所有⼦⽬录以及⽂件⼀起处理

-S 包含系统⽂件和隐含⽂件(S是⼤写)

-t ⽇期 把压缩⽂件的最后修改⽇期设为指定的⽇期,⽇期格式为mmddyyyy举例:说个最常⽤的吧,打包/opt/abc⽬录到/opt/# zip -r /opt/ /opt/abc/ //参数⼀般只要有-runzip命令的基本语法是:unzip [参数] zip⽂件

简单例⼦:

把本⽬录下的⽂件解压:unzip 参数列表:

-l 列出压缩⽂件所包含的内容

-v 显⽰详细的执⾏过程