linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Главы
  • How it works
  • Уроки
  • База знаний
  • Собеседование
Часть V — GitHub как платформа

$ глава 15 · 45 минут

GitHub UI как карта местности

GitHub -сервис вокруг Git, не сам Git. Git -протокол и локальный инструмент. GitHub -хостинг bare-репозиториев плюс UI плюс социальный слой плюс автоматизация. Эта разница важная: путаница между ними приводит к фразам вроде «Git не поддерживает pull request» (PR -фича GitHub, не Git) или «надо настроить branch protection в .git/config» (protection живёт на сервере GitHub, локальный Git про неё ничего не знает).

Эта глава -не справочник по кнопкам. UI меняется каждые полгода: кнопка переехала, цвет другой, появилась новая вкладка. Запоминать конкретные клики бесполезно. Полезно запоминать карту местности: где живёт код, где живут обсуждения, где настройки твоего аккаунта, где настройки организации, где настройки конкретного репо. Когда карта в голове, конкретные клики уже неважны: ты понимаешь, куда идти.

После этой главы ты сможешь открыть любой репо на GitHub и за минуту найти то, что нужно. И ещё -ты перестанешь путать watch, star и fork, и поймёшь, почему нельзя «поменять видимость репо» в настройках организации.

15.1 GitHub -не Git

Git появился в 2005 году. GitHub -в 2008. Три года Git жил без GitHub, и многие крупные проекты до сих пор живут без него. Ядро Linux принимает патчи по email через mailing list, kernel.org хостит репозитории, никакого «PR» там нет. Это нормально и работает.

Что добавляет GitHub поверх Git:

  • Bare-репозитории на своих серверах (push/pull через HTTPS/SSH).
  • Web UI для просмотра кода, истории, diff'ов.
  • Pull request -механизм code review поверх веток.
  • Issues -трекер задач, привязанный к репо.
  • Actions -CI/CD внутри платформы.
  • Социальный слой: профиль, follow, star, organization, team.
  • Marketplace интеграций (Apps).

Из этого только первые два -чисто инфраструктура. Всё остальное - продуктовые решения GitHub. У GitLab свои аналоги (merge request вместо pull request, GitLab CI/CD вместо Actions, и т.д.). У Bitbucket свои. У Gitea свои. Концепции похожи, но это разные реализации, не «стандарт Git».

Полезный тест на путаницу: если ты говоришь «нужно сделать pull request в git», ты путаешь слои. Git делает push, fetch, merge. Pull request -это просьба в UI форджа «возьми мою ветку в основную», над которой накручены review, обсуждения, проверки. Концептуально это pull-request, живущий не в .git/, а в базе GitHub.

Эта глава -про второй слой. Про сервис, не про инструмент.

15.2 Десять вкладок репозитория

Любой репо на GitHub показывает один и тот же набор вкладок в верхней навигации. Что-то может быть отключено настройками админа (например, Wiki выключают, если он не нужен), но концептуально список один. Вот зачем каждая существует.

Code. Дефолтная вкладка, исходники. Что показывает: дерево файлов на текущей ветке, README снизу, список последних коммитов сверху. Что полезно: переключатель ветки/тега в левом верхнем углу, кнопка «Go to file» (Cmd-K в открытом репо) открывает fuzzy-поиск по путям. История коммитов конкретного файла -кнопка «History» внутри файла. Blame -кнопка «Blame» рядом (blame в чистом Git).

Issues. Трекер задач. Issue -не равно тикет в Jira: проще, привязан к репо, легко связывается с PR через #123. Поддерживает labels (теги), assignees, milestones, шаблоны issue (.github/ISSUE_TEMPLATE/). Используется и для багов, и для feature requests, и для обсуждения «как нам сделать X».

Pull Requests. То же самое, что Issues, но с веткой и diff'ом. Каждый PR -это запрос «слей мою ветку в твою». Обсуждение, review, статус-чеки, merge или close -всё здесь. Подробности в pull-request и в главе 17.

Discussions. Форум при репо. Появился в 2020. В отличие от Issues, тут разговор без задачи: «как лучше архитектурно решить X», Q&A, анонсы. На больших OSS-проектах помогает разгрузить Issues от «как мне настроить вашу либу». Включается в Settings.

Actions. CI/CD. Workflow'ы лежат в .github/workflows/*.yml, запускаются по событиям (push, PR, schedule, manual). Эта вкладка -dashboard прошедших запусков, логи, состояние runs. Подробности -глава 19 (Sprint Git-5).

Projects. Канбан-доски и таблицы поверх Issues/PR. Заменяет Trello для проектной работы внутри GitHub. Полностью опциональная вкладка: многие команды живут без неё.

Wiki. Markdown-документация, отдельный git-репо внутри основного. Бывает удобно для долговременных «как-делать» гайдов, которые не хочется держать в основной кодовой базе. Часто выключают -многие предпочитают docs/ в самом репо.

Security. Раздел про уязвимости: Dependabot alerts, security advisories, secret scanning, code scanning. Глубоко -глава 20 (Sprint Git-5). Сейчас важно знать, что эта вкладка существует и где она.

Insights. Аналитика репо: график активности, contributor'ы, статистика по PR и issues. Полезна для понимания «жив ли проект» и для отчётности. Подвкладка «Network» рисует граф всех форков с коммитами -иногда полезно увидеть, чьи форки ушли далеко от вашего.

Settings. Настройки конкретного репо. Видна только тем, у кого есть admin-доступ. Сюда мы вернёмся в секции 15.6.

Этот порядок -не случайный. Code и Issues -ежедневные. PR - когда работаешь с веткой. Discussions, Actions, Projects, Wiki - опциональные. Security, Insights, Settings -административные.

15.3 Идентичность: user, organization, team

На GitHub есть два типа владельцев репо: пользователь и организация.

Пользователь -это персональный аккаунт. У него профиль (github.com/your-name), почта, ssh-ключи (ssh-keys-git), personal access tokens. Все настройки этого аккаунта -в github.com/settings. Репозитории, которыми он владеет, называются «owned by user-name».

Организация (organization, org) -контейнер для нескольких пользователей и репозиториев. Аналог: компания. У организации свой биллинг, свои репозитории, свои настройки безопасности, свои teams. Один пользователь может быть членом многих организаций -это нормальная ситуация: ты работаешь в компании A, контрибутишь в OSS-org B, имеешь персональные репо как user C.

Team -именованная группа пользователей внутри организации. Например, в org acme есть teams backend, frontend, devops. Каждой команде можно дать доступ к набору репозиториев одним щелчком, вместо того чтобы добавлять каждого пользователя в каждый репо отдельно. Команды могут быть вложенными: backend/database наследует доступы от backend.

Главные следствия для повседневной работы:

  • Когда ты делаешь fork репозитория acme/web, форк создаётся либо в твоём пользователе (me/web), либо в одной из твоих организаций. GitHub спрашивает куда.
  • SSH-ключи и токены -на уровне пользователя, не организации. Если ты ушёл из компании, твои локальные ключи продолжают работать -надо отзывать вручную (или через SSO).
  • Permission на репо может быть выдан напрямую пользователю, или через team. Понимать разницу важно при удалении кого-то: убрать из team часто недостаточно, если есть прямой grant.

Профиль публичный по умолчанию. Всё, что ты делал публично (коммиты в публичные репо, ответы в Issues, активность в Discussions), видно любому. Это часть протокола: открытость - социальный сигнал в OSS. Если хочется приватности, рабочая активность пусть будет в приватных репо или приватных org - контрибуция в них не видна посторонним.

15.4 Notifications: входящий поток

Уведомления GitHub -это твой inbox по всем активным репо. Когда кто-то отметил тебя в PR, ответил на твой комментарий, попросил review -прилетает notification. Они приходят двумя путями: github.com/notifications (веб-инбокс) и email.

По умолчанию ты подписан на все события в репо, где у тебя есть activity: ты commit'ил, открывал issue, оставлял комментарий. Это «participating» -минимальный уровень.

Кнопка Watch на репо повышает уровень:

  • Participating only -только если упомянули тебя или ты участвовал. Дефолт.
  • All Activity -все Issues и PR в репо. Полезно для своих репо и core-проектов.
  • Custom -выбрать категории: Issues, PR, Releases, Discussions, Security alerts.
  • Ignore -не получать ничего, даже про твою активность.

Главный совет: пройдись по github.com/notifications/subscriptions и почисти watch-список. Обычно там десятки репо со времён, когда ты ставил Watch ради «следить за релизами», а потом забыл. Каждый из них генерирует шум.

Фильтры в инбоксе:

  • is:unread -только непрочитанные.
  • reason:mention -только когда упомянули тебя через @me.
  • reason:review-requested -попросили review.
  • org:acme -только из конкретной организации.
  • repo:acme/web -только из конкретного репо.

Email vs web -личное предпочтение. Web-инбокс позволяет «mark as done» и группирует по треду. Email удобен, если у тебя настроены фильтры и ярлыки. Большинство опытных пользователей выключают email-уведомления для всего, кроме mention и review_requested: остальное живёт в веб-инбоксе.

Настройка -в github.com/settings/notifications. Это глобально по аккаунту, не по репо.

15.5 Watch vs Star vs Fork: три разных сигнала

Три кнопки в правом верхнем углу любого репо часто путают. Они делают разные вещи.

Watch -подписка на уведомления. Если ты Watch'ишь репо, его активность приходит в твой /notifications. Никакого социального значения, никто не видит твой watch-список кроме тебя. Используешь, когда хочешь быть в курсе.

Star -закладка. Аналог bookmark в браузере, плюс публичный сигнал. Звёзды видны всем: на странице репо и на твоём профиле («Starred» вкладка). Используют для двух целей:

  1. Личная закладка: «полезный репо, хочу запомнить».
  2. Социальный сигнал: «этот проект мне нравится». Многие мейнтейнеры смотрят на счётчик звёзд как на грубую метрику популярности.

Star не подписывает на уведомления. Можно поставить звезду и не получать ни одного письма.

Fork -клон в твой namespace. Создаёт копию репо как me/web (или my-org/web). Это уже Git-операция: на сервере создаётся отдельный git-репозиторий, ты можешь его клонировать локально, делать коммиты, открывать PR обратно в оригинал. Подробности в fork-vs-clone и главе 12.

Когда какую кнопку:

ЦельКнопка
Узнать, когда вышла новая версияWatch -> Custom -> Releases
Запомнить «потом посмотрю»Star
Поддержать автора публичноStar
Внести свой PRFork
Использовать как базу для другого продуктаFork
Хранить как «личную копию на случай если репо удалят»Fork

Большинство watch'ат свои репо и репо команды (для уведомлений), star'ят понравившиеся (для закладок), fork'ают только когда реально собираются контрибутить или модифицировать.

На странице любого репо есть три счётчика: Watch / Star / Fork. Это публичные числа. Не делай из них самоцель: 10к звёзд не означают, что репо живой. Insights -> Contributors покажет, был ли последний коммит в этом году или три года назад.

15.6 Три уровня Settings: где что живёт

Самая частая фрустрация на GitHub: «я не могу найти настройку». Корень -в том, что settings разнесены по трём уровням.

Personal Settings (github.com/settings) Твой аккаунт. SSH-ключи, GPG-ключи (gpg-signing), personal access tokens, email, notifications, профиль, billing для персональных репо. Сюда ходишь, когда «не работает push с моей машины» или «хочу настроить 2FA».

Organization Settings (github.com/organizations/acme/settings) Видна owner'ам организации. Биллинг организации, members и teams, разрешения по умолчанию для новых репо, secret-scanning политика на уровне org, SAML/SSO, audit log. Сюда ходишь, когда «хочу добавить нового члена команды» или «настроить, чтобы все репо org были private по умолчанию».

Repository Settings (github.com/acme/web/settings) Видна admin'ам конкретного репо. Имя репо, описание, видимость (public/private/internal), branches, branch protection, secrets для Actions, webhooks, collaborators, integrations. Сюда ходишь, когда «настроить required reviews на main» или «добавить нового collaborator».

Главный принцип: настройка лежит на том уровне, где работает её scope.

  • Видимость репо -в Repository Settings, не Organization Settings. У одного репо public, у другого private -это нормально внутри одной org.
  • SSH-ключ для push'а -в Personal Settings, не Repository Settings. Ключ -твой, не репо.
  • Default branch protection rules для всех новых репо org - Organization Settings, потому что scope -вся org.
  • Конкретный branch protection на main именно этого репо - Repository Settings -> Branches.

Когда не можешь найти настройку: подумай, к чему она относится. «К моему аккаунту» -personal. «Ко всей компании» -org. «К этому конкретному репо» -repo. После трёх раз становится рефлексом.

15.7 Search: глобальный и in-repo

Глобальный поиск -кнопка наверху или клавиша /. Ищет по всему GitHub. Без фильтров результаты бесполезны, поэтому запомни главные:

lang:python def parse_config   # python-код с этой строкой
repo:facebook/react useState   # внутри одного репо
org:vercel filename:.eslintrc  # все eslintrc в org
path:packages/cli/             # код в этом пути
stars:>1000 lang:rust          # популярные репо на Rust
is:public archived:false       # только живые публичные

Полный синтаксис -в docs.github.com/search. Запоминать его целиком не нужно. Запомни, что ты можешь фильтровать по lang, repo, org, path, filename, stars, fork-статусу. Когда нужно - посмотришь точный синтаксис.

Внутри репо есть свой поиск (кнопка «Go to file» или t). Это fuzzy-поиск по путям -набираешь часть имени, выбираешь. Очень быстро для навигации, если репо большой.

Под t есть ещё Cmd/Ctrl-K -командная палитра, открывает в том же поле и поиск, и недавние действия, и навигацию по организациям. Это новее, и многие старые пользователи о ней не знают.

Один типовой кейс, где search спасает: ты хочешь понять, как используется функция parseConfig в open-source. lang:python parseConfig или lang:typescript parseConfig -и видишь реальные примеры из чужих проектов. Это часто полезнее официальной документации: видишь, как с библиотекой работают настоящие люди.

15.8 Чему GitHub UI не учит сам

UI -это карта, не объяснение. Карта показывает, где улицы. Объяснение, почему улицы устроены так, ты должен принести сам.

Конкретно: глядя на кнопку «Merge pull request», UI не объяснит тебе, в чём разница между merge commit, squash и rebase -это уже merge-strategies и глава 8. Глядя на Branch protection rules, UI не расскажет, что такое required reviews и зачем они -это глава 17. Глядя на Actions, UI не научит писать workflow -это глава 19.

Это нормально. UI -интерфейс, не учебник. Документация GitHub (docs.github.com) -reference: «как настроить X». Не «зачем X».

Практическое следствие: при освоении новой фичи GitHub читай в такой последовательности:

  1. Зачем эта фича существует. Какую проблему решает. Часто -внешний источник, не GitHub Docs: блог-пост, conference talk, статья.
  2. Какая модель в основе. Что соответствует чему в Git (ветки, коммиты, refs). Это часть -из глав 1-14 этой книги.
  3. Как сделать на практике. Вот тут -GitHub Docs и UI.

Если делаешь шаги в обратном порядке (сразу клик-клик в UI), получится «как-то заработало, но не понимаю». Через неделю сломается, не сможешь починить.

Второй важный момент: UI меняется. То, что сегодня в выпадающем меню под аватаркой, через год -в боковой панели. То, что в Settings -> General, через два года -в новой Security вкладке. Запоминать конкретное расположение кнопок бесполезно. Запоминать «в этом сервисе должна быть настройка X где-то в Settings» -полезно. Найдёшь.

Третий: GitHub не единственный фордж. GitLab, Bitbucket, Gitea, Forgejo, Codeberg -все делают похожие вещи разными словами. PR в GitHub = MR в GitLab. Actions = GitLab CI = Bitbucket Pipelines. Когда понимаешь модель (а не клики), ты без труда переключаешься между ними.

Уроки в sandbox

lab-15.1. Карта своего репо: 18 находок за 15 минут

Цель -пройтись по своему любому репо на GitHub (свой персональный или рабочий, в котором ты участвуешь) и найти каждый из 18 пунктов ниже. Ничего настраивать не нужно, только найти и убедиться, что понимаешь, для чего. Если у тебя нет своего репо, сделай fork публичного, например cli/cli, и пройдись по нему -большая часть пунктов работает и на чужом репо.

После лабы у тебя будет рабочая карта: ты будешь знать, где что лежит, и сможешь возвращаться сюда как к справочнику.

  1. Открой свой репо. Запиши его URL для возврата.

  2. Code. Найди в дереве файлов README. Кликни на любой файл, найди кнопку «History» -список коммитов, изменивших этот файл. Кликни на любой коммит из списка -увидишь diff именно этого коммита. Это blame-навигация.

  3. Code. Нажми Cmd/Ctrl-K (или /). Открылась командная палитра. Набери название любого файла из репо -fuzzy-поиск находит его. Это твой главный инструмент навигации в больших репо.

  4. Code. Переключи ветку через выпадающий список слева сверху. Если веток нет -создай через git switch -c test-branch && git push -u origin test-branch локально, обнови страницу.

  5. Issues. Открой вкладку Issues. Если открытых нет -создай тестовый issue с заголовком «Test from lab 15.1». Найди в правой панели: Assignees, Labels, Milestone, Linked PRs. Это все механизмы привязки.

  6. Issues. В URL добавь ?q=is:closed -увидишь закрытые. Это базовый фильтр поиска по issues. Полный синтаксис -через кнопку «Filters».

  7. Pull Requests. Открой вкладку. Если PR нет -сделай тестовый: коммит в test-branch, push, на странице репо появится баннер «Compare & pull request». Кликни, открой PR на main.

  8. Pull Requests. Внутри PR найди три вкладки: Conversation (обсуждение), Commits (список коммитов), Files changed (diff). Это три проекции одного и того же PR.

  9. Pull Requests. В диффе наведи курсор на любую строку -появится синий плюсик слева. Кликни -откроется поле для комментария к строке. Это inline review. Закрой без сохранения.

  10. Actions. Открой вкладку. Если workflow'ов нет -увидишь предложение создать первый. Не создавай сейчас, просто посмотри, какие шаблоны предлагаются. Это всё в .github/workflows/.

  11. Projects. Открой вкладку. Если пусто -не страшно, многие команды без неё живут. Если есть -посмотри, как issues и PR появляются в столбцах канбана.

  12. Insights. Открой вкладку. Подвкладка Contributors -график активности контрибуторов. Подвкладка Network -граф форков. Подвкладка Dependency graph -список зависимостей репо. Каждая отвечает на свой вопрос.

  13. Security. Открой вкладку. Если Dependabot включён -увидишь alerts. Если нет, увидишь предложение включить. Не включай сейчас, просто запомни, где это.

  14. Settings -> Branches. Найди раздел «Branch protection rules». Если у main нет protection -это плохо для рабочего репо, для учебного нормально. Запомни путь: Settings -> Branches -> Branch protection rules. Подробности в главе 17.

  15. Settings -> Webhooks. Это раздел, где можно настроить отправку HTTP-запросов на твой сервер при событиях репо (push, PR). Не настраивай сейчас, посмотри список «Recent Deliveries» если он есть.

  16. Personal Settings. Кликни на свою аватарку справа сверху -> Settings. Найди SSH and GPG keys, Personal access tokens, Notifications. Это три раздела, куда ты регулярно ходишь как пользователь.

  17. Notifications. Открой github.com/notifications. Введи в поиск is:unread reason:mention -увидишь только те уведомления, где тебя упомянули и которые ты не читал. Это твой главный фильтр на каждый день.

  18. Watch / Star / Fork. Найди три кнопки в правом верхнем углу страницы репо. Кликни Watch -> Custom -> выбери только «Releases». Теперь будешь получать уведомления только о новых релизах этого репо, не на каждый push.

  19. Уборка: можешь удалить тестовый issue и закрыть PR без merge'а, если они учебные. Тестовую ветку удали через git push origin --delete test-branch локально.

  20. Итог. Ты прошёл по всем 10 вкладкам репо плюс по personal settings. Это и есть карта местности. Когда в будущем нужно будет «настроить required reviews», ты уже знаешь: Settings -> Branches. Когда «увидеть, кто чаще всех коммитит» -Insights -> Contributors. Когда «отписаться от шума» -Watch -> Ignore.

Резюме

  • GitHub -сервис вокруг Git, не сам Git. Pull request, Issues, Actions, branch protection -это всё GitHub-фичи, не часть протокола Git. Аналоги есть в GitLab, Bitbucket, Gitea -концепции похожи, реализации разные.
  • Репо имеет десять вкладок: Code, Issues, Pull Requests, Discussions, Actions, Projects, Wiki, Security, Insights, Settings. Code и Issues -ежедневные, остальное по ситуации. Settings виден только админам репо.
  • Владельцы репо -либо user, либо organization. Org -контейнер для членов и teams. SSH-ключи и personal access tokens живут на уровне user, не org. Team -именованная группа для batch-разрешений.
  • Notifications -твой inbox по активным репо. Watch -подписка, не социальный сигнал. Star -публичная закладка. Fork -полная копия в твой namespace. Это три разные кнопки с разной семантикой.
  • Settings разнесены по трём уровням: personal (твой аккаунт), organization (вся org), repository (один репо). Настройка лежит на том уровне, где работает её scope. SSH-ключ -personal. Видимость репо -repository. Default rules для всех новых репо -organization.
  • Глобальный search принимает фильтры: `lang:`, `repo:`, `org:`, `path:`, `filename:`, `stars:>N`. Внутри репо `Cmd/Ctrl-K` или `t` открывают fuzzy-поиск по путям.
  • UI меняется, конкретные клики запоминать бесполезно. Запоминай карту: где что должно лежать концептуально. Документация GitHub -reference, не учебник. Модель приходит из глав 1-14 этой книги, а не из подсказок в UI.

Контрольные вопросы

  1. Я создал репо в своей организации `acme`, но не вижу его в списке репозиториев своей организации. Куда он делся?

    Показать ответ

    Скорее всего, при создании ты выбрал owner = свой user, а не organization. Это первый dropdown на странице создания репо. Если owner -твой user, репо живёт в github.com/your-name/repo, а не в github.com/acme/repo.

    Проверь: github.com/your-name?tab=repositories. Если нашёл - можно перенести в org через Settings -> Transfer ownership. Это бесплатная операция, занимает минуту. URL изменится, но GitHub автоматически делает redirect со старого пути на новый.

    На будущее: при создании репо первый dropdown «Owner» определяет, в чьём namespace создаётся. Привыкни проверять это первым, особенно если ты член многих организаций.

  2. У меня в Notifications сотни непрочитанных, не понимаю, как их разгрести.

    Показать ответ

    Начни с фильтра. Открой github.com/notifications и в поиск введи is:unread reason:mention. Останутся только те, где тебя упомянули через @me. Это обычно то, на что реально нужно реагировать. Прочитай или ответь, mark as done.

    Дальше is:unread reason:review-requested -где попросили review. Эти важны для команды.

    Остальное (reason:subscribed, reason:author) часто можно mark all as done без чтения. Это просто шум от тредов, где ты когда-то отметился.

    Долговременное решение -почистить watch-список. Открой github.com/notifications/subscriptions. Там список всех репо, на которые ты подписан. Половину можно поставить Ignore или хотя бы понизить с All Activity до Participating. После этого новый шум перестанет копиться.

    Email -отдельная история. В github.com/settings/notifications сними галки везде, кроме «Pull Request reviews» и «Participating». Веб-инбокс справится с остальным.

  3. Я Star'нул репо, но не получаю уведомления о новых версиях. Почему?

    Показать ответ

    Star -это закладка, не подписка. Звезда видна всем как «мне нравится этот репо», но GitHub не отправит тебе письмо, когда выйдет новая версия.

    Для подписки на релизы используй Watch. Кнопка Watch (рядом со Star) -> Custom -> галка только на «Releases». Теперь тебе будут приходить уведомления только при создании нового релиза, без шума от Issues и PR.

    Watch и Star -разные системы, и это by design. Многие пользователи Star'ят сотни репо «на потом посмотреть», но Watch'ить сотни репо нереально -inbox утонет. Разделение кнопок позволяет отметить интересный репо публично, не подписываясь на его шум.

  4. В Settings репозитория не нахожу опцию «сделать репо public». Где она?

    Показать ответ

    Она там есть, просто не на видном месте: Settings -> General -> раздел «Danger Zone» внизу страницы. Там кнопка «Change repository visibility».

    Почему «Danger Zone»: смена видимости -операция с последствиями. Public -> Private скрывает репо от внешних, ломает существующие forks (они остаются у форкеров, но связь рвётся). Private -> Public, наоборот, открывает всю историю коммитов и issues наружу. Был случайно закоммичен секрет в приватном репо? После перехода в public он виден всему миру.

    Поэтому всегда Settings -> General -> прокрутить до самого низа. Там же лежат transfer ownership, archive, delete. Это все опасные операции, GitHub намеренно не делает их одно- кликовыми.

  5. Я перешёл из одной компании в другую. Какие настройки GitHub мне нужно почистить?

    Показать ответ

    Несколько вещей, в порядке приоритета.

    1. Удалить старые SSH-ключи и personal access tokens в Personal Settings -> SSH and GPG keys / Tokens. Если ты не отозвал ключ с рабочего ноута старой компании, он продолжает работать -пока администратор не отозвал твой аккаунт.

    2. Покинуть старую организацию: github.com/orgs/old-acme/people -> найти себя -> Leave organization. Это не удаляет твои публичные коммиты, но отнимает доступ к приватным репо org.

    3. Сменить primary email, если рабочий был основным: Personal Settings -> Emails. Иначе уведомления продолжают идти на корпоративную почту.

    4. Проверить authorised OAuth apps: Personal Settings -> Applications -> Authorized OAuth Apps. Отзови всё, что ставила старая компания (CI/CD интеграции, dashboard сервисы).

    5. GPG-ключи, если ты подписывал коммиты (gpg-signing): не надо удалять старые с GitHub, иначе твои прошлые коммиты потеряют зелёную галку «Verified». Но локально можно ротировать на новый ключ.

    Главное: GitHub-аккаунт -твой, не компании. После увольнения ты сохраняешь профиль, историю активности, звёзды, форки. Удаляются только доступы к приватному и членства в org. Это намеренно: GitHub-профиль -твой портфолио, и работодатель не должен его «забрать с собой».

← Предыдущая14-hooksСледующая →16-gh-cli
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки