Absolute Beginner's Guide to Emacs (2012)
You should check out tramp-mode too.  Its a killer feature that lets you edit files remotely (AWS, Azure, even docker containers!) as if they are local.  All the stuff work, so you can do diffs between a local file and an a AWS file and it all appears to be local.  If you are editing a remote file and do a git action (through magit) it knows to work on the remote file.  You can open up remote shells also.  You just go:CTRL-X CTRL-F then => /ssh:username@example.com:~/somefile.txtand you get a local buffer with the contents of the remote file (via scp).  All your editing is the same as if it is local.  When you save it does a scp back to the remote machine.  You can even edit in docker containers:/docker:root@03f5f926f1ca:/etc/environmentas if they are local.  Merges/diffs all just work its really great.