I've been trying to find the answer to this and can't seem to find anything on the subject.
If you're using DizzyEgg's branches
(battle_engine_v2, item_expansion and/or pokemon_expansion), then you don't need to do anything beyond pulling from them every once in a while. DizzyEgg himself merges his branches with upstream
(Pret's Pokeemerald repository) so people don't need to do it themselves.
If you're not using them, then from my point of view you can do 1 of 2 things:
1) Pull from origin's master branch
(this is assuming that you didn't modify the URL that git remote's origin is set to.)
2) Track Pret's repository via git remote and then pull from there.
It's simpler than it looks.
If you just cloned Pret's Pokeemerald and didn't modify the list of tracked repositories in any way, then you can use
git pull origin master and be done with it. Naturally, you'll have to resolve whatever merge conflicts that may arise.
This command pulls all the commits from the master branch of the chosen repository
(by default, "origin" is https://github.com/pret/pokeemerald, you can check this by using git remote -v) that your project doesn't have, and incorporates them into it.
if you cloned Pret's Pokeemerald, but you modified the URL that the repository you're tracking with the name of "origin" is set to for whatever reason, then you can add Pret's Pokeemerald repository as a new git remote, and pull from there. It's pretty simple.
Code:
git remote add upstream https://github.com/pret/pokeemerald
git pull upstream master
With this, I would be tracking Pret's Pokeemerald repository and I would give it the alias "upstream". Then I proceed to pull from upstream's master branch using
git pull.
If you have any questions, don't hesitate to ask.