Различия между версиями 4 и 5
Версия 4 от 2020-09-20 10:59:04
Размер: 5287
Редактор: FrBrGeorge
Комментарий:
Версия 5 от 2020-09-20 12:37:04
Размер: 5423
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 48: Строка 48:
 1. Завести публичный git-репозиторий (например, на !GitHub)  1. Завести публичный git-репозиторий
Строка 51: Строка 51:
 * GIT: где угодно, лишь бы было опубликовано:  * GIT: где угодно, лишь бы было опубликовано и мне можно было сделать git clone (!GitHub, !GitLab, факультетский GitLab для студентов, любой иной способ):

Использование SSH и GIT

  • Терминал и командная строка
    • История и принципы интерфейса командной строки (!)

    • Возможности командной оболочки (!)

    • Терминал, как управляющее устройство (!)

    • Эмулятор терминала и ESC-последовательности (!)

    • Где и зачем искать эмулятор терминала
  • Сборочный инструментарий Linux-окружения, общее понятие: почему не всегда есть, как добиться, чтобы был, особенности дистрибутивов и т. п.
  • Работа с SecureShell

    • Терминальнй доступ, проблема защиты учётных данных
    • SSH: вход по логину/паролю
    • Асимметричное шифрование: закрытый и открытый ключ
      • Что можно и что нельзя делать с открытым и закрытым ключами
      • Проблема первоначального обмена ключами, отпечатки
      • SSH: изготовление персонального ключа и вход по ключу
      • SSH: запароленный ключ и агент для его хранения
  • Работа с GIT
    • Задача хранения и ведения истории изменений исходного кода
    • Централизованные VCS и распределённые VCS (DVCS)
    • GIT:
      • Репозиторий хранит все когда-либо созданные объекты
      • Коммит:
        • срез состояния этих объектов на определённый момент
        • ссылка на предыдущее состояние
      • Рабочая копия — представление коммита в виде файлов, который можно произвольно менять
      • Работа с локальным репозиторием:
        1. создание
        2. В цикле:
          1. Изменение/добавление/удаление файлов
          2. В цикле:
            1. Формирование коммита
            2. Коммит
      • Удалённый репозиторий (для публикации)
        1. Клонирование
        2. В цикле:
          1. Синхронизация (обновление локального репозитория)
            • Нужна, если локальный репозиторий мог устареть

          2. Работа с локальным репозиторием
          3. Публикация (обновление удалённого репозитория)
      • На примере локального bare-репозитория
      • Основы совместной раработки (!)

  • GIT и SSH
    • Поддержка SSH; доступ по ключу
    • Доступ по ключу в GitHub, например

Д/З

  1. Обеспечить доступ к Linux-системе, которую можно устанавливать произвольное ПО из репозитория. Если таковой нет, обратиться к FrBrGeorge

  2. Завести публичный git-репозиторий

Где делать Д/З

  • GIT: где угодно, лишь бы было опубликовано и мне можно было сделать git clone (GitHub, GitLab, факультетский GitLab для студентов, любой иной способ):

  • Собственно Linux (варианты):
    1. Произвольный дистрибутив семейства «Альт» (лучше не сервер :) ) на выделенном компе или в виртуальной машине дома — я в этом немного разбираюсь

    2. Произвольный Linux-дистрибутив (ну, что знаю :) )

    3. "Подсистема Windows для Linux" — почти ничего про это не знаю, по идее особых проблем быть не должно

    4. Персональный аккаунт по запросу от FrBrGeorge на сервере практикума (достоинство: я сам буду делать Д/З на нём ⇒ там всё будет заранее настроено)

Правила оформления репозитория (на будущее)

  • Один репозиторий с каталогами, имена которых совпадают с окончанием URL лекций (например, эта — 01_GitSsh)

  • Решение одного Д/З — не менее одно коммита, лучше больше
  • Коммиты за пределами дедлайна не оцениваются

LecturesCMC/LinuxApplicationDevelopment2020/01_GitSsh (последним исправлял пользователь FrBrGeorge 2020-09-20 12:41:42)