Найти тему
HRV3

Система контроля версий

Здравствуйте❗

😊Заходя в опенспейс к программистам можно увидеть плакат,

"В случае пожара:

1️⃣git commit

2️⃣git push

3️⃣runaway!"

💡Разберем соль данной шутки и поймем, почему система контроля версий играет важную роль в современном мире разработки ПО.

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

👉Как правило, выполненная доработка программы затрагивает несколько файлов одновременно. Кроме того, разные программисты могут работать над разными проблемами, дорабатывая один и тот же файл (например общая библиотека). Для того, чтобы разработки программистов отдела не мешали друг другу, существует система контроля версий (СКВ). СКВ позволяет получать фиксированные "срезы" -- наборы внесенных изменений в один или группу файлов. Процедура фиксации изменений (еще раз делаю акцент, что мы оперируем понятием "группа изменений" а не "файл") вызывается командой commit (от сюда сленговые коммит, коммитнуть, закоммитить).

👉Изменения фиксируется в локальном репозитории -- локальной системе управления изменениями.

👉Для того, чтобы локальные разработки попали на сервер (общее централизованное хранилище) необходимо выполнить команду push (протолкнуть изменения).

❗Таким образом первые две строки

git commit

git push - это вариация сохранить все, и отправить все на сервер.

После чего, когда труды не пропадут в огне, можно спокойно, соблюдая технику безопасности во время пожара, начать эвакуацию (runaway!)

В будущем мы продолжим знакомить вас с системами контроля версий.

Сегодня была упомянута одна из наиболее популярных система - git.

Но есть и другие: Mercurial(hg), fossil и т.д.

Что такое "ветка кода", мерж риквест и чери-пик мы расскажем в следующий раз, как только разберемся с графами.

Всем управляемых изменений! 😊