Git打包指定分支所提交的文件

原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/da7e233a-c51d-4714-a5c4-9fe03a8b070b

 
git diff 表示查看当前未提交且被修改的文件记录(将会详细展示当前文件的被修改内容和修改前的内容变化记录,红色标识表示新增,绿色标识表示被删除)(git diff 表示显示文件修改详情)
git diff --name-only 表示查看当前未提交且被修改的文件记录,不同的是由于增加了--name-only选项,则结果是只显示当前被修改的文件名称。不显示内容被修改的标识数据。
git diff --name-only  commId1 commId2 表示查看当前commId1 和commId2 之间所提交的文件的数据名称集合;此处 commId1 和commId2 之间则表示只查看commId1提交数据的集合显示,如果是 commId1 和 commId3的id区间 ,则表示查看commId1 和commId2 的数据集合显示;
commid1表示最新提交的ID
----------------------------------------------指定git提交记录进行打包--------------------------------------------------------
使用git diff --name-only 可以获取到指定提交记录的修改信息集合。
命令稍加更改后,可以为 git diff --name-only  | xargs 
    xargs 命令可以将标准输入数据转换成命令行参数, xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。xargs也可以将单行或多行文本输入转换为其他格式。具体关于xargs的使用和介绍可以参考:http://man.linuxde.net/xargs
那么此时使用 | xargs 后可以将 git diff --name-only所输出的数据转变为命令参数 ,再配合 tar 的打包命令,则可以将所对应的git数据打包输出为tar的压缩包,
如下:
git diff --name-only | xargs tar -cvf arnoldZhao.tar
则表示将当前已修改未提交的文件,打包生成为名叫arnoldZhao.tar文件,默认所生成的路径为当前git的路径
关于tar的一些参数的介绍可以参考;https://blog.csdn.net/eroswang/article/details/5555415     https://zhidao.baidu.com/question/92265556.html
引用linux的常用命令
linux压缩文件时,一般为压缩后的文件名称在前,要压缩的路径在后
原文地址:https://www.cnblogs.com/zh94/p/11922872.html