Similar presentations:
Системы управления версиями Version Control System, VCS
1.
Системы управленияверсиями
хранить изменения в облаке бесплатно без смс без регистрации
2.
Управление версиямиVersion Control System, VCS — хранение и
контроль слепков проекта в репозитории.
Иначе, хранение истории изменений
проекта в общем контейнере.
3.
РепозиторийRepository, repo — место хранения файлов
проекта, некоторый цельный контейнер,
где хранятся все версии всех файлов
проекта (условно, общая папка).
4.
СлепокSnapshot — цельное состояние проекта,
одна из его версий на определенный
момент времени.
5.
Зачем?Если вы сделали ошибку, можно откатиться на старый код (что-то типа
сохранений или чекпоинтов в играх).
Если вы храните проект на сервере, а не на флешке, он не затеряется; у вас
не будет папок Проект1, Проект1 (новый), Проект1 (последний), Проект1
(точно последний!!!!!!), раскиданных по разным флешкам и компьютерам.
Если несколько человек работает над проектом, доступ к репозиторию и его
обновлению новыми слепками имеет каждый член команды.
Используется не только для кода, но и для любых других файлов, изменения
которых вы хотите отслеживать (особенно электронные документы).
6.
Например, ВикипедияСтатья в Википедии — последний сделанный слепок. Последний слепок считается
всегда корректным (поэтому вы и видите его в качестве статьи).
История статьи — все сделанные слепки (журнал изменений).
Кто угодно может редактировать любой из слепков и таким образом создать новый.
Любой слепок можно откатить на предыдущий (например, из-за вандализма).
Всё, что относится к статье (все версии, обсуждение) — репозиторий статьи.
Права на работу в репозитории (добавление, откат и т.д.) могут быть только у
отдельных людей, если статья важна для общества.
7.
Простые системы: на своем компьютере и на сервере8.
Распределенная системаНа сервере хранится общий набор версий проекта
(внешний репозиторий), куда пользователь может
отправлять свои слепки и забирать новые (например,
других пользователей)
Локальный репозиторий (компьютер пользователя)
клонирует внешний репозиторий (сервер) — копирует
весь набор версий пользователю
Если сервер упадет, пользователь может дальше работать
с локальным репозиторием, а когда сервер поднимется,
объединить версии
9.
Системы10.
gitСкачать (на Windows): https://git-scm.com/download/win
Одна из самых популярных VCS — первая версия сделана создателем Linux
Линусом Торвардсом.
В основном работает консольно.
Всё хранит локальными копиями.
11.
Сервисы содержания git (хостинги)12.
git13.
Консоль и начало работыУстановить по ссылке раньше
Win+R -> cmd -> Enter
git version:
Если появилась версия, то у вас установился git.
14.
Создаем репозиторий для ваших проектов и качаем мойЗарегистрироваться на github.com, bitbucket.org или gitlab.com
Создать репозиторий с вашим проектом с лабораторной
Скачать мой репозиторий с помощью git:
https://[email protected]/ptsdfromcoding/testwpf-menu.git
15.
Перемещение по папкам и создание папокcd (change directory) — перейти в другую папку (например, где создать проект)
mkdir (make directory) — создать новую папку (например, папку для проекта)
16.
Разметка папки под проект на gitgit init — создаст настройки. Вы их можете не увидеть, если в настройках Проводника
Windows не включено отображение. Вам их и не надо видеть, они служебные.
В дальнейшем все команды к git будут начинаться с git.
17.
Создать проект (например, в Visual Studio)Или вы можете просто перекинуть туда ваши
файлы от проекта, git не волнует, как в нем
оказались файлы.
18.
Добавить файлы в gitgit add назвфайла.расшфайла —
присоединить файл(-ы) к репозиторию git
(передать в т.н. staging area).
Вместо названия и расширения можно
поставить точку (git add .) — тогда добавятся
все папки и файлы. А если поставить вместо
названия или расширения астериск (git add
*.cs), то добавятся все файлы с оставшейся
буквенной частью.
git status — показывает состояние
репозитория (передаваемые файлы, слепки и
т.д.).
19.
Убрать файл из gitgit reset имя.расширение — убирает файл (действуют точка и астериск)
git rm --cached имя.расширение — убирает файл и в дальнейшем
игнорирует для новых версий.
20.
Зафиксировать слепокgit commit -m “описание коммита” — берет
файлы из staging area (которые вы
подготовили до этого с помощью add) и
делает из них слепок на настоящий момент.
-m “текст” — аргумент (доп. команда) message
— некоторое описание, что изменилось в
вашем слепке, для других людей (или себя).
21.
GitHubhttps://github.com —
зарегистрироваться.
https://github.com/new — создать
новый репозиторий.
22.
Отправка на серверgit remote add origin ссылка —
remote работает с внешними
репозиториями; add добавляет в
список доступных репозиториев
новый; origin — его внутреннее
название (стандартное, но можно
поменять); ссылку можно взять на
страничке на GitHub.
23.
Отправка на серверgit push –u origin master — команда
push отправляет («толкает») на
указанный первым (origin) репозиторий
все слепки, которые были созданы в
ветке на локальном компьютере
(указана второй как master).
Используется только первый раз (чтобы
создать связь). Вам понадобится ввести
пароль и дать доступ git на вашем
компьютере к аккаунту GitHub.
-u указывает на то, что данные будут
передаваться «вверх».
Пуши следующих версий будут
создаваться просто командой git push.
24.
Утащить полностью проект (например, чужой)git clone ссылка — в папке, где вы
находитесь в консоли (важно!), развернется
проект, который вы клонируете.
25.
Скачать актуальный слепок с сервераgit pull — обновляет вашу локальную
версию последней с удаленного
репозитория (сервера).