Заметка о Git, Bitbucket и Visual Studio

Опубликовано: 21 Сентябрь 2019
на канале: LandWaterSun
1,442
39

В данном видео рассмотрена система управления версиями Git в связке с Visual Studio и Bitbucket.

Материалы к видео:
1) Git Rebase: руководство по использованию https://habr.com/ru/post/161009/
2) 3 режима команды git reset https://habr.com/ru/post/161009/
3) Документация по Git https://git-scm.com/book/ru/v2

Для справки
Система управления версиями (СУВ) – это программное обеспечение, призванное автоматизировать работу с историей файла (или группой файлов), обеспечить мониторинг изменений, синхронизацию данных и организовать защищенное хранилище проекта. Вкратце, основная задача системы управления версиями – упростить коллективную работу с изменяющейся информацией.
Рассмотрим пример. Пусть есть проект, над которым работают несколько отделов программистов и вы являетесь координатором (или руководителем). В любой момент вы можете сделать откат данных до необходимой версии, ограничить доступ определенным участникам проекта на обновление данных, вести наблюдение за работой каждого программиста, давать рекомендации посредством создания отдельных веток, не затрагивая при этом ветки программистов, и другие действия.
СУВ обеспечивает надежное хранение данных благодаря наличию множества клонов. Так, например, при повреждении какого-либо файла вы своевременно можете заменить его копией. Для уменьшения объема данных проекта используется дельта-компрессия – такой вид хранения, при котором хранятся не сами версии файла, а только изменения между последовательными ревизиями.
Особенностью Git является то, что работа над версиями проекта может происходить не в хронологическом порядке. Разработка может вестись в нескольких параллельных ветвях, которые могут сливаться и разделяться в любой момент проектирования.
Git – довольно гибкая система, область ее применения не ограничивается только лишь сферой разработки. Журналисты, авторы технической литературы, администраторы, преподаватели вузов вполне могут использовать ее в своей деятельности. Так, например, преподаватель может контролировать процесс выполнения лабораторной работы каждого студента, комментировать и давать собственные предложения по решению задач путем создания отдельных веток проекта.
Каждый файл проекта в Git состоит из имени и содержания. Имя – это первые 20 байтов данных, которые наглядно записываются сорока символами в шестнадцатеричной системе счисления. Данный ключ получается хешированием содержимого файла с помощью криптографического алгоритма SHA1 (отсюда и название SHA1-хеш). Так, например, сравнив два имени, мы можем почти со стопроцентной вероятностью сказать, что они имеют одинаковое содержание. Хеш позволяет точно определить поврежденность файлов. Например, сравнив хеш содержимого с именем, мы можем вполне точно сказать, повреждены данные или нет. Стоит упомянуть о так называемых коллизиях. "Вполне точно определить поврежденность" означает, что существуют такие файлы, различные по содержанию, SHA1-хеш которых совпадает. Вероятность таких коллизий очень мала, и по предварительной оценке равна 2 в -80-й степени (~ 10 в -25-й степени).
Содержание файлов разных версий в хронологии может занимать довольно много памяти. Для решения этой проблемы существует несколько оптимизаций:
каждый объект Git хранится в виде архива;
для всей иерархии файлов применяется последовательная дельта-компрессия.
Например, пусть у вас есть трехлетняя история вашего проекта, в ней порядка тысячи файлов и ста версий. Если в определенный момент нужно будет обратиться к самой ранней версии, Git придется разархивировать дельта-компрессию всей истории файла. Неутешительно, но на данный процесс может уйти до полудня. Git предлагает делать так называемые контрольные точки, т.е. хранить недельта-архивированный файл через некоторое количество версий, которое назовем глубиной компрессии. Тогда в нашем примере вся история сужается до некоторого наперед заданного количества дельта-компрессий, разархивировав которые, можно взглянуть на любую версию в хронологии.

#образование #git


Смотрите видео Заметка о Git, Bitbucket и Visual Studio онлайн без регистрации, длительностью часов минут секунд в хорошем качестве. Это видео добавил пользователь LandWaterSun 21 Сентябрь 2019, не забудьте поделиться им ссылкой с друзьями и знакомыми, на нашем сайте его посмотрели 1,442 раз и оно понравилось 39 людям.