Использование SSH и GIT
- Терминал и командная строка
История и принципы интерфейса командной строки
Возможности командной оболочки
Терминал, как управляющее устройство
Эмулятор терминала и ESC-последовательности
- Где и зачем искать эмулятор терминала
- Сборочный инструментарий Linux-окружения, общее понятие: почему не всегда есть, как добиться, чтобы был, особенности дистрибутивов и т. п.
Работа с SecureShell
- Терминальнй доступ, проблема защиты учётных данных
- SSH: вход по логину/паролю
- Асимметричное шифрование: закрытый и открытый ключ
- Что можно и что нельзя делать с открытым и закрытым ключами
- Проблема первоначального обмена ключами, отпечатки
- SSH: изготовление персонального ключа и вход по ключу
- SSH: запароленный ключ и агент для его хранения
- Работа с GIT
- Задача хранения и ведения истории изменений исходного кода
- Централизованные VCS и распределённые VCS (DVCS)
- GIT:
- Репозиторий хранит все когда-либо созданные объекты
- Коммит:
- срез состояния этих объектов на определённый момент
- ссылка на предыдущее состояние
- Рабочая копия — представление коммита в виде файлов, который можно произвольно менять
- Работа с локальным репозиторием:
- создание
- В цикле:
- Изменение/добавление/удаление файлов
- В цикле:
- Формирование коммита
- Коммит
- Удалённый репозиторий (для публикации)
- Клонирование
- В цикле:
- Синхронизация (обновление локального репозитория)
Нужна, если локальный репозиторий мог устареть
- Работа с локальным репозиторием
- Публикация (обновление удалённого репозитория)
- Синхронизация (обновление локального репозитория)
- На примере локального bare-репозитория
Основы совместной раработки
- GIT и SSH
- Поддержка SSH; доступ по ключу
Доступ по ключу в GitHub, например
Д/З
Обеспечить доступ к Linux-системе, которую можно устанавливать произвольное ПО из репозитория. Если таковой нет, обратиться к FrBrGeorge
- Завести публичный git-репозиторий
Где делать Д/З
GIT: где угодно, лишь бы было опубликовано и мне можно было сделать git clone (GitHub, GitLab, факультетский GitLab для студентов, любой иной способ):
- Собственно Linux (варианты):
Произвольный дистрибутив семейства «Альт» (лучше не сервер ) на выделенном компе или в виртуальной машине дома — я в этом немного разбираюсь
Произвольный Linux-дистрибутив (ну, что знаю )
"Подсистема Windows для Linux" — почти ничего про это не знаю, по идее особых проблем быть не должно
Персональный аккаунт по запросу от FrBrGeorge на сервере практикума (достоинство: я сам буду делать Д/З на нём ⇒ там всё будет заранее настроено)
Правила оформления репозитория (на будущее)
Один репозиторий с каталогами, имена которых совпадают с окончанием URL лекций (например, эта — 01_GitSsh)
- Решение одного Д/З — не менее одно коммита, лучше больше
- Коммиты за пределами дедлайна не оцениваются