deeperthinker

怎么生成一个git包

1. 生成仓库压缩包

用 git archive 打包当前仓库或指定版本内容:
# 打包最新版本为 ZIP
git archive -o 包名.zip HEAD  

# 打包指定提交版本(替换<commit_id>为具体哈希值)
git archive -o 包名.zip <commit_id>  

# 仅打包两次提交间变更的文件  
git archive -o 包名.zip <结束提交ID> $(git diff --name-only <开始提交ID> <结束提交ID>)
2. 生成增量变更包

获取两次提交间的变更文件压缩包:
git archive -o 增量包.zip <结束提交ID> $(git diff <开始提交ID>...<结束提交ID> --name-only)
(... 表示两次提交间的所有变更,--name-only 仅提取变更文件名)

3. 生成补丁包

• 生成纯差异补丁:
git diff > 补丁.patch  # 当前工作区与暂存区差异  
git diff <旧提交> <新提交> > 跨版本补丁.patch  # 两提交间差异
• 生成带提交信息的补丁(如最近3次提交):
git format-patch -3  # 生成3个补丁文件,按提交顺序命名
图形化工具操作(以TortoiseGit为例)

1. 右键仓库 → TortoiseGit → 导出为压缩文件

2. 在弹窗中选择分支/提交版本,勾选“仅导出变更文件”可生成增量包

3. 补丁生成:右键提交 → 创建补丁 或 应用补丁

(命令行需确保在仓库根目录执行,图形工具更适合非命令行用户)

posted on 2025-07-04 21:38  gamethinker  阅读(6)  评论(0)    收藏  举报  来源

导航