So I know a lot of people here will write their own GCode for their printers but I could never figure out what the numbers actually mean. Well at least not well enough to actually program something. So I did some digging around and this website has an easy to read and understand layout. If you want to know what a command does, just find it on the left. It will then show you some examples of what you can do. It really helps me understand what codes are doing what. Also, this is for Marlin. Idk how much others differ, but this website specifies Marlin.
Reprap wiki also has a good explanation for each code and goes into some detail how each fw may handle it differently. Duet wiki has a list specific to reprap firmware which is awesome too.
Also, that list shows the most recent Marlin gcodes. Older versions support less, and have even different arguments or whole different numbers. (For example, Quickstop, M410 in this list used to be M401)
I knew about the Wikipedia page about gcode which contained a list of the commands, but this one is really easy to understand! Thank you very much for sharing 
Differences are described here:
https://reprap.org/wiki/G-code

