首页 » 资源分享 » 正文

使用git把某一次commit修改过的文件打包导出



在用git做项目的版本控制时,经常需要更新某次或某几次修改后代码文件(无论是新增的需求文件还是修复了BUG的原有文件),使用git最方便的做法就是导出差异文件,也就是使用git导出某次commit的文件,或使用git导出某次commit后的文件

一般在修改完代码后的工作流程是这样的:
1、把新增加的文件使用Git add添加进改动:git add .
2、使用git commit提交改动:git commit -am 'update something'
3、使用git log查看提交的commit id:git log
4、记录下commit id号,比如:f4710c4a32975904b00609f3145c709f31392140
5、使用命令把修改的文件打包导出:

打包某次commit:
git diff-tree -r --no-commit-id --name-only f4710c4a32975904b00609f3145c709f31392140 | xargs tar -rf update_201800001.tar

使用命令把某次节点后的文件导出:
window下:
git diff f4710c4a32975904b00609f3145c709f31392140 HEAD --name-only | xargs tar -rf update_201800001.tar
linux下:
sudo git diff f4710c4a32975904b00609f3145c709f31392140 HEAD --name-only | cpio -pvdmu /var/www/git_update/update_201800001.tar