Git sync fork

@kevgo please review
Maybe combine fetch_upstream and merge_upstream into pull_upstream?