I recently needed to merge the work of pjonckiere and geertvd from GitHub back into Drupal.org. Here is how I did it using Git subtree merging:
# Clone the Drupal.org repository
git clone --branch 8.x-1.x email@example.com:project/calendar.git
# Make sure to set your name and email address
git config user.name "Yonas Yanfa"
git config user.email firstname.lastname@example.org
# Register the GitHub remote repository
git remote add -f geertvd email@example.com:geertvd/calendar.git
# Prepare for the later step to record the result as a merge
git merge -s ours --no-commit geertvd/8.x-3.x
# Read the GitHub branch into our Drupal.org branch
git read-tree --reset -u geertvd/8.x-3.x
# Commit the merge
git commit -m 'Merge https://github.com/geertvd/calendar'
# Pull in the GitHub commits
git pull -s subtree geertvd 8.x-3.x
# Verify that everything worked
# Push the changes to Drupal.org
The neat thing is, if the developers that worked on GitHub use the same email address in GitHub and Drupal.org, Drupal will credit them with all the commits as if they originally made their commits in Drupal.org!