09.05 Работа с исходным кодом
- Структура учебной площадки:
- Студенческие логины
- Демо-экран
Использование демо-экрана
Простейший workflow работы с git
Создание пустого bare репозитория git init --bare repo
- Синхронизация с опубликованным хранилищем:
Клонирвание (git clone URL-откуда куда) — git clone repo work
- Создание/редактирование файлов
Добавление файлов к списку публикации (git add файлы)
Создание комплекта изменений (git commit)
- описание изменений
- при необходимости — переход на п. 1
Использование export EDITOR=geany для редактирования коммитов не в vim
Вариант: export EDITOR="evim -f" (а так же nano или mcedit)
Публикация одного или нескольких комплектов изменений (git push)
- при необходимости — переход на п. 1
Практическое занятие по пополнению хранилища: самостоятельно воспроизвести «простейший workflow» из предыдущего пунтка
- Созать bare repo
- Склонировать
- Сделать два коммита
- Запушить
Отчитаться: git status чистый, в истоии git log два коммита
- Мелкие хитрости
git commit -a — автоматический add для всех файлов, которые уже есть в рабочей копии (без Untracked)
вариант без редактирования git commit -m "сообщение"
Синхронизация локального хранилища с опубликованным (git pull)
например, два git clone, в одной из копий — commit и push, в другой — pull
- SSH и ключи
ssh хост (prac.cs.msu.ru для тех, у кого есть факультетский аккаунт; у кого нет — localhost)
ssh-keygen с пассфразой
что такое открытый (.ssh/id_rsa.pub) и закрытый (~/.ssh/id_rsa) ключи
ssh-copy-id хост — добавление открытого ключа в ~/.ssh/authorized_keys на хост-е
Повторим ssh хост
- Надо вводить пассфразу
- Используем агента, который хранит в памяти распароленный закрытый ключ (по умолчанию в прошивкеагент уже запущен)
Если агент не запущен, запустим его eval `ssh-agent`
Добавим ключ ssh-add
Снова пробуем ssh хост
- Должно пустить без пассфазы
Д/З
Почитать (и пощёлкать!) руководство по GIT
Проверить работоспособность вашего студенческого аккаунта на Факультетском GitLab (он совпадат с аккаунтом в машзале), а если его нет / не работает / неохота им пользоваться, завести аккаунт на GitHub или GitLab хостинге
в том числе необходимо сгенерировать пару открытый+закрытый ключ (с помощью ssh-keygen или чего-то аналогичного), положить открытую часть на git-хостинг, а закрытую принести на следующее занятие на флешке
- проверить, что репозиторий клонируется (на ваш компьютер) через протокол "git" (не "https")
TODO ссылки на гайды GH и GL
Зарегистрировать созданный репозиторий в качестве комментария к этому Issue
Формат комментария: Фамилия Имя, группа, URL, где URL — это сслыка для клонирования вашего публичного репозитория