Closed mingshewhe closed 1 year ago
当上一次构建冲突时,如果本次构建复用上一次工作空间,git的状态是merge冲突中,如果源分支中有新增的文件,那么新增文件就会变成没有被版本跟踪的状态,这个时候如果仅开启git reset而不开启git clean,就会导致工作空间清理不干净,因为git reset只能清理已经版本跟踪的文件,而清理不了未版本跟踪的文件。
插件在清理工作空间时,判断当前空间是否是merge中状态,通过判断.git/MERGE_HEAD文件是否存在,如果是merge状态,执行git merge --abort命令中断merge
当上一次构建冲突时,如果本次构建复用上一次工作空间,git的状态是merge冲突中,如果源分支中有新增的文件,那么新增文件就会变成没有被版本跟踪的状态,这个时候如果仅开启git reset而不开启git clean,就会导致工作空间清理不干净,因为git reset只能清理已经版本跟踪的文件,而清理不了未版本跟踪的文件。
解决方案:
插件在清理工作空间时,判断当前空间是否是merge中状态,通过判断.git/MERGE_HEAD文件是否存在,如果是merge状态,执行git merge --abort命令中断merge