This is straight out of the new urban dictionary.
” If you know any mexican people then you’ll know this is a non-derogatory term used to refer to US citizens. Mostly because the term “American” does not make sense to the rest of the Americans (all those people who live in the continent named “America”, wich is every body from Alaska to argentina), and the word “Estadounidense” (UnitedStatean)is too long.
Folklore says it was generated when the US invaded mexico, wearing green uniforms, and the people shouted at them “Green Go Home”.
With time it lost all derogatory status and was turned into the most common word to refer to any US citizen.
Let me add this: