Системы управления версиями Version Control System, VCS

Содержание

Слайд 2

Управление версиями Version Control System, VCS — хранение и контроль слепков

Управление версиями

Version Control System, VCS — хранение и контроль слепков проекта

в репозитории. Иначе, хранение истории изменений проекта в общем контейнере.
Слайд 3

Репозиторий Repository, repo — место хранения файлов проекта, некоторый цельный контейнер,

Репозиторий

Repository, repo — место хранения файлов проекта, некоторый цельный контейнер, где

хранятся все версии всех файлов проекта (условно, общая папка).
Слайд 4

Слепок Snapshot — цельное состояние проекта, одна из его версий на определенный момент времени.

Слепок

Snapshot — цельное состояние проекта, одна из его версий на определенный

момент времени.
Слайд 5

Зачем? Если вы сделали ошибку, можно откатиться на старый код (что-то

Зачем?

Если вы сделали ошибку, можно откатиться на старый код (что-то типа

сохранений или чекпоинтов в играх).
Если вы храните проект на сервере, а не на флешке, он не затеряется; у вас не будет папок Проект1, Проект1 (новый), Проект1 (последний), Проект1 (точно последний!!!!!!), раскиданных по разным флешкам и компьютерам.
Если несколько человек работает над проектом, доступ к репозиторию и его обновлению новыми слепками имеет каждый член команды.
Используется не только для кода, но и для любых других файлов, изменения которых вы хотите отслеживать (особенно электронные документы).
Слайд 6

Например, Википедия Статья в Википедии — последний сделанный слепок. Последний слепок

Например, Википедия

Статья в Википедии — последний сделанный слепок. Последний слепок считается

всегда корректным (поэтому вы и видите его в качестве статьи).
История статьи — все сделанные слепки (журнал изменений).
Кто угодно может редактировать любой из слепков и таким образом создать новый.
Любой слепок можно откатить на предыдущий (например, из-за вандализма).
Всё, что относится к статье (все версии, обсуждение) — репозиторий статьи.
Права на работу в репозитории (добавление, откат и т.д.) могут быть только у отдельных людей, если статья важна для общества.
Слайд 7

Простые системы: на своем компьютере и на сервере

Простые системы: на своем компьютере и на сервере

Слайд 8

Распределенная система На сервере хранится общий набор версий проекта (внешний репозиторий),

Распределенная система

На сервере хранится общий набор версий проекта (внешний репозиторий), куда

пользователь может отправлять свои слепки и забирать новые (например, других пользователей)
Локальный репозиторий (компьютер пользователя) клонирует внешний репозиторий (сервер) — копирует весь набор версий пользователю
Если сервер упадет, пользователь может дальше работать с локальным репозиторием, а когда сервер поднимется, объединить версии
Слайд 9

Системы

Системы

Слайд 10

git Скачать (на Windows): https://git-scm.com/download/win Одна из самых популярных VCS —

git

Скачать (на Windows): https://git-scm.com/download/win
Одна из самых популярных VCS — первая версия

сделана создателем Linux Линусом Торвардсом.
В основном работает консольно.
Всё хранит локальными копиями.
Слайд 11

Сервисы содержания git (хостинги)

Сервисы содержания git (хостинги)

Слайд 12

git

git

Слайд 13

Консоль и начало работы Установить по ссылке раньше Win+R -> cmd

Консоль и начало работы

Установить по ссылке раньше
Win+R -> cmd -> Enter
git

version:

Если появилась версия, то у вас установился git.

Слайд 14

Создаем репозиторий для ваших проектов и качаем мой Зарегистрироваться на github.com,

Создаем репозиторий для ваших проектов и качаем мой

Зарегистрироваться на github.com, bitbucket.org

или gitlab.com
Создать репозиторий с вашим проектом с лабораторной
Скачать мой репозиторий с помощью git: https://ptsdfromcoding@bitbucket.org/ptsdfromcoding/testwpf-menu.git
Слайд 15

Перемещение по папкам и создание папок cd (change directory) — перейти

Перемещение по папкам и создание папок

cd (change directory) — перейти в

другую папку (например, где создать проект)
mkdir (make directory) — создать новую папку (например, папку для проекта)
Слайд 16

Разметка папки под проект на git git init — создаст настройки.

Разметка папки под проект на git

git init — создаст настройки. Вы

их можете не увидеть, если в настройках Проводника Windows не включено отображение. Вам их и не надо видеть, они служебные.
В дальнейшем все команды к git будут начинаться с git.
Слайд 17

Создать проект (например, в Visual Studio) Или вы можете просто перекинуть

Создать проект (например, в Visual Studio)

Или вы можете просто перекинуть туда

ваши файлы от проекта, git не волнует, как в нем оказались файлы.
Слайд 18

Добавить файлы в git git add назвфайла.расшфайла — присоединить файл(-ы) к

Добавить файлы в git

git add назвфайла.расшфайла — присоединить файл(-ы) к репозиторию

git (передать в т.н. staging area).
Вместо названия и расширения можно поставить точку (git add .) — тогда добавятся все папки и файлы. А если поставить вместо названия или расширения астериск (git add *.cs), то добавятся все файлы с оставшейся буквенной частью.
git status — показывает состояние репозитория (передаваемые файлы, слепки и т.д.).
Слайд 19

Убрать файл из git git reset имя.расширение — убирает файл (действуют

Убрать файл из git

git reset имя.расширение — убирает файл (действуют точка

и астериск)
git rm --cached имя.расширение — убирает файл и в дальнейшем игнорирует для новых версий.
Слайд 20

Зафиксировать слепок git commit -m “описание коммита” — берет файлы из

Зафиксировать слепок

git commit -m “описание коммита” — берет файлы из staging

area (которые вы подготовили до этого с помощью add) и делает из них слепок на настоящий момент.
-m “текст” — аргумент (доп. команда) message — некоторое описание, что изменилось в вашем слепке, для других людей (или себя).
Слайд 21

GitHub https://github.com — зарегистрироваться. https://github.com/new — создать новый репозиторий.

GitHub

https://github.com — зарегистрироваться.
https://github.com/new — создать новый репозиторий.

Слайд 22

Отправка на сервер git remote add origin ссылка — remote работает

Отправка на сервер

git remote add origin ссылка — remote работает с

внешними репозиториями; add добавляет в список доступных репозиториев новый; origin — его внутреннее название (стандартное, но можно поменять); ссылку можно взять на страничке на GitHub.
Слайд 23

Отправка на сервер git push –u origin master — команда push

Отправка на сервер

git push –u origin master — команда push отправляет

(«толкает») на указанный первым (origin) репозиторий все слепки, которые были созданы в ветке на локальном компьютере (указана второй как master). Используется только первый раз (чтобы создать связь). Вам понадобится ввести пароль и дать доступ git на вашем компьютере к аккаунту GitHub.
-u указывает на то, что данные будут передаваться «вверх».
Пуши следующих версий будут создаваться просто командой git push.
Слайд 24

Утащить полностью проект (например, чужой) git clone ссылка — в папке,

Утащить полностью проект (например, чужой)

git clone ссылка — в папке, где

вы находитесь в консоли (важно!), развернется проект, который вы клонируете.