Github

👨‍💻 Практическое занятие: Создаем Wiki на GitHub и публикуем пример страницы

Создаем wiki на GitHub и публикуем контент на пробной странице

В этом упражнении создадим новый репозиторий на сайте GitHub и опубликуем файла.

Открываем GitHub и логинимся там. После нажимаем кнопку + и выбираем New repository

Создание нового репозитория на GitHub

  • Вписываем имя репозитория, краткое описание, выбираем видимость , выбираем и затем нажимаем (Не стоит обращать внимания на выбор лицензии настроек gitignore для этого упражнения).
  • Переходим на вкладку Wiki в навигационной панели нового репозитория.
  • Нажимаем кнопку (Если wiki уже существует, то нажимаем ).
  • На начальной странице вставляем свой документ, предпочтительно написанный в Markdown. Или можно просто перетащить содержимое страницы fake endpoint called surfreport here.
  • В поле вписываем краткое описание (коммит).
  • Нажимаем

Обратите внимание, как GitHub автоматически преобразует синтаксис Markdown в HTML и стилизует его для удобства чтения. Можно работать с этой вики-страницей GitHub в браузере, чтобы несколько человек могли совместно работать и редактировать контент

Однако, в отличие от других вики, с помощью GitHub вы также можете перевести весь контент в автономный режим и редактировать его локально, а затем зафиксировать свои изменения и отправить их обратно в online

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

Добавляем удалённый репозиторий

Репозиторий — это файловое хранилище проектов. На бесплатном тарифе можно загружать до 500 МБ данных и создавать неограниченное количество репозиториев.

Чтобы создать репозиторий, нажмите на кнопку New repository, назовите проект и кликните Create repository. Можно добавить описание проекта, сделать его публичным или приватным и прикрепить технические файлы:

  • README file содержит подробное описание проекта — так другие разработчики узнают, какой репозиторий они смотрят и зачем он нужен.
  • Gitignore позволяет сэкономить место и не заливать на GitHub лишние файлы. Например, можно исключить скрытые файлы Mac OS.
  • License добавляет к коду ссылку на первоисточник и защищает права разработчика. Лицензия позволяет понять, как правильно использовать чужой код и можно ли его свободно внедрять в коммерческие проекты.

Мы создаём тестовый репозиторий, поэтому обойдёмся без лицензии — выберем только два дополнительных файла: README file и gitignore. Если вы пока не знаете, что писать в README file и что добавлять в gitignore, — оставьте эти файлы пустыми или посмотрите инструкцию в разделе Read the guide.

Мы создали публичный репозиторий и будем хранить файлы в папке test
Мы создали публичный репозиторий и будем хранить файлы в папке test

  • Переходим на сайт gitignore.io.
  • Добавляем macOS или другую операционку, с которой вы работаете.
  • Жмём Create и получаем нужный служебный файл.
  • Копируем данные и переносим их в файл gitignore на GitHub.

После редактирования gitignore делаем коммит — записываем в историю проекта факт того, что мы установили ограничение для файлов Mac OS.

Добавление ключей

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

Скриншот из cPanel, доступ по SSH

Добавляем id_rsa.pub в публичные ключи репозитория, если потребуется, авторизуем его (просто нажатием кнопки), и сохраняем.

Теперь идем в репозиторий GitHub, переходим в Settings, оттуда переходим в Secrets. Внутри нужно будет назвать секрет и ввести приватный ключ (сохраните его заранее в буфер обмена). Называйте ключ просто – key, вставляйте ключ и сохраняйте.

Готово, оба ключа введены и должны работать.

Подмодули

Клонирование репозитория с подмодулями

При клонировании репозитория вам необходимо инициализировать и обновить подмодули:

Запуск данной команды эквивалентен запуску команды:

после обычного клонирования репозитория

Обновление подмодулей

Подмодуль ссылается на конкретную коммит в другом репозитории. Чтобы получить
точное состояние всех подмодулей необходимо запустить:

Для получения состояния последнего коммита всех подмодулей необходимо выполнить
следующую команду:

или использовать аргументы по умолчанию команды git pull:

Эта команда просто обновляет локальную рабочую копию. При запуске команды git status
каталоги подмодулей будут показаны изменёнными. Чтобы обновить репозиторий необходимо
зафиксировать изменения:

Для получения состояние последнего коммита конкретного подмодуля необходимо использовать команду:

Добавление подмодулей

В текущий проект можно включить другой репозиторий Git в качестве папки, отслеживаемый Git:

После этого необходимо добавить и зафиксировать новый файл .gitmodules. В нём описано
какие подмодули следует клонировать при запуске команды git submodule update

Пишем файл для деплоя

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

  1. Итак, название файла deploy.yml
  2. Внутри также указан name: Deploy
  3. А далее указано действие, по которому сработает скрипт — . То есть, когда вы будете пушить что-то в ветку main – сработает скрипт. Конечно, если у вас другая ветка – можете поменять ее.
  4. Далее указана «работа», или же jobs. Там описано, где именно будет запускаться все это и как. А также указан путь к ключам, как . Как раз тут и указано наше название ключа, key, которое мы писали в секретах.

И самая интересная для нас часть кода — это build и deploy.

Первая строка по факту равноценна привычному , просто через ci установить все это на гите быстрее. Вторая же строка — это строка опциональная. Если у вас в проекте есть npm-скрипт build — используйте. Если у вас вообще нет npm-скриптов — удалите эти строчки.

Ну а здесь происходит буквально деплой данных. Сперва, командой мы переходим в папку app (опять же, абсолютно опциональная вещь, если у вас просто нет папки app и никуда не надо переходить – можно убрать эту команду). Ну и далее для нас важна только строка, указывающая, куда все это деплоить:

Это полный путь к моему серверу, причем в конце еще и указан адрес конкретного сайта, в данном случае blog.maxgraph.ru. Если вдруг вы не знаете этот путь – можете уточнить у поддержки вашего хостинга. И будьте внимательны, чтобы случайно не задеплоить данные не туда, куда надо, ведь подобный деплой полностью затирает то, что было ранее.

Логин, создание сессии/токенов (api/auth/login):

  1. Пользователь логинится в приложении, передавая логин/пароль и fingerprint браузера (ну или некий иной уникальный идентификатор устройства если это не браузер)
  2. Сервер проверят подлинность логина/пароля
  3. В случае удачи создает и записывает сессию в БД (схема таблицы ниже)
  4. Создает access token
  5. Отправляет клиенту access и refresh token uuid (взятый из выше созданной сессии)
  1. Клиент сохраняет токены(access в памяти приложения, refresh сетится как кука автоматом)

На что нужно обратить внимание при установке refresh куки:

куки ставим равную из выше созданной сессии
В ставим корневой роут контроллера () это важно, таким образом токен получат только те хендлеры которым он нужен( и ), остальные обойдутся(нечего зря почём отправлять sensitive data).

Стоит заметить, что процесс добавления сессии в таблицу должен имеет свои меры безопасности. При добавлении стоит проверять сколько рефреш-сессий всего есть у юзера и, если их слишком много или юзер конектится одновременно из нескольких подсетей, стоит предпринять меры. Имплементируя данную проверку, я проверяю только что бы юзер имел максимум до 5 одновременных рефреш-сессий максимум, и при попытке установить следующую удаляю предыдущие. Все остальные проверки на ваше усмотрение в зависимости от задачи.

Таким образом если юзер залогинился на пяти устройствах, рефреш токены будут постоянно обновляться и все счастливы. Но если с аккаунтом юзера начнут производить подозрительные действия(попытаются залогинится более чем на 5’ти устройствах) система сбросит все сессии(рефреш токены) кроме последней.

Перед каждым запросом клиент предварительно проверяет время жизни access token’а (да берем прямо из JWT в клиентском приложении) и если оно истекло шлет запрос на обновление токенов. Для большей уверенности можем обновлять токены на несколько секунд раньше. То есть кейс когда API получит истекший access токен практически исключен.

Что такое fingerprint ? Это инструмент отслеживания браузера вне зависимости от желания пользователя быть идентифицированным. Это хеш сгенерированный js’ом на базе неких уникальных параметров/компонентов браузера. Преимущество fingerprint’a в том что он нигде персистентно не хранится и генерируется только в момент логина и рефреша.

  • Библиотека для хеширования: https://github.com/Valve/fingerprintjs2
  • Пример ф-ции получения такого хеша: https://gist.github.com/zmts/b26ba9a61aa0b93126fc6979e7338ca3

В случае если клиент не браузер, а мобильное приложение, в качестве fingerprint используем любую уникальную строку(тот же ) персистентно хранящуюся на устройстве.

GitHub Gists

Сущность или не суть. Это вопрос на 64 доллара …

GitHub г являются с Репо , как качество , которые могут быть раздвоенным или клонированным (если публика).

В противном случае, только не в частном порядке.

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

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

Принимая во внимание, с чиновником , полный GitHub репо полномасштабным хранилище исходного кода , подтверждающие документами (уценки или HTML, или оба) или , изображения , , и файл для запуска YAML переменных , размещенные на сервере Джекила. Поддерживает ли простой файл Gist главное содержание Yaml?

Поддерживает ли простой файл Gist главное содержание Yaml?

Мне кажется, что нет.

Из официальной документации GitHub Gist …

Редактор сущности работает на CodeMirror .

Однако вы можете скопировать общедоступный Gist (или частный Gist, если владелец предоставил вам доступ через ссылку на частный Gist) …

А затем вы можете встроить этот общедоступный Gist в «официальное» репо с помощью кода Visual Studio следующим образом:

«Вы можете встроить суть в любое текстовое поле, поддерживающее Javascript, например в сообщение в блоге».

«Чтобы получить код, щелкните значок буфера обмена рядом с кнопкой содержания».

Вот это классная функция.

Заставляет меня искать (открывать) сущности других людей или OPG и включать их «публичные» работы в мои полноценные рабочие репозитории.

«Вы можете узнать ОБЩЕСТВЕННЫЕ сущности, созданные другими, перейдя на главную страницу gist и щелкнув ссылку …

Все списки {: title = ‘Нажмите, чтобы просмотреть функцию Discover в GitHub Gists’} {: target = ‘_ blank’}. «

Будьте осторожны . Нет поддержки тегов Liquid на GitHub Gist.

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

Где размещена неявная лицензия для всех сущностей, опубликованных их авторами?

Роберт

PS Это хороший комментарий. Думаю, я превращу это в файл и сделаю его общедоступным для поиска на GitHub Gists.

Примечание . При встраивании тега html в тело файла Markdown (.md) вы можете получить предупреждение «MD033» от вашего линтера .

Однако это не должно влиять на рендеринг данных (src), вызываемых из тега.

Чтобы изменить флаг предупреждения по умолчанию для размещения вызываемого содержимого тега из кода Visual Studio, добавьте запись в объект конфигурации Markdownlint в файле Json, как показано ниже:

Примечание . Решение получено из GitHub Commit от Дэвида Энсона

Создаём учётную запись

Перейдите на сайт github.com, зарегистрируйтесь и верифицируйте адрес электронной почты. Выберите тип аккаунта: публичный или приватный. В публичном аккаунте репозитории видны всем, а в приватном — только тем участникам, которым вы сами открыли доступ. По умолчанию вы переходите на бесплатный тариф, который можно изменить в разделе Pricing. Платные тарифы отличаются повышенной безопасностью, размером хранилища и некоторыми специальными опциями для профессиональной разработки.

Далее рекомендуем выставить настройки безопасности и заполнить профиль — на GitHub много IT-рекрутеров, которые по информации в профиле набирают кандидатов в проекты. Поставьте фото и ссылки на соцсети, откройте доступ к электронной почте и напишите о себе: расскажите про опыт, специализацию, пройденные курсы, рабочий стек технологий и выполненные проекты. Заполненный профиль повышает вероятность трудоустройства.

Curl

Рассмотрим обращения к API сайта github.com с помощью Curl

Нужно проверить установлен ли Curl

curl -V

Command ‘curl’ not found, but can be installed with:

sudo apt install curl

Если не установлен — нужно выполнить

sudo apt install curl

А если у вас

CentOS

, RedHat или другой .rpm то

sudo yum install curl

password for andrei:
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
curl
0 upgraded, 1 newly installed, 0 to remove and 6 not upgraded.
Need to get 161 kB of archives.
After this operation, 411 kB of additional disk space will be used.
Get:1 http://fi.archive.ubuntu.com/ubuntu focal-updates/main amd64 curl amd64 7.68.0-1ubuntu2.4
Fetched 161 kB in 0s (2,485 kB/s)
Selecting previously unselected package curl.
(Reading database … 302218 files and directories currently installed.)
Preparing to unpack …/curl_7.68.0-1ubuntu2.4_amd64.deb …
Unpacking curl (7.68.0-1ubuntu2.4) …
Setting up curl (7.68.0-1ubuntu2.4) …
Processing triggers for man-db (2.9.1-1) …

После установки нужно убедиться в успехе

curl -V

curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
Release-Date: 2020-01-08
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS brotli GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets

Выполните запрос к api.github.com/zen чтобы получить мудрое иречение

curl https://api.github.com/zen

Practicality beats purity.

Или что-то в этом духе

Выполним GET запрос к профилю пользователя defunkt

curl https://api.github.com/users/defunkt

{
«login»: «defunkt»,
«id»: 2,
«node_id»: «MDQ6VXNlcjI=»,
«avatar_url»: «https://avatars.githubusercontent.com/u/2?v=4»,
«gravatar_id»: «»,
«url»: «https://api.github.com/users/defunkt»,

}

Похоже, что ответ в виде JSON

curl -i https://api.github.com/users/defunkt

HTTP/2 200
date: Mon, 08 Feb 2021 13:15:21 GMT
content-type: application/json; charset=utf-8
server: GitHub.com
cache-control: public, max-age=60, s-maxage=60
vary: Accept, Accept-Encoding, Accept, X-Requested-With, Accept-Encoding
etag: W/»e9d01ee58678d144f1a7409ff7d7d7c7e624e193e248a29188d0302f808e3938″
last-modified: Fri, 01 Nov 2019 21:56:00 GMT
x-github-media-type: github.v3; format=json
access-control-expose-headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset
access-control-allow-origin: *
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin
content-security-policy: default-src ‘none’
x-ratelimit-limit: 60
x-ratelimit-remaining: 55
x-ratelimit-reset: 1612793303
x-ratelimit-used: 5
accept-ranges: bytes
content-length: 1305
x-github-request-id: 30FD:5608:38B0A98:3E19DCC:60213968

{
«login»: «defunkt»,
«id»: 2,
«node_id»: «MDQ6VXNlcjI=»,
«avatar_url»: «https://avatars.githubusercontent.com/u/2?v=4»,
«gravatar_id»: «»,
«url»: «https://api.github.com/users/defunkt»,

}

Как и ожидалось формат ответа это JSON
content-type: application/json

Все заголовки (headers), которые начиются с X-
это специальные заголовки (custom headers), они не включены в спецификацию HTTP.

Например:

X-GitHub-Media-Type имеет значение github.v3

Это информация о специфичном для Github
типе media в ответе.

С помощью полученного типа media можно сделать вывод о
версии API к которому мы обращались (API v3)

Обратите внимание на заголовки X-RateLimit-Limit и X-RateLimit-Remaining. Эта пара показывает сколько запросов клиент может сделать
за один временной цикл (обычно это час) и сколько уже потрачено.

Синхронизация конфигурации VSCode забывает, как решить GitHub токен и Gist

s http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>tyle=»clear:both;»>

Если вы ранее загружали конфигурацию VSCode в GitHub и теперь хотите синхронизировать конфигурацию на других компьютерах, но вы забыли токен GitHub или GitHub Gist, см. Эту статью

Если вы никогда не загружали конфигурацию VSCode в GitHub и теперь хотите загрузить конфигурацию синхронизации,Пожалуйста, смотрите здесь

Всего для загрузки конфигурации требуется два «пароля»,GitHub token с участием GitHub gist

Токен GitHub можно получить здесь

Перейдите на GitHub и найдите информацию о своем токене на GitHub.

Найдите здесь токен, который вы загрузили в конфигурацию VSCode прежде, нажмите на него

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

Затем вы можете увидеть, как генерируется новый токен GitHub,Сохраните этот токенЗагрузите конфигурацию снова в будущем, чтобы использовать

GitHub Gist можно получить здесь

Фактически, при загрузке конфигурации ранее GistHub Gist уже был загружен в GitHub, поэтому Gist можно найти непосредственно в предыдущем файле конфигурации. Конкретные операции заключаются в следующем:

Найдите загруженную ранее конфигурацию, а затем войдите, чтобы увидеть конкретное содержимое конфигурации

Вы можете увидеть конкретную информацию здесь

Теперь, когда у вас есть токен и сущность, вы можете синхронизировать настройки в VSCode ~~

Синхронизировать конфигурацию VSCode

Откройте VSCode, установите плагин синхронизации настроек, затем нажмите shift + alt + u (ярлык для загрузки конфигурации), а затем введите токен GitHub и GitHub согласно подсказкам. Через некоторое время вы увидите, что конфигурация синхронизирована из GitHub.

Интеллектуальная рекомендация

19.03.21 Я загрузил комплексные обучающие видеоуроки Photoshop CC 2015 и обучающие видеоуроки по новым функциям PS CC 2015. Я просмотрел несколько видео, но мне кажется, что они в основном объясняют н…

проверка данных весеннего mvc Два способа проверки данных Spring MVC: 1.JSR303 2.Hibernate Validator Второй метод является дополнением к первому методу Шаги для проверки данных с использованием Hibern…

Существует два способа вызова между сервисами Springcloud: RestTemplate и Feign. Здесь мы представляем сервисы вызова RestTemplate. 1. Что такое RestTemplate RestTemplate — это структура веб-запросов …

1. Понимать предварительный, средний, последующий порядок и иерархическую последовательность бинарных деревьев; Свяжите язык C со структурой данных двоичного дерева; Освойте с…

Вам также может понравиться

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

Во время простоя некоторые веб-страницы, которые мы создали, не были завершены, но не хотят, чтобы другие видели, вы можете создать простой эффект шифрования страницы на странице этой веб-страницы, ан…

Расширенные статьи серии Zookeeper 1. NIO, ZAB соглашение, 2PC представления концепции 2. Лидер выборов 3. Рукописный распределенный замок, центр настройки ==================================== 1. NIO,…

Посмотрите на конечный эффект первым DemoPreview.gif SETP1 эффект капли воды Первая реакция на эффект капли воды — нарисовать замкнутую кривую. С помощью события MotionEvent измените радиус во время п…

👨‍💻 Практическое занятие: Отправляем локальные изменения в удаленный репозиторий

Отправляем локальные изменения на удаленный репозиторий

  • В текстовом редакторе открываем наш файл, скачанный с репозитория git Hub. Файл будет открыт в приложении по умолчанию, связанном с этим типом файла. Вы также можете открыть файл, перейдя к нему вручную и открыв его, как обычно (просмотр в Finder или Explorer).
  • Внесем изменения и сохраним файл. Например напишем свое имя вверху документа.
  • В терминале удостоверимся, что находимся в нужной папке.

Для просмотра впишем команду под текущей строкой. Потом введем команду для входа в папку или для перемещения на уровень выше.

Добавим все файлы:

Git не отслеживает все файлы в той папке, где он был инициализирован. Git отслеживает изменения только для файлов, которые были «добавлены» в Git. Набрав или , вы говорите Git начать отслеживать изменения всех файлов в этом каталоге. Вместо этого вы также можете ввести здесь определенное имя файла, например , чтобы просто добавить определенный файл (а не все файлы, которые были изменены) для отслеживания в Git.

После команды Git добавляет файлы в так называемую область подготовки. Используя спортивную аналогию, площадка для постановки похожа на беговую дорожку. Эти файлы готовы для фиксации, когда вы запускаете .

Просмотреть статус файла можно командой

Git ответит сообщением, указывающим, какие файлы готовы для коммита.

В области подготовки перечислены все файлы, которые были добавлены в Git и которые вы каким-либо образом изменили.

Рекомендуется всегда проверять перед фиксацией файлов, потому что вы можете понять, что, набрав , Вы могли случайно добавить некоторые файлы, которые вы не собирались отслеживать (например, большие двоичные файлы). Если вы хотите удалить этот файл из промежуточной области, вы можете ввести команду , чтобы удалить его.

Коммитим изменения

Коммит создает слепок файла в данный момент времени для версионирования.

Команда является ярлыком для фиксации и ввода сообщения коммита. Обновления таким способом гораздо проще фиксировать.

Если ввести только git commit, то будет предложено ввести описание коммита в режиме редактора Bash. Опишите изменения в верхней строке, а затем сохраните и закройте окно.

На Mac новое окно не открывается. Вместо этого в терминале открывается режим редактора Vim. («Vi» обозначает visual, а «m» — режим, но это не очень визуальный редактор.) Для выхода из редактора нажимаем клавишу Escape. Затем вводим , чтобы выйти. (См. Здесь команды Vim.) Возможно захочется настроить терминал так, чтобы открывался внешний редактор, такой как Sublime Text. Подробности в разделе Связывание текстовых редакторов с Git.

Отправляем изменения на удаленный репозиторий командой

Если автоматическая аутентификация на GitHub не настроена, то будет предложено ввести ваши учетные данные: логин и пароль (Ваш — это логин ID на GitHub).

Обратите внимание: когда вы набираете или и не указываете ветку, GitHub использует ветку по умолчанию из источника. Ветвь по умолчанию на GitHub называется

Таким образом, фактически переданная команда — (это означает: отправить эти изменения в удаленный репозиторий origin, в ветке master). Некоторые разработчики предпочитают указывать хранилище и ветвь, чтобы обеспечить взаимодействие с нужными хранилищами и ветвями.

Окно терминала на Mac, будет выглядеть примерно так:

Окно терминала с командами Git

Теперь проверим наши изменения. Заходим на удаленный репозиторий и посмотрим изменения.

Создание SSH-ключа

Итак, самое первое, что нам стоит сделать, это создать SSH-ключи – приватный и публичный. Лучше всего это делать непосредственно в консоли гита — Git Bash. Если же вы на Mac – подойдет и Терминал.

Открываем Git Bash, вводим следующую команду:

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

Скриншот из консоли при вводе команды создания ключа

Данная команда создаст ключи и поместит их в папку .ssh на вашем ПК. К сожалению, не знаю, куда именно попадают ключи на Mac, но думаю вы легко найдете это в гугле. А на винде — C:\Users\ИмяПользователя.ssh. Если же вы откроете Bash в этой же папке — ключи попадут прямо в нее. Главное, не забудьте удалить их оттуда, чтобы они не попали в файлы репозитория!

В этой папке вы найдете ключи id_rsa и id_rsa.pub, приватный и публичный ключи соответственно.

Gists в командной строке

Программа командной строки GitHub , gh, поддерживает gists. Вы можете создавать, удалять, перечислять и редактировать сущности прямо из терминала. Это удобнее, чем рассматривать суть как обычный репозиторий git.

Например, если у вас есть существующий файл, вы можете сразу создать из него секретную сущность, используя эту команду:

Команда заканчивается URL-адресом, представляющим новую суть. Вы также можете отредактировать суть:

Это откроет ваш текстовый редактор по умолчанию. После того, как вы внесли правку и закрыли редактор, gh автоматически отправит ваше изменение в GitHub.

Ограничения wiki на GitHub

Github имеет некоторые ограничения:

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

Note: Здесь речь именно о встроенной функции Wiki на GitHub, а не GitHub Pages. Для стилизования и автоматического создания контента можно использовать такие инструменты, как Jekyll. Более подробно GitHub Pages рассмотрим в руководстве по Jekyll.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: