War is the definition of "not cheap" because the stakes are so high (you die). Ukraine is building what it can with anything it can get and also in a constant race to adapt and develop superior designs.
You're not seeing "cheaper": you're seeing a literal arms race.
No because Ukraine needs things right now. Cheap is a secondary requirement to survival.
So the reason you see a lot of drone designs is because they're constantly innovating to try and build something effective: which is not cheap. Then whatever they come up with, it's preferable to use it right now if you can: because it's available and delay may mean you no longer have it.
Cheap is that last step: if it works you production optimize it and try to get the cost down so it's sustainable. But while that's happening you're generally also back to innovating because the enemy is deploying counter measures.
And all of this is happening across multiple dimensions at once: if you can get a great bulk price from Alibaba for some part via an intermediary but it doesn't turn up on time, or an alternative is delivering faster or the warehouse for some part got hit last week then get, there's now a new drone design with that variant.
Hell a lot of the output is just because the small machine shop knows how to build some particular design and has the parts, but another does not.
Its war: the cash price of things is not the only price nor even necessarily the most important one.
Adblockers like umatrix have options like "Spoof Referer header". I have this setting enabled, so adding tracking query strings to URLs would go against my user preference.
Yes, you modify the history uodating every commit after the changed one and then force push. Git has built in ommands to help. Anyone who has the repository cloned can tell if that happened because all the hashes will be different.
As long as your git hasn't garbage collected the old commits you can still them back. you can just create a branch pointing to the previous HEAD and the whole history will still be there.