-
Notifications
You must be signed in to change notification settings - Fork 48
Unix shell
Понадобятся следующие программы:
git
cmake
make
-
c++
(системный компилятор C++)- может быть представлен CLang (
clang++
, рекомендуется), GCC (g++
) или другим компилятором.
- может быть представлен CLang (
-
vi
,vim
,mg
,emacs
,nano
,mcedit
или любой другой текстовый редактор
Порядок установки зависит от конкретной операционной системы и поэтому здесь не рассматривается; CMake в данном Wiki посвящена отдельная страница.
Создайте и перейдите в папку, в которой будет размещён локальный репозиторий:
mkdir kmbo--21
cd kmbo--21
Произведите клонирование:
git clone https://github.com/LOGIN/kmbo--21 .
Свяжите полученный локальный репозиторий с преподавательским:
git remote add sensei https://github.com/grayed/kmbo--21
Укажите имя и email (рекомендуется использовать точно такие же, как на GitHub):
git config user.name "Sasha Green"
git config user.email "sasha.g@mail.ru"
Укажите политику для объединения коммитов rebase:
git config pull.rebase true
Подразумевается, что вы по-прежнему находитесь в основном каталоге локального репозитория.
Создайте папку, в которой будет производиться сборка (в данном случае будет использоваться подкаталог debug
):
mkdir debug
Сконфигурируйте проект с помощью CMake:
(cd debug && cmake -DCMAKE_BUILD_TYPE=Debug ..)
CMake проанализирует текущее окружение и подготовит в каталоге debug
файл Makefile
,
содержащий для программы make
указания, как собирать программы в репозитории, см. ниже.
Перед началом каждого нового сеанса работы следует получить в локальный репозиторий последние изменения из преподавательского:
git pull sensei master
Для сборки и запуска, скажем, программы animals
, можно использовать примерно следующую команду:
(cd debug/animals && make && ./animals)
Если вы находитесь в подпапке исходных текстов animals
, то относительный путь, разумеется, меняется:
(cd ../debug/animals && make && ./animals)
Чтобы отправить изменения в удалённый репозиторий, их сначала нужно зафиксировать:
git commit -a
Собственно отправка в удалённый репозиторий:
git push