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的常用命令
linux压缩文件时,一般为压缩后的文件名称在前,要压缩的路径在后


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?