518.95K
Category: softwaresoftware

Инструменты разработки

1.

Инструменты
разработки
ПРОКУДИНА ЮЛИЯ АНДРЕЕВНА
1

2.

Содержание
1.
Контроль версий
2.
Git
3.
GitHub
4.
GitHub Desktop
5.
Пример
2

3.

Контроль версий
Термин «Контроль версий» относится к системе, которая записывает изменения файла или
набора файлов с течением времени, называемые «версиями». Т.е., эти версии помогут
отслеживать изменения в вашем коде / проекте и отменить эти изменения.
Возможности сравнивать, различать и отменять изменения между двумя версиями
конкретного проекта становится действительно полезной при работе над более крупным
проектом (больше людей работают над одним и тем же кодом, что увеличивает
вероятность конфликтов). Используя контроль версий, можно легко предотвратить эти
конфликты.
3

4.

Контроль версий (VCS)
•Cоздает правильные рабочие процессы, которые помогают предотвратить хаос среди
людей, использующих собственный процесс разработки с различными и несовместимыми
инструментами.
•В каждой версии есть описание изменений. Эти описания помогают отслеживать
изменения в коде по версии.
•Синхронизирует версии и гарантирует, что ваши изменения не конфликтуют с другими,
использующими тот же репозиторий.
•Помогает хранить историю изменений, поскольку другие люди сохраняют новые версии
вашего кода. Эту историю можно просмотреть, чтобы узнать, кем, почему и когда были
внесены изменения.
•Функции автоматизации VCS экономят время и генерируют согласованные результаты,
выполняя тестирование, анализ кода и развертывание при сохранении новых версий.
4

5.

Git
Git – ПО управления версиями, которое необходимо установить в локальной системе.
• Git - отличное ПО для работы над проектом в одиночку
• Если работает команда, то все работают над одним и тем же проектом, но у каждого своя
версия одного и того же проекта.
Пусть, вы изменили каталог проекта на своем компьютере и хотите отправить изменения
своим соавторам, и чтобы вносимые ими изменения отображались в каталоге вашего
компьютера. Как это сделать? Git решит эту задачу.
Git также известен как распределенная система управления версиями, т.е. с помощью Git
можно отправлять и извлекать свои, а также другие изменения на чужие машины.
5

6.

Основное отличие Git от других VCS
Основное отличие Git от любых других VCS, таких как Subversion (SVN), Mercurial, TFS,
Perforce, Bazaar и т. д., в том, как Git хранит свои данные.
1.
В других системах информация хранится в виде списка изменений на основе файлов
(на основе дельты).
2.
Но Git хранит данные в виде потока моментальных снимков миниатюрной файловой
системы. В Git всякий раз, когда вы фиксируете или сохраняете состояние вашего
проекта, создается моментальный снимок текущего состояния файла, и для него
сохраняется ссылка. Если изменений не было, Git хранит ссылку на предыдущий файл.
Но Git полезен только, если вы знаете, когда система соавтора подключена к сети. Но если
не в сети? Тогда нужна третья сторона, имеющая идентичную копию вашего проекта, где
можно легко внести и получить изменения.
И это то, что делает GitHub.
6

7.

GitHub
Git - это система контроля версий, которая отслеживает изменения при работе с
компьютерными кодами.
GitHub - это веб-служба хостинга репозитория контроля версий Git. Предоставляет все
функции Git для распределенного контроля версий и управления исходным кодом (SCM), но
при этом дополняет его собственными функциями. Разработчики могут хранить свои проекты
и общаться с единомышленниками. Это как «облако для кодов».
7

8.

Git vs GitHub (не одно и то же)
1. ПО
1. Сервис
2. Установлен локально в системе
2. Размещен в сети
3. Инструмент командной строки
3. Обеспечивает графический интерфейс (GI)
4. Инструмент управления
версиями изменений, сделанных
над файлами git репозитория
4. Пространство для загрузки копии git
репозитория
8

9.

GitHub Desktop – Git GUI
9

10.

Программные инструменты и
взаимодействие через Git
VS (+Git GUI)
Notepab
GitHub Desktop
10

11.

Пример
VS (+Git GUI)
1.
Создать проект на User1
2.
Создать репозиторий на User1 (и на GitHub) через VS
1.
2.
3.
Notepab
GitHub Desktop
На User1 получить изменения, внести изменения, создать коммит, отправить коммит (на GitHub)
Изменить на User1 (через VS) и на GitHub в тех же строках кода по-разному. Потом получить
изменение с GitHub, это конфликт, решить конфликт
Клонировать репозиторий на User2 (с GitHub) через GitHub Desktop
1.
Получить изменение (GitHub Desktop), внести (Notepad) и отправить изменения на GitHub (GitHub
Desktop)
4.
Получить изменение на User1, внести и отправить изменения через VS
5.

11

12.

Основные операции
Создание (Create).
Клонирование (Clone) — скачивание репозитория с удалённого сервера на локальный
компьютер в определённый каталог для дальнейшей работы с этим каталогом как
с репозиторием.
Коммит (Commit) — фиксация изменений или запись изменений в репозиторий. Коммит
происходит на локальной машине.
Пул (Pull) — получение последних изменений с удалённого сервера репозитория.
Пуш (Push) — отправка всех неотправленных коммитов на удалённый сервер репозитория.
Мёрдж (Merge) — слияние изменений из какой-либо ветки репозитория с любой веткой
этого же репозитория. Чаще всего слияние изменений из ветки репозитория с основной веткой
репозитория.
Фетч (Fetch) – данные из удалённого репозитория перемещаются только в локальный
репозиторий.
12

13.

Основные секции (области) проекта Git
1.
Рабочая директория (Working directory) – это файлы в корне проекта, тот код с
которым вы работаете.
2.
Локальный репозиторий (Local repository) — она же Директория “.git” (Git Directory). В
ней хранятся коммиты и другие объекты.
3.
Область подготовленных изменений (Staging area). Перед тем как включить какие-то
изменения в коммит, нужно вначале отметить что именно вы хотите включить в этот
коммит. В своей рабочей директории вы можете изменить несколько файлов, но в один
конкретный коммит включать не все эти изменения.
4.
Удаленный репозиторий (Rimote repository) – тот самый репозиторий который
считается общим, в который вы можете передать свои коммиты из локального
репозитория, что бы остальные программисты могли их увидеть. Удаленных
репозиториев может быть несколько, но обычно он бывает один.
13

14.

Иные определения
1.
Рабочий каталог — это извлечённая из базы копия определённой версии проекта. Эти
файлы достаются из сжатой базы данных в каталоге Git'а и помещаются на диск для
того, чтобы вы их просматривали и редактировали.
2.
Каталог Git'а — это место, где Git хранит метаданные и базу данных объектов вашего
проекта. Это наиболее важная часть Git'а, и именно она копируется, когда вы
клонируете репозиторий с другого компьютера.
3.
Область подготовленных файлов — это обычный файл, обычно хранящийся в
каталоге Git'а, который содержит информацию о том, что должно войти в следующий
коммит. Иногда его называют индексом (index), но в последнее время становится
стандартом называть его областью подготовленных файлов (staging area).
14

15.

Распределенная система контроля
версий
15

16.

Внесение изменений в рабочий
каталог
16

17.

Операции с файлом: от создания до
отправки на удаленный сервер
git init
Working
Directory
(Untracked
by GIT)
git
commit
git add
Working
Directory
(Tracked by
GIT)
локально
Staging
Area
Local
Repository
git push
Remote
Repository
удаленно
17

18.

Подробнее об основных операциях в Git
https://habr.com/ru/post/437000/
18

19.

Жизненный цикл файлов
19

20.

Спасибо за внимание!
20
English     Русский Rules