- Андрей Куманяев/
- Git: руководства и команды/
- Приватный репозиторий на GitHub: как создать и управлять/
Приватный репозиторий на GitHub: как создать и управлять
Приватные репозитории на GitHub — это отличный способ хранить и управлять кодом, который не предназначен для публичного доступа. Будь то коммерческие проекты, личные разработки или конфиденциальные данные, GitHub предоставляет мощные инструменты для контроля видимости и доступа к вашим проектам. В этой статье мы разберёмся, как создавать приватные репозитории, управлять доступом и работать с ними.
Что такое приватный репозиторий на GitHub #
GitHub поддерживает три уровня видимости репозиториев, каждый из которых имеет свои особенности и предназначение.
Приватный (Private) репозиторий #
Приватный репозиторий виден только вам и тем пользователям, которых вы явно пригласили. Никто из интернета не может увидеть код, историю коммитов, issues или pull requests в приватном репозитории. Это идеальный выбор для:
- Коммерческих проектов компании
- Личных проектов, которыми вы не готовы делиться
- Экспериментального кода
- Конфиденциальной информации
Публичный (Public) репозиторий #
Публичный репозиторий доступен для просмотра всем пользователям интернета. Любой может видеть ваш код, историю изменений, issues и pull requests. Публичные репозитории часто используются для:
- Open-source проектов
- Портфолио разработчика
- Обучающих материалов
- Примеров кода
Internal репозиторий #
Internal — это тип видимости, доступный только для GitHub Enterprise. Такой репозиторий виден всем членам организации, но недоступен для посторонних пользователей интернета. Это решение оптимально для больших компаний, которым нужна видимость внутри организации без полного открытия кода в интернет.
Бесплатный план vs платные: ограничения #
Многих начинающих разработчиков волнует вопрос: сколько стоит создавать приватные репозитории на GitHub? Хорошая новость — на бесплатном плане GitHub можно создавать неограниченное количество приватных репозиториев.
Что включено в Free план #
- Неограниченные публичные и приватные репозитории
- Неограниченные сотрудники (collaborators) для приватных репозиториев
- Встроенная система управления проектами
- Issues и pull requests
Где различаются платные планы #
Основное различие между Free и платными планами (Pro, Team, Enterprise) заключается в:
GitHub Actions минуты: На Free плане вы получаете 2000 минут бесплатно в месяц. Для приватных репозиториев каждая минута выполнения действий использует из этого лимита, а для публичных репозиториев минуты бесплатны. Платные планы включают больше минут.
Гарантирующее SLA: Платные планы предлагают гарантии уровня обслуживания.
Команда (Team): Платные планы Team и Enterprise предоставляют дополнительные функции управления командой.
GitHub Copilot: Интеграция с AI-помощником требует отдельной подписки.
Итак, если вам просто нужно хранить приватный код и работать с небольшой командой, бесплатного плана будет достаточно.
Как создать приватный репозиторий #
Создание приватного репозитория — это просто и занимает всего несколько секунд. Вот пошаговая инструкция.
Через веб-интерфейс GitHub #
- На главной странице GitHub в левом верхнем углу нажмите на иконку вашего профиля
- Выберите пункт “Your repositories” (Ваши репозитории)
- Нажмите зелёную кнопку “New” (Новый)
- Заполните название репозитория (обязательно)
- Добавьте описание (опционально)
- Важный шаг: Выберите “Private” (Приватный) вместо “Public”
- Опционально инициализируйте репозиторий файлом README
- Нажмите “Create repository” (Создать репозиторий)
На экране создания репозитория вы увидите два основных radio-buttons для выбора видимости:
● Public— зелёная иконка, видимость для всех● Private— серая иконка, видимость только для вас и приглашённых
После создания приватного репозитория вы можете сразу же начать добавлять файлы, клонировать его на свой компьютер или приглашать других разработчиков.
Как сделать репозиторий приватным (из публичного) #
Если у вас уже есть публичный репозиторий, вы можете изменить его видимость на приватный за несколько кликов. Это может быть полезно, если вы разрабатывали проект публично, а затем решили закрыть доступ.
Пошаговая инструкция #
- Откройте репозиторий на GitHub
- Перейдите в Settings (Настройки) вкладка — находится в верхнем меню репозитория
- В левой боковой панели найдите пункт General (Общие)
- Прокрутите страницу вниз до раздела Danger Zone (Опасная зона) — это красная область с потенциально опасными операциями
- Найдите кнопку “Change repository visibility” (Изменить видимость репозитория)
- Нажмите на кнопку и выберите “Make private” (Сделать приватным)
- GitHub попросит вас подтвердить действие и напечатать название репозитория для подтверждения
- После подтверждения репозиторий станет приватным
Что происходит при изменении видимости #
Когда вы делаете публичный репозиторий приватным, важно понимать, какие изменения произойдут:
Остаются неизменными:
- Все коммиты и история
- Issues и pull requests
- Stars (звёздочки) остаются в счётчике
- Всё содержимое репозитория
Что меняется:
- История коммитов становится доступна только для вас и приглашённых
- GitHub удалит wiki, если он был публичным
- Форки остаются независимыми репозиториями, но становятся иконку-признаком, что они были сделаны из приватного репо
Важное предупреждение #
Если у вашего репозитория есть форки, GitHub не позволит сделать его приватным через стандартный интерфейс. В этом случае вам придётся сначала удалить все форки или использовать GitHub API. Поэтому перед изменением видимости убедитесь, есть ли форки, и уведомите об этом автора форка.
Как сделать приватный репозиторий публичным #
Обратный процесс — создание приватного репозитория публичным — также возможен и даже проще, так как нет ограничений на форки.
Инструкция #
- Откройте приватный репозиторий
- Перейдите в Settings → General
- Скрутитесь вниз до Danger Zone
- Нажмите “Change repository visibility”
- Выберите “Make public” (Сделать публичным)
- Подтвердите, напечатав название репозитория
- Репозиторий теперь доступен всем в интернете
Критически важно перед публикацией #
Перед тем как сделать приватный репозиторий публичным, обязательно проверьте историю коммитов на наличие секретов. Если в коммитах была закоммичена конфиденциальная информация (API ключи, пароли, токены доступа), это остаётся в истории навечно и будет видно всем.
Для проверки на утечки можно использовать специальные инструменты вроде git-secrets или TruffleHog. Если вы обнаружили секреты в истории, их придётся удалять через git filter-branch или git rebase, что требует пересохранения всей истории репозитория.
Совет: Всегда используйте переменные окружения, .env файлы (в .gitignore) и GitHub Secrets для хранения конфиденциальной информации вместо их прямого закоммичивания в репозиторий.
Клонирование приватного репозитория #
Работать с приватным репозиторием на локальной машине почти так же просто, как с публичным, но требуется аутентификация. Рассмотрим основные способы.
Метод 1: SSH-ключи (рекомендуется) #
Это самый безопасный и удобный способ. Сначала убедитесь, что у вас настроены SSH-ключи для GitHub (см. статью /ru/git/nastrojka-ssh-github/).
После настройки SSH просто выполните обычную команду clone:
git clone [email protected]:username/private-repo.git
cd private-repo
GitHub автоматически использует ваш SSH-ключ для аутентификации. Вам не нужно вводить пароль или создавать токены.
Метод 2: HTTPS с Personal Access Token #
Если вы предпочитаете HTTPS протокол (или работаете в окружении, где SSH недоступен), используйте Personal Access Token (PAT).
Сначала создайте токен:
- Перейдите на https://github.com/settings/tokens
- Нажмите “Generate new token” → “Generate new token (classic)”
- Дайте токену имя
- Установите срок действия (или оставьте “No expiration” для бессрочного)
- Выберите scope “repo” (полный доступ к приватным репозиториям)
- Нажмите “Generate token” и скопируйте значение
Затем используйте токен при клонировании:
git clone https://[email protected]/username/private-repo.git
cd private-repo
Замените TOKEN на ваш личный токен доступа.
Метод 3: GitHub CLI #
GitHub CLI — это удобный инструмент для работы с GitHub из командной строки. Если у вас установлен gh, просто выполните:
gh repo clone username/private-repo
cd private-repo
Инструмент автоматически использует вашу аутентификацию GitHub.
Метод 4: Credential Manager (Windows/Mac) #
На Windows и macOS можно использовать встроенный credential manager:
- При первом клонировании HTTPS репозитория вы получите запрос на ввод username и password
- Вместо пароля введите ваш Personal Access Token
- Git сохранит учётные данные, и в дальнейшем вам не нужно будет вводить их повторно
Управление collaborators: приглашение других пользователей #
Если вы хотите предоставить доступ к приватному репозиторию другому разработчику, это легко сделать через интерфейс GitHub.
Как пригласить collaborator #
- Откройте приватный репозиторий
- Перейдите в Settings (Настройки)
- В левой боковой панели выберите “Collaborators” (Сотрудники)
- Нажмите зелёную кнопку “Add people” (Добавить людей)
- Введите username или email адрес пользователя GitHub
- Выберите уровень доступа:
- Pull — только просмотр и клонирование
- Push — разрешение на push коммитов
- Admin — полный доступ к настройкам репозитория
- Нажмите “Add collaborator” (Добавить сотрудника)
Приглашённый пользователь получит уведомление по email и сможет видеть приватный репозиторий в своем списке репозиториев.
Удаление доступа #
Если нужно отозвать доступ у collaborator:
- Перейдите в Settings → Collaborators
- Найдите пользователя в списке
- Нажмите кнопку с тремя точками и выберите “Remove” (Удалить)
- Пользователь потеряет доступ к репозиторию
FAQ: Часто задаваемые вопросы #
Сколько приватных репозиториев можно создать на GitHub бесплатно? #
На бесплатном плане GitHub вы можете создавать неограниченное количество приватных репозиториев. Нет никаких ограничений на количество приватных проектов. Единственное ограничение касается GitHub Actions минут — 2000 минут в месяц для приватных репозиториев.
Как сделать репозиторий github приватным? #
Перейдите в Settings → General, прокрутите до Danger Zone, нажмите “Change repository visibility” и выберите “Make private”. Если у репозитория есть форки, GitHub не позволит сделать это действие.
Как клонировать приватный репозиторий GitHub? #
Используйте один из четырёх методов:
- SSH (рекомендуется):
git clone [email protected]:username/private-repo.git - HTTPS с токеном:
git clone https://[email protected]/username/private-repo.git - GitHub CLI:
gh repo clone username/private-repo - Credential Manager: введите Personal Access Token вместо пароля при запросе
Подробнее о клонировании репозиториев читайте в статье /ru/git/git-clone/.
Что происходит с форками если сделать репозиторий приватным? #
Если у публичного репозитория есть форки, GitHub не позволит сделать его приватным стандартным методом. Все существующие форки остаются независимыми репозиториями. Вам нужно либо удалить все форки перед изменением видимости, либо использовать API.
Как дать доступ к приватному репозиторию? #
Используйте систему collaborators: Settings → Collaborators → Add people. Введите username или email и выберите уровень доступа (Pull, Push или Admin). Пользователь получит приглашение и сможет видеть репозиторий после принятия.
Можно ли снова сделать приватный репозиторий публичным? #
Да, полностью. Перейдите в Settings → General → Danger Zone → Change repository visibility и выберите “Make public”. Однако убедитесь, что в истории коммитов нет конфиденциальной информации (API ключей, паролей, токенов), так как вся история станет видна всем в интернете. Используйте git-secrets или TruffleHog для проверки на утечки перед публикацией.
Заключение #
Приватные репозитории на GitHub — это мощный инструмент для управления кодом, который вы не хотите открывать в интернет. GitHub предоставляет бесплатный доступ к неограниченному количеству приватных репозиториев, что делает платформу идеальной как для личных проектов, так и для корпоративной разработки.
Основные шаги работы с приватными репозиториями:
- Создайте репозиторий с выбором Private при инициализации
- Клонируйте его через SSH, HTTPS с токеном или GitHub CLI
- Приглашайте collaborators через интерфейс GitHub
- Регулярно проверяйте доступ и удаляйте пользователей, которым больше не нужен доступ
Если вы только начинаете работать с GitHub, не забудьте прочитать статьи о /ru/git/nastrojka-ssh-github/ и /ru/git/kak-sozdat-repozitorij-github/, чтобы полностью подготовиться к работе с платформой. Для скачивания готовых проектов обратитесь к статье /ru/git/kak-skachat-proekt-github/.
Удачи в разработке!