使用git导出某次commit的文件 ``` git diff-tree -r --no-commit-id --name-only f4710c4a32975904b00609f3145c709f31392140 | xargs tar -rf update\_201800001.tar ``` # 使用git导出某次commit后的文件: ## 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 ``` ## git 导出新修改的文件 ``` git archive -o update.zip HEAD $(git diff --name-only HEAD) ``` ## git提取出两次提交之间的差异文件并打包 ``` git diff 608e120 4abe32e --name-only | xargs zip update.zip ``` ##### 其中 608e120  4abe32e是两次提交的hash id ***** ## 一般在修改完代码后的工作流程是这样的: 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、使用命令把修改的文件打包导出: 来源:http://www.caizhichao.cn/tag/git