Hi Nick. Thanks for getting back to me. My situation is very different from your description. The basics are:
21 Jun 13:35:42 - [info] Node-RED version: v0.18.7
21 Jun 13:35:42 - [info] Node.js version: v8.11.3
21 Jun 13:35:42 - [info] Linux 4.9.105-ti-r113 arm LE
This is an existing project that has been using node-red for years. I just updated linux and, in the process, updated node-red. I just rebuilt a test machine by using tar to copy the entire user directory (including the node-red installation) for the project from one BBB to another.
My admin screen doesn't match your description - see screenshot below
My main menu has an entry labeled "Settings" and there are only "View", "Keyboard", and "Palette" tabs.
My settings.js file has no information about a git repository. Again, this project was started long before this functionality was added to node-red.
The behavior that I'm seeing can best be shown by opening two browser windows - each holding the admin screen for a different machine. Place those two windows side-by-side so that the same flow is visible on each. Move a flow box by one square on the first window and click Deploy. The remote change detected dialog will pop up on the second window. If you accept the merge, the second window will update to match the first. If you click "ignore", the second system will continue to display the remote change detected dialog with each change deployed on first system. It is important to note that this is bidirectional.
"Node-RED doesn’t know about ‘machines’ - it is the git remote you are dealing with." - I don't know how that could be happening as there is no information that I can find to support such behavior.
"When you accept a merge the changes are already applied to the files in the runtime - so there’s nothing to deploy." - The blue change markers are still present on the affected nodes after the merge and need to be cleared.