Hi Tim,
Normally...a load simply loads that version you are telling to load. If you have local changes in any of the packages you will be loading, those changes will be LOST and overridden with the ones of the version you are loading. If you load via Monticello...if usually checks if you already have changes in the packages you are about to load and warns you or directly recommends you to merge (it depends which Pharo version you are working on).
The merge...is for when you have local changes in that package you will load. Hence, the merge is the way so that you can merge your local changes and the changes coming from the new version you are about to load. It might have conflicts which need to be resolved. After you have merged, then you can commit your changes if you want.��
Also, note that you may also be trying to commit and there is a new version of the package from the one you started to change. Therefore, if you commit, you will override last version. Here, again, Monticello usually warns you. So what you would normally do here is a marge again, so that the changes from the last version gets merged with your local changes. After, you can commit without problems.
Hope this is clear.��
Cheers,��
��