Сейчас мы поработаем с git, а заодно пройдем стандартный процесс сдачи домашки.
Сайтик с документацией и tutorials
- Сделайте форк этого репозитория.
- Склонируйте форк к себе на компьютер
$ git clone <your-fork-url>
- Создайте ветку, в которой вы собираетесь работать:
$ git checkout -b <your-assignment-branch>
Давайте для единообразия сейчас все назовут свою ветку git-task-01
.
Общее правило при сдаче домашек! Каждое домашнее задание должно жить в своей ветке!
Чтобы перейти в ветку, когда она уже создана:
$ git checkout <your-branch>
- Реализуйте
a + b
. Это просто. - Сохраните изменения и отправьте их на сервер:
$ git commit -m <your-message>
$ git push
Пишите осмысленный комментарий к коммиту. Если вы посылаете ветку в первый раз, необходимо явно указать, что отправление идёт в ваш репозиторий:
$ git push -u origin <your-assignment-branch>
Обычно <your-branch>
и <your-assignment-branch>
совпадают.
-
Сделайте Pull Request в этот репозиторий. О том, как сделать реквест написано здесь.
-
Добавьте функцию, которая перемножает два числа, проделайте 5 и убедитесь, что изменение появилось в Pull Request. Создавать еще один Pull Request не надо, изменение должно автоматически подтянуться.
- У вас уже должен быть форк и клон форка на комьютере. Если нет, то воспользуйтесь инструкцией выше.
- Проверьте, что git настроен на синхронизацию с этим репозиторием:
$ git remote -v
Если вывод этой команды содержит upstream <original-repository-link>
, то перейдите на шаг 4.
- Настройте git на синхронизацию с этим репозиторием:
$ git remote add upstream <original-repository-link>
- Обновите свой форк:
$ git fetch upstream
У вас загрузились все ветки из оригинального репозитория с префиксом upstream/
.
5. Теперь надо смерджить ветку мастера из upstream
в ветку мастера локальную. Перейдите в мастера и добавьте изменения из оригинального репозитория:
$ git chekout master
$ git merge upstream/master
-
Дальше работать с репозиторием как и в шагах 3-8 из инструкции выше. Не забудьте создавать новую ветку находясь в мастере, чтобы изменения во втором Pull Request были только для второго задания.
-
Сделайте второе задание.
- git log --branches --graph --tags --pretty=oneline --abbrev-commit -- рисует граф истории коммитов.
- git stash + git stash list + git stash pop -- прячет trackable изменения, можно применить их на другой ветке.
- git commit —-amend -- объединяет предыдущий коммит и staged изменения.