Updating fork of Unreal to get latest version

No problem. Git sometimes could be quite confuse, been there myself.

git checkout upstream/4.16 This checks out files to your working directory. (**git fetch upstream ** downloads all the code and history from upstream repository)

git checkout -b my_4.16 Yes, this creates a new branch : my_4.16

git cherry-pick ??? You are right, ??? should be the commit number you like to merge into your my_4.16 branch.

When you changed engine files in your local 4.15 branch, you should add and commit what you changed to your own 4.15 branch: