Как изменить доступ к репозиторию github

You can choose who can view your repository.

About repository visibility changes

Organization owners can restrict the ability to change repository visibility to organization owners only. For more information, see «Restricting repository visibility changes in your organization.»

We recommend reviewing the following caveats before you change the visibility of a repository.

Making a repository private

  • GitHub will detach public forks of the public repository and put them into a new network. Public forks are not made private.
  • If you’re using GitHub Free for personal accounts or organizations, some features won’t be available in the repository after you change the visibility to private. Any published GitHub Pages site will be automatically unpublished. If you added a custom domain to the GitHub Pages site, you should remove or update your DNS records before making the repository private, to avoid the risk of a domain takeover. For more information, see «GitHub’s products and «Managing a custom domain for your GitHub Pages site.»
  • GitHub will no longer include the repository in the GitHub Archive Program. For more information, see «About archiving content and data on GitHub.»
  • GitHub Advanced Security features, such as code scanning, will stop working. For more information, see «About GitHub Advanced Security.»

Making a repository public

  • GitHub will detach private forks and turn them into a standalone private repository. For more information, see «What happens to forks when a repository is deleted or changes visibility?»
  • If you’re converting your private repository to a public repository as part of a move toward creating an open source project, see the Open Source Guides for helpful tips and guidelines. You can also take a free course on managing an open source project with GitHub Skills. Once your repository is public, you can also view your repository’s community profile to see whether your project meets best practices for supporting contributors. For more information, see «Viewing your community profile.»
  • The repository will automatically gain access to GitHub Advanced Security features.

For information about improving repository security, see «Securing your repository.»

Changing a repository’s visibility

  1. On GitHub.com, navigate to the main page of the repository.

  2. Under your repository name, click
    Settings.
    Repository settings button

  3. Under «Danger Zone», to the right of to «Change repository visibility», click Change visibility.
    Change visibility button

  4. Select a visibility.

    Dialog of options for repository visibility

  5. To verify that you’re changing the correct repository’s visibility, type the name of the repository you want to change the visibility of.

  6. Click I understand, change repository visibility.

    Confirm change of repository visibility button

Further reading

  • «About repositories»

Сведения об изменении видимости репозитория

Владельцы организации могут разрешить изменять видимость репозитория только себе. Дополнительные сведения см. в разделе Ограничение на изменение видимости репозитория в организации.

Перед изменением видимости репозитория рекомендуется ознакомиться с приведенными ниже предупреждениями.

Преобразование репозитория в частный

  • GitHub отсоединит общедоступные вилки общедоступного репозитория и поместит их в новую сеть. Общедоступные вилки не становятся частными.
  • Если вы используете GitHub Free для личных учетных записей или организаций, некоторые функции станут недоступными после изменения видимости репозитория на частную. Публикация всех сайтов GitHub Pages будет автоматически отменена. Если вы добавили личный домен для сайта GitHub Pages, следует удалить или обновить записи DNS, прежде чем делать репозиторий частным, чтобы избежать захвата домена. Дополнительные сведения см. в разделах Продукты GitHub и Управление личным доменом для сайта GitHub Pages.
  • Репозиторий на GitHub больше не будет включаться в GitHub Archive Program. Дополнительные сведения см. в разделе Сведения об архивации содержимого и данных на GitHub.
  • Функции GitHub Advanced Security, такие как code scanning, перестанут работать. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.

Преобразование репозитория в общедоступный

  • GitHub отсоединит частные вилки и превратит в отдельный частный репозиторий. Дополнительные сведения см. в разделе Что происходит с вилками при удалении репозитория или изменении видимости?
  • Если частный репозиторий преобразуется в общедоступный в рамках создания проекта с открытым кодом, ознакомьтесь с руководствами по открытому коду, чтобы получить полезные советы и рекомендации. Вы также можете пройти бесплатный курс по управлению проектом с открытым кодом в GitHub Skills. После того как репозиторий станет общедоступным, вы также сможете просмотреть его профиль в сообществе, чтобы узнать, соответствует ли проект рекомендациям для поддержки участников. Дополнительные сведения см. в разделе Просмотр профиля в сообществе.
  • Репозиторий автоматически получит доступ к функциям GitHub Advanced Security.

Сведения о повышении безопасности репозитория см. в разделе Защита репозитория.

Изменение видимости репозитория

  1. На GitHub.com перейдите на главную страницу репозитория. 1. Нажмите Параметры под именем репозитория.
    Кнопка параметров репозитория
  2. В разделе «Опасная зона» справа от элемента «Изменение видимости репозитория» нажмите кнопку Изменить видимость.
    Кнопка "Изменить видимость"
  3. Выберите видимость.
    Диалоговое окно с параметрами видимости репозитория
  4. Чтобы убедиться в том, что вы изменяете видимость правильного репозитория, введите его имя.
  5. Щелкните Я понимаю, изменить видимость репозитория.
    Кнопка для подтверждения изменения видимости репозитория

Дополнительные материалы

  • Сведения о репозиториях

Instead of switching back and forth between GitHub repository visibility status (which is possible through the repository settings, section «danger zone»), I would rather establish 2 repositories:

  • one public, with only public content
  • one private, with a mix of public and private content

That way, you don’t have to wonder, when pushing to a repository, if it is today public or private: you would push to one specific repository (of the two), knowing full well its visibility status.
And you would never expose private content, which, is set to public even a few minutes, … is no longer ever truly private (because it can be cloned, replicated and pushed elsewhere)


That being said, since June 2020, you have an «Updated UI for Changing Repository Visibility «:

You can now set your repository to any available visibility option – public, private, or internal – from a single dialog in the repository’s settings.

Previously, you had to navigate separate sections, buttons, and dialog boxes for changing between public and private, and between private and internal.

See «Setting repository visibility»

https://docs.github.com/assets/images/help/repository/repo-change-select.png

(*) «destructuve action» because of the consequences of the visibility change:

  • public to private: some features won’t be available in the repository after you change the visibility to private. Any published GitHub Pages site will be automatically unpublished.
    GitHub Advanced Security features, such as code scanning, will stop working

  • private to public: GitHub will detach private forks and turn them into a standalone private repository


Note that, since July 10th 2020, the default visibility is private:

Default visibility for new repositories

When you create a repository, you can choose whether it should be private or public.

Now, when you’re signed into GitHub through an organization’s single sign on service and create a new repository through the website navigation, the default selection is Private.

This helps prevent sensitive company data from unintentionally being pushed to public repositories. See the about repository visibility article for more information about this choice.

Повторение одной и той же задачи скучно и болезненно для таких программистов, как мы. Не так ли?

Одна из таких задач — интерактив с приватным репозиторием GitHub. Что насчет этого? Ты знаешь что это. И вы ищете способы решить эту проблему и попали на эту статью. Вы перестанете искать после прочтения этой статьи.

Итак, здесь мы поговорим о доступе к частному репозиторию GitHub без пароля. Без дальнейших церемоний, давайте начнем.

Есть два способа получить доступ к любому репозиторию GitHub. Это HTTPS и SSH. Большинство из вас используют HTTPS. Но теперь вы знаете, что это неэффективный способ использования метода HTTPS для клонирования частных репозиториев.

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

Нет проблем с доступом к публичным репозиториям. Но нам нужно аутентифицировать себя при доступе к частному репозиторию. Есть разные способы аутентифицировать себя.

Начнем с самого знакомого…

При использовании HTTPS

Вы, вероятно, должны знать о методе HTTPS и искать другие. Давайте быстро посмотрим, как получить доступ к частному репозиторию, используя его.

  • Скопируйте ссылку на личный репозиторий.

Частный репозиторий GitHub

  • Откройте терминал или cmd на вашем компьютере.
  • Вставьте ссылку команды git clone, чтобы клонировать частный репозиторий.
  • Замените ссылку ссылкой на ваш личный репозиторий.
  • Он попросит нас аутентифицировать себя. Итак, нам нужно ввести наши учетные данные GitHub.
  • Во-первых, он попросит нас ввести наше имя пользователя GitHub. Введите свое имя пользователя GitHub и нажмите Enter.

Имя пользователя для аутентификации

  • Теперь нам нужно ввести пароль. Введите свой пароль GitHub и нажмите Enter.

Пароль аутентификации

Вот и все; мы клонировали частный репозиторий, используя метод HTTPS. Теперь обновите что-нибудь в репозитории, зафиксируйте и отправьте на удаленный сервер.

Что вы заметили?

Он снова запрашивает аутентификацию.

Push-аутентификация

Разве не скучно и тяжело вводить учетные данные каждый раз, когда мы взаимодействуем с приватным репозиторием?

Да это оно.

Мы не можем вводить свои учетные данные GitHub всякий раз, когда взаимодействуем с нашим частным репозиторием. Это занимает много времени и замедляет нашу работу.

Существуют разные способы избавления от вышеуказанной проблемы. Лучший способ сделать это — использовать SSH. Но есть и другие способы сделать это. Давайте рассмотрим их все один за другим.

.git конфиг

Вся информация о версиях наших репозиториев хранится в каталоге .git. Это скрытая папка. В нем есть файл конфигурации, который позволяет нам настроить параметры. Но в целом это не рекомендуется.

Мы можем клонировать частный репозиторий, добавив наше имя пользователя и пароль в URL-адрес репозитория следующим образом.

git clone https://<strong>username:password</strong>@github.com/<strong>username</strong>/<strong>repository_name</strong>.git

Обновите имя пользователя, пароль и имя репозитория, указав соответствующие данные. Поскольку мы указали свои учетные данные в URL-адресе, он не будет запрашивать аутентификацию, как мы видели ранее.

Итак, мы собираемся следовать описанному выше методу аутентификации и соответствующим образом обновить конфигурацию нашего репозитория. Давайте посмотрим, как избавиться от повторяющейся аутентификации, обновив URL-адрес.

  • Откройте папку .git в вашем клонированном репозитории.

.git-папка

  • Вы найдете файл с именем config. Откройте его с помощью любого текстового редактора по вашему выбору.
  • Там будет строка со ссылкой на наш репозиторий следующего вида.

Ссылка на репозиторий в конфиге

  • Обновите URL-адрес, добавив свое имя пользователя и пароль, как показано выше.

Обновление URL-адреса репозитория

Теперь снова обновите что-нибудь в репозитории, зафиксируйте и запушите.

Вы что-нибудь наблюдаете?

На этот раз он не должен был запрашивать ваши учетные данные GitHub. Итак, мы решили нашу проблему, обновив настройки нашего репозитория.

Вы могли заметить, что это небезопасно. Поскольку мы раскрываем наши учетные данные. И этот метод не сработает, если ваш пароль на GitHub содержит символ @.

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

учетные данные.помощник

Credential.helper позволяет нам навсегда хранить учетные данные в файле ~/.git-credentials.

Он сохранит наши учетные данные, когда мы введем их в первый раз. Опять же, когда мы пытаемся получить доступ к частному репозиторию, он не будет запрашивать учетные данные, пока они не будут сохранены в файле ~/git-credentials. Итак, это один из способов избежать нашей проблемы. Давайте посмотрим на это в действии с точными шагами.

  • Во-первых, нам нужно активировать опцию для сохранения наших учетных данных с помощью команды git config credential.helper store.
  • После активации опции попробуйте получить доступ к приватному репозиторию под своим логином и паролем.
  • После того, как вы введете свое имя пользователя и пароль, они будут сохранены в файле ~/.git-credentials с вашими учетными данными GitHub следующим образом.

git-учетные данные

Теперь снова тот же процесс, чтобы проверить, работает ли он правильно или нет. Обновите, зафиксируйте и нажмите. Я уверен, что он не будет запрашивать у вас учетные данные, если вы выполнили описанные выше шаги для сохранения своих учетных данных.

Идет нормально…

Что, если вы хотите сохранить учетные данные на 4 часа, а не навсегда?

Credential.helper предоставляет способ временно хранить наши учетные данные в течение определенного периода времени. Мы используем кеш вместо хранилища для хранения учетных данных в течение определенного периода времени.

Кэш будет хранить наши учетные данные в течение 15 минут по умолчанию. Через 15 минут git снова запросит учетные данные. Но мы можем изменить время по умолчанию, используя следующую команду.

git config credential.helper 'cache --timeout={time_in_seconds}'

Не забудьте указать время в секундах. Давайте посмотрим на это в действии.

  • Во-первых, нам нужно активировать опцию кэширования наших учетных данных с помощью команды git config credential.helper cache.
  • Получите доступ к частному репозиторию с вашим именем пользователя и паролем.
  • После того, как вы введете свое имя пользователя и пароль, он будет кэшировать ваши учетные данные GitHub в течение определенного времени.

Теперь обновите, зафиксируйте и нажмите. Опять же, он не будет запрашивать ваши учетные данные, как мы сказали, для их кэширования.

Мы показали вам команды для работы с репозиторием, инициализированным git. Мы можем глобально обновить конфигурацию git для всех проектов, добавив флаг –global в приведенные выше команды.

Токены личного доступа

Токены личного доступа используются для предоставления доступа к GitHub API. Токены личного доступа похожи на токены OAuth. Таким образом, их можно использовать для базовой аутентификации вместо пароля для git. Следовательно, мы можем использовать токены личного доступа для решения нашей проблемы.

Давайте посмотрим, как это сделать.

  • Войдите в свою учетную запись GitHub.
  • Перейдите в Настройки.

Настройки GitHub

  • Теперь перейдите к настройкам «Разработка» на левой панели навигации.

Настройки разработчика GitHub

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

Токены личного доступа GitHub

  • Нажмите «Создать новый токен», чтобы сгенерировать новый.

Создать новый токен

  • Введите Примечание для токена. Вы можете думать об этом как о коротких заметках для запоминания токена.

Токен личного доступа Примечание

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

Разрешения репозитория

  • Прокрутите вниз и нажмите кнопку «Создать токен».

Кнопка создания токена

  • Он покажет токен личного доступа только один раз следующим образом. Мы больше не можем видеть наш личный токен. Итак, скопируйте его и сохраните в надежном месте. При необходимости используйте менеджер паролей.

Токен личного доступа

  • Мы успешно создали токен личного доступа.
  • Теперь пришло время использовать его для доступа к нашему частному репозиторию.
  • Обновите URL-адрес репозитория в файле .git/config как https://{personal_access_token}@github.com/hafeezulkareem/private_repository.git аналогично первому способу.

Токен личного доступа в конфигурации

Теперь попробуйте получить доступ к частному репозиторию.

Он запрашивал у вас аутентификацию?

Нет, он не будет запрашивать аутентификацию, пока токен не будет активен. Перейдем к последнему способу решения нашей проблемы.

SSH

SSH используется для аутентификации. Полный документ о SSH вы найдете на GitHub. здесь.

Идея проста. Создайте ключ SSH, добавьте его в учетную запись GitHub и наслаждайтесь аутентификацией без пароля.

Давайте подробно рассмотрим эти три шага.

  • Откройте терминал или cmd в вашей системе.
  • Введите команду ssh-keygen -t rsa, чтобы сгенерировать новый ключ SSH.
  • Он запросит каталог для сохранения ключа. Нажмите Enter, чтобы выбрать каталог по умолчанию. Но вы также можете изменить каталог в зависимости от ваших предпочтений. Здесь мы идем с каталогом по умолчанию.

SSH-каталог

  • Теперь нам нужно ввести парольную фразу для защиты нашего ключа SSH. Но это необязательно.
    • Если мы выбираем парольную фразу для ключа SSH, мы должны сначала вводить ее всякий раз, когда мы включаем нашу систему.
    • Если мы не выбирали парольную фразу, то нет необходимости вводить ее сначала.

Парольная фраза SSH

  • Введите парольную фразу еще раз, чтобы подтвердить ее.

Парольная фраза SSH

  • Наконец, он сгенерирует для нас новый ключ SSH следующим образом.

SSH-ключ

Мы успешно сгенерировали новый ключ SSH в наших системах. Он создаст два файла следующим образом (если вы изменили путь, имена файлов могут отличаться).

Файлы ключей SSH

Теперь пришло время подключиться к нашей учетной записи GitHub. Содержимое файла с расширением .pub необходимо скопировать в нашу учетную запись GitHub для подключения. В моем случае это id_rsa.pub.

  • Войдите в свою учетную запись GitHub.
  • Откройте настройки.

Настройки GitHub

  • Нажмите на ключи SSH и GPG, чтобы добраться до конечного пункта назначения.

Ключи SSH и GPG

  • Нажмите «Новый ключ SSH», чтобы добавить новый сгенерированный ключ SSH.

Новый SSH-ключ

  • Вы перейдете к следующему экрану.

Новый SSH-ключ

  • Добавьте соответствующий заголовок для ключа SSH. Ключи SSH разные для каждой системы. Так что выбирать исходя из этого — один из хороших вариантов. Но это не единственный вариант. Вы можете выбрать на основе других вещей, как ваши предпочтения.
  • Выбрав заголовок, скопируйте и вставьте содержимое .pub во второе поле.

Новый SSH-ключ

  • Наконец, нажмите кнопку «Добавить SSH» и подтвердите доступ своим паролем GitHub.
  • Недавно добавленный SSH-ключ будет выглядеть следующим образом.

Новый SSH-ключ

Мы добавили наш недавно сгенерированный SSH-ключ на GitHub. Теперь нам нужно аутентифицировать SSH-соединение, чтобы позже воспользоваться аутентификацией без пароля. Для этого введите следующую команду в терминал или cmd.

ssh -T [email protected]

SSH-соединение

Он запросит подтверждение. Подтверди это. Вот и все, мы закончили.

Теперь клонируйте свой частный репозиторий. На этот раз он не будет запрашивать аутентификацию.

Обновите, зафиксируйте и нажмите. Ну вот. Он больше не будет запрашивать у вас аутентификацию. Наслаждайся этим.

Вывод

Фу! мы рассмотрели различные способы доступа к приватным репозиториям без постоянного ввода учетных данных. Вы можете использовать любой метод. Но общая и лучшая практика заключается в использовании метода SSH для аутентификации.

Опять же, это зависит от ваших предпочтений; нет строгого правила использовать единственный метод SSH. Но большинство компаний используют метод SSH для аутентификации, который является безопасным и экономит много времени. И убедитесь, что ваши учетные данные в безопасности.

Удачной разработки 🙂

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить доступ к плейлисту на youtube
  • Как изменить доступ к плейлистам на ютубе
  • Как изменить доступ к папке на яндекс диске
  • Как изменить доставку сдэк до двери
  • Как изменить доставку пенсии на сайте пфр

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии