SourceTree实现Tortoisesvn中批量导出代码功能
匿名 · 更新于 2023/3/28
之前用Tortoisesvn可以很方便导出svn中多个提交的增量代码,方便项目版本发布或者代码迁移.
但是,在git客户端Tortoisegit中只能实现单独一次提交的代码导出,如果有多个commit记录还需要分别导出,搞得很不爽
现在发现一种通过SourceTree自定义命令,可以实现批量导出的解决方案,具体实现如下:
第一步、新建一个.sh文件,比如 批量导出代码.sh,放一个自己定义的目录,比如我放在了E:\mygit目录下
第二步、打开 批量导出代码.sh 将如下代码粘贴进去
#!/bin/bash for lastCommitId; do true; done firstCommitId=$1 preCommitId=$(git rev-parse $lastCommitId^1) git archive --format=zip --output=export-diff-file.zip $firstCommitId $(git diff $firstCommitId..$preCommitId --name-only)
如果想实现导出的直接是文件夹,可以加入解压zip命令,不过要求终端支持unzip命令
#!/bin/bashif [ -d "export-diff-file" ]; then rm -rf export-diff-file fi
if [ -f "export-diff-file.zip" ]; then rm export-diff-file.zip fi
for lastCommitId; do true; done firstCommitId=$1 preCommitId=$(git rev-parse $lastCommitId^1) git archive --format=zip --output=export-diff-file.zip $firstCommitId $(git diff $firstCommitId..$preCommitId --name-only) unzip -q export-diff-file.zip -d export-diff-file rm export-diff-file.zip
第三步、打开SourceTree,选择菜单工具→选项→自定义操作,按照下图所示设置
第四步、到此为止,就设置好了,使用方法如下,选中要导出的代码提交记录, 右键自定义操作, 选择批量导出代码,命令运行成功后,可以在项目目录下看到files.zip压缩文件,恭喜你,这就是我们的目标代码!!!
