事情是这样的:
我在完成了A需求后,并且正在修改B需求写着写着出现的bug时,修改一半,突然被要求上线已完成的A需求,于是我寻思着B部分的代码反正我也没提交,就直接切换分支打包上线了,结果就闯祸了,系统报错用不了。
之后赶紧把bug修了赶紧重新打包上线。那一刻,第一次知道原来打包是会把本地所有代码一起打包的,不管有没有提交,因为实习的时候一直都是用Jenkins,只要代码没提交,怎么构建发布都不会有问题。
在本地执行npm run build时,会打包当前项目目录下的所有代码,包括已提交和未提交的代码。npm run build通常是用来安装项目依赖并执行打包操作的,这个过程中会考虑项目根目录下的所有文件,无论它们是否已经被提交到版本控制系统(如Git)中。
因此,如果在本地进行了代码的修改但尚未提交,执行npm run build时这些未提交的修改也会被包含在打包结果中。如果不希望未提交的代码被打包,那么应该在执行打包操作之前,将未提交的代码进行提交,或者将它们从项目中移除。
如果你修改了代码,但没有提交这些修改到版本控制系统(如Git),那么当你运行npm run build进行打包时,这些未提交的修改会被包括在打包过程中。
构建过程通常不会检查版本控制系统的状态,它只会处理项目当前工作目录中的文件。这意味着,无论你是否提交了修改,只要这些修改存在于你的工作目录中,它们都会被构建工具(如Webpack、Gulp等)捕获并包含在最终的构建结果中。
因此,即使你没有提交代码,npm run build命令仍然会打包你工作目录中的所有文件,包括未提交的修改。如果你想确保只有已提交的代码被打包,你应该在运行构建命令之前先将代码提交到版本控制系统中或者移除。