Yes, you must delete all compiled code. Source control is for, well, the source code, not the compiled files. The worst scenario is when developers commit the compiled binaries. Your case is not the same, since you're not committing large binaries which are diff-unfriendly, but still, keep your source control free of everything you don't need to run the application.

What seems wrong in your case is the deployment process. Instead of pushing the code to the production server directly from the source control, you should rather, in the simplest case:


Load the source code,
Compile and/or optimize it,
Push the compiled version to the server.


If your website has lots of visits, you may need a more complicated flow, using two servers, for example:


Load the source code,
Compile and/or optimize it,
Push the compiled version to the staging server,
Run a bunch of tests to ensure that the website is working on staging server,
Forward all the requests to the production server 2,
Once the production server 1 doesn't have any requests, push the compiled version to it,
Forward all the requests to the production server 1,
Once the production server 2 doesn't have any requests, push the complied version to it,
Use server 1 and server 2 again.


Is it an absolute must that we ignore/delete all compiled files before committing?
Rashi (Sanhedrin 44b, s.v. D'ba'ya) relates the story of Shimon ben Shetach's capture of 80 witches. He instructed his students to pick up the witches because the sorcery would be powerless against the students if the witches were ungrounded. Is this to say that sorcery does not work unless the practitioner is grounded?

If so, how can we interpret the Midrash (Bamidbar Rabba, 20:20) that states that Bilaam used sorcery to fly through the air?
