工具是人类进步的一大体现,存在即有存在的道理。为什么我会写这篇文章呢?因为当你发现生产的代码有问题时,临时修改的文件,这个时候使用sourcetree写脚本导出修改过的文件,速度非常快,无需自己去寻找改了哪些文件,最后采用FTP的方式上传到生产即可快速实现生产问题修复。
话不多说,上教程。
1.编写php处理代码和sh脚本;代码自己网上百度(根据自己环境决定)
2.操作-》自定义操作-》导出文件操作
3.复制到生产服务器黏贴即可
区分项目导出:
<?php
date_default_timezone_set('Asia/Shanghai');
if($argc == 0)
{
exit('Nothing to copy');
}
define('DS', DIRECTORY_SEPARATOR);
//$source_dir = 'D:'.DS.'phpstudy_pro'.DS.'WWW'.DS.'XX_yxxcx_git_project'; //小程序
//$source_dir = 'D:'.DS.'phpstudy_pro'.DS.'WWW'.DS.'XX_emtc_git_project'; // emtc
//$source_dir = 'D:'.DS.'phpstudy_pro'.DS.'WWW'.DS.'XX_yxqf_git_project'; //yxqf
$exp_dir ='D:'.DS.'phpstudy_pro'.DS.'WWW'.DS.'zjy_sourcetree_export';
function ExportOneFile($path,$source_dir)
{
global $exp_dir;
$final_source = $source_dir.DS.$path;
$final_dest = $exp_dir.DS.$path;
$final_dest_dir = dirname($final_dest).DS;
if(!is_dir($final_dest_dir))
{
mkdir($final_dest_dir,0777,true);
}
return @copy($final_source,$final_dest);
}
foreach($argv as $index=>$path)
{
//改造一下支持动态替换
if($index === 0 || $index === 1 || $index === 2)
{
continue;
}
if(ExportOneFile($path,$argv[2]))
{
echo $index.' : '.$path." exported." . PHP_EOL;
}
}
echo PHP_EOL. "All Complete. Please go to {$exp_dir} to view files" . PHP_EOL . PHP_EOL;
?>