В данном разделе описана типичная последовательность действий, которую
необходимо выполнить перед тем, как начать работать с проектом. Далее
для определенности используется репозиторий mp2-lab1-set
.
-
Инсталлировать клиент Git:
-
Настроить имя пользователя, из под которого будут выполняться все операции с репозиториями Git:
$ git config --global user.name "Your Name"
$ git config --global user.email "your.email@mail.com"
-
Создать аккаунт на github.com, если такой отсутствует. Для определенности обозначим аккаунт
GITHUB-ACCOUNT
. -
Открыть в браузере репозиторий по адресу https://github.com/UNN-VMK-Software/mp2-lab1-set.
-
Сделать fork репозитория c проектом-шаблоном (в терминологии Git
upstream
-репозиторий) к себе в личный профиль с названиемGITHUB-ACCOUNT
(см. одноименную кнопку на странице репозитория). В результате будет создана копия репозитория с названием https://github.com/github-account/mp2-lab1-set (origin
-репозиторий). -
Клонировать
origin
репозиторий к себе на локальный компьютер, воспользовавшись следующей командой:
$ git clone https://github.com/GITHUB-ACCOUNT/mp2-lab1-set
- Перейти в директорию
mp2-lab1-set
:
$ cd ./mp2-lab1-set
Когда сделан fork репозитория, по умолчанию у вас создается единственная ветка
master
. При решении независимых задач следует создавать рабочие ветки.
- Получить список веток:
$ git branch [-v]
# [-v] - список с информацией о последних коммитах
- Создать ветку:
$ git branch bitfield-implementation
- Создать ветку
bitfield-implementation
и перейти в нее:
$ git checkout [-b] bitfield-implementation
# [-b] - создание и переход в ветку <branch_name>
При работе с файлами в ветке необходимо управлять изменениями. Далее приведен
перечень основных команд в предположении, что текущей рабочей веткой
является master
.
- Получить список текущих изменений:
$ git status
- Пометить файл как добавленный в текущую ветку репозитория (файл будет
добавлен после выполнения команды
git commit
):
$ git add [<file_name>]
# <file_name> - название файла для добавления в commit
# если вместо имени указан символ *, то будут добавлены все новые файлы,
# расширение которых не указано в .gitignore
- Добавить изменения в текущую ветку локального репозитория:
$ git commit [-m "Some comment for your changes"] [-a]
# [-a] - автоматически добавляет изменения для существующих на сервере файлов
# без выполнения команды git add
# [--amend] - перезаписывает последний коммит (используется, если не забыты
# изменения)
- Разместить изменения, которые были добавлены в локальный репозиторий
с помощью команды
git push
:
$ git push origin HEAD
Чтобы обеспечить возможность удаленной проверки работы (включая автоматический
запуск и проверку корректности тестов), необходимо создать Pull Request
в upstream
-репозиторий:
- Открыть в браузере https://github.com/GITHUB-ACCOUNT/mp2-lab1-set.
- Нажать кнопку Pull Request в строке над исходными кодами, содержащей информацию о последних коммитах.
После этого вы можете добавлять коммиты в локальную ветку. Если после этого вы
снова выполните команду git push
, то содержимое pull request автоматически
обновится. Так вы сможете итеративно доводить свою работу до конца, просматривая
изменения онлайн.