As long as the license pre-exists the change, then the changes will be included beneath that license. As law depends on intent, rather than anything strictly automatic. A "best effort" is fine.
The bigger problem is that re-licensing is... Hellfire. You require specific permission from all involved, every single person who agreed to previous terms. If a single person does not grant permission, you either cannot transition, or must strip out everything of their work - and anything their work may have further led to. They can't be the inspiration for anything.
You also cannot relicense something once you've placed it in the public domain (99.99999% of the time).
So... Begin your history with one license, you're fine.
Right, but the license attached to a file doesn't make it clear whose diffs are whose. You don't think it would be a reasonable defensive measure to include a license so it's obvious who committed which changes on exactly which date? (Barring someone rewriting commit history, which they could do with licenses in code comments too.)