Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Гит – практика (hard)

Перед началом выполнения работ обязательно вызвать скрипт подготовки веток prepare.sh

Репозиторий содержит некоторое количество кода разработки прототипа учебной системы запуска космического аппарата (код математики не претендует на физичность). Вы выступаете в роли старшего разработчика, который должен исправить некоторые огрехи своих студентов-стажёров (сами они поправить не могут - готовятся к сессии) и передать готовую к слиянию ветку самому Главному разработчику.

Задачи

Забытые секретные данные

Просматривая очередную ветку calculate-accident-fall-point, в истории коммитов Вы натыкаетесь на секретные координаты, которые были случайно оставлены разработчиком - их нужно удалить, оставив остальной комментарий и все остальные коммиты без изменений (возможно, с точностью до хеша коммита). Секретные данные содержат в себе широту и долготу - необходимо удалить всю строчку, которая их содержит

Экстренная доработка функции расчёта орбиты

Один из разработчиков перед отпуском начал выполнять задачу сверхточного расчёта орбиты спутника в ветке precise-satellite-orbit, однако не успел до вылета в тёплые края и последними 2 коммитами испортил даже свой уже почти законченный алгоритм с базовой точностью. Ваша задача сделать новую ветку simple-satellite-orbit от последнего коммита, где проходят тесты (это можно увидеть по комментариям) и закоммитить туда добавление одной строки в метод simple-satellite-orbit, тем самым обеспечив хотя бы базовый корректный расчёт

let ORBIT=$ORBIT+1

Чистка лишних файлов

Просматривая ветку fuel-estimation одного из разработчиков, Вы обнаружили добавленный по ошибке в последнем коммите файл ugly-file. Вам нужно изменить последний коммит так, чтобы этого файла больше не было и авторство коммита осталось прежним, число коммитов не должно поменяться

Косметические работы с историей

В ветке fall-point-calculation история коммитов содержит плоды экспериментов разработчика, которые не должны засорить историю при слиянии с одной стороны, а с другой - есть 2 коммита, логика в которых важна и нуждается в сохранении. Вам нужно избавиться от коммитов, содержащих комментарий Experiment: ... так, чтобы их не было в истории, но сам вклад в исходный код остался

Hotfix

Один из разработчиков исправил очень важную ошибку в коде (ветка fix-flight-time, коммит содержащий "Relativistic correction fixed") и это исправление срочно должно попасть в ветку flight-time-estimation без каких-то коммитов до и после, но с сохранением оригинального авторства коммита

Откат изменений

Последние 2 коммита в ветке fix-flight-time по Вашему подозрению делают хуже, чем было, однако полностью удалять их из истории нельзя - разработчик после выхода из отпуска может быть доведёт "до ума" начатое. А сейчас Вам нужно откатить изменения последних 2 коммитов так, чтобы их код отсутствовал в голове ветки. Должо появиться не более 1 нового коммита

Подготовка к отправке Главному

У вас есть несколько веток с реализованной функциональностью:

  • fuel-estimation
  • flight-time-estimation
  • simple-satellite-orbit
  • calculate-accident-fall-point

Вам необходимо слить в ветку dev всю значимую функциональность с сохранением истории коммитов и отправить её на Pull Request в master-ветку. Обратить внимание, что при создании PR начнут прохождение автоматизированные тесты. После прохождения всех тестов можно назначить проверяющего rokymiel и запросить review

Подсказки

Команды, которые скорее всего понадобятся

Цели можно достичь различными способами, в том числе таким набором команд git:

  • add
  • rebase
  • squash
  • commit [amend]
  • push
  • pull
  • cherry-pick
  • merge
  • revert

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages