1.问题引入:
某项目应用有多个分支。项目部署时,可能在不同工厂的目标服务器部署不同的分支。但完成部署功能的只有1台服务器。即这台服务器运行自动部署的代码。
有可能出现X厂部署分支1、Y厂部署分支2。先部署X厂,然后部署过程中打包之前有修改部分本地代码。当X厂部署完毕,进行部署Y厂时,自动部署代码里当运行git checkout 分支2
时报错,无法切换分支。原因就是X厂部署时本地代码有修改不能直接切换另一分支。
2.解决手段
每次部署完毕依次执行以下操作:
1. 先cd到项目的git目录
2. git checkout . # 忽略修改的文件
3. git clean -n # 列出新增的文件和文件夹
4. git clean -fd # 清除改动过的文件和文件夹