I am doing a major project in KiCad 5.1.0 with over 1,000 parts. There have been some design changes after I had laid out over half the board. If I re-annotate the schematics (it is a hierarchical design), will I have to lay out the board all over again, or will KiCad magically update the component reference designators on the PCB?
I’m sure that with such a major project you have taken care of backups and versioning so that you can do some experiments. Just try at a safe point (with a copy or in a new branch) and see what happens. KiCad has two options: Keep associations or Re-associate by reference. Look at the tooltip in the Update PCB From Schematic dialog.
Components also have “unique timestamp” which is used to keep stuf synchronized, even if the annotation changes.
After pressing [F8] in eeschema to update the PCB you get some settings:
You can change the settings and scroll through the changes ans error messages.
Update of the “match method” and “Options” are shown in the “Changes to be Applied”, and you can always eigher [Close] = cancel or [Update PCB]
And if you value your own time / work always make backups before such operations. I’m in a habit of making at least daily backups when working on serious projects.
For backups I have simple zip files with the project name, prepended by date in ISO8601 format. HDD space is so cheap, that size of backups is not an issue anymore for KiCad projects, and you can always simply delete most of the backups after a week or so.