1. Как тогда другие программисты имеют свое портфолио?
Свои проекты и вклад в проекты с открытым исходным кодом - это вариант раз.
Или не имеют - это вариант два.
Портфолио на гитхабе - опциональная штука, которую может мельком один работодатель из десяти глянет.
Хороший гитхаб не заменяет интервью. А при хорошем прохождении интервью - гитхаб легко игнорится.
(Если спросили - просто говори что был занят рабочими задачами и не до пет проектов было)
2. Что именно нужно публиковать на гитхаб? Весь проект или именно то, что внес лично я?
Не надо вообще публиковать то, на что ты не имеешь права. Код, который ты написал для заказчика принадлежит заказчику.
Если ты его опубликуешь - это будет очень жирный красный флаг для других работодателей, что на работу тебя брать нельзя.
3. Я правильно понял, что у меня не остается выбора как делать свои личные проекты и загружать их на GitHub?
Повторюсь, что ты можешь и не делать их вообще.
У большинства разработчиков - гитхаб это просто помойка, в которой ничего интересного нет.
4. Тогда что если я делаю игру с другом? Как в будущем работодатель поймет что именно из проекта сделал я?
Работодатель не будет это смотреть скорее всего.
Ну и ты можешь на словах описать, что делал - автор же в коммитах написан.
Часть проекта ценности вообще иметь не будет
5. Что будет если загрузить на гитхаб проект, ну или ту часть, которую делал я, наперекор начальству, и скрыть его от посторонних, а потом перед собеседованиям открыть?
Читай п2. Тебе скорее всего отказ дадут, тк никому не нужен разраб, который сливает защищённый код.