Uploading is akin to starting a whole new file.
PEBKAC. Been there...
No it isn't, you can Upload the code from the controller if your matching name offline file is so out of date (changes by others) that correlation isn't possible.
Let's say you did a job and commissioned it two years ago, your offline file gets frozen at that state. You then have to visit the site, you open your offline file, and say "Go Online".
If correlation IS possible, it will do it, bringing your "image" up-to-date with the controller code.
If correlation is NOT possible (i.e. too many edits been done since you last connected), the software detects that the controller is a later revision than your project file, and gives you the option to Upload. The upload obviously overwrites your offline project file with the controller's image.
If your offline project file is later (doubtful if you haven't touched it for 2 years), then you are given BOTH options - Upload or Download.
If you started a new file and uploaded into it, you would not retain the documentation ....