SlideShare a Scribd company logo
1 of 31
Системы контроля версий
Виталий Унгурян
unguryan@itstep.org
Системы управления версиями
Система управления версиями
(англ. Version Control System,
VCS или Revision Control
System) — программное
обеспечение для облегчения
работы с изменяющейся
информацией.
Системы управления версиями
Система управления версиями
позволяет хранить несколько
версий одного и того же
документа, при необходимости
возвращаться к более ранним
версиям, определять, кто и когда
сделал то или иное изменение, и
многое другое.
Локальные системы
RCS (Revision Control System) -
основаны на работе с наборами
патчей между парами версий
(патч — это файл, описывающий
различие между файлами),
которые хранятся в
специальном формате на диске.
Локальные системы
Система патчей
Централизованные системы
В централизованных системах,
например
CVS, Subversion и Perforce,
есть центральный сервер, на
котором хранятся все файлы под
версионным контролем, и ряд
клиентов, которые получают
копии файлов из него.
Централизованные системы
Централизованные системы
CVS (Concurrent Versions System,
«Система одновременных версий»)
Хранит историю изменений
определённого набора файлов, и
облегчает совместную работу
группы людей над одним проектом.
Централизованные системы
Subversion (также известная как
«SVN») — свободная
централизованная система
управления версиями.
Используется
Apache, GCC, Free Pascal, Ruby,
FreeBSD, AROS, Blender, Boost, Tor.
Централизованные системы
Perforce (сокр. P4) — коммерческая
СУВ имеет клиент-серверную
архитектуру. Сервер Perforce может
одновременно иметь несколько
репозиториев, называемые «депо».
Используется IntelliJ IDEA, XCode,
Autodesk 3D Studio Max, Autodesk
Maya, Adobe Photoshop, Microsoft
Office, Eclipse, emacs.
Распределённые системы
В таких системах как
Git, Mercurial, Bazaar, Darcs
клиенты не просто выгружают
последние версии файлов, а
полностью копируют весь
репозиторий.
Распределённые системы
Распределённые системы
Mercurial - распределенная
система, написанная на языке
Python с несколькими
расширениями на C.
Испошьзуеться в проектах
Mozilla и MoinMoin
Распределённые системы
Bazaar - система разработка
которой поддерживается компанией
Canonical — известной своими
дистрибутивом Ubuntu.
Система в основном написана на
языке Python.
Используется
проектом MySQL.
Распределённые системы
Darcs - распределенная система
контроля версий
написанная на Haskell
используется проектом Buildbot.
Git
Git — распределённая система
управления версиями.
Проект был создан Линусом
Торвальдсом для управления
разработкой ядра Linux. Первая
версия выпущена 7 апреля 2005.
На сегодняшний день его
поддерживает Джунио Хамано.
Git
Git - на данный момент является
самой быстрой распределенной
системой, использующей самое
компактное хранилище ревизий.
Git
Git
Первым действием, которое
должен выполнить разработчик,
является извлечение рабочей
копии проекта или той его части,
с которой предстоит работать.
Git
Извлечение выполняется с
помощью команды извлечения
версии (обычно checkout или
clone).
Разработчик задаёт версию,
которая должна быть
скопирована, по умолчанию
обычно копируется последняя.
Почти все операции — локальные
Для совершения большинства
операций в Git'е необходимы
только локальные файлы и
ресурсы, информация с других
компьютеров в сети не нужна.
Git следит за целостностью данных
Перед сохранением любого
файла Git вычисляет
контрольную сумму, и она
становится индексом этого
файла. Поэтому невозможно
изменить содержимое файла или
каталога так, чтобы Git не узнал
об этом.
Три состояния
В Git'е файлы могут находиться
в одном из трёх состояний:
зафиксированном,
изменённом,
подготовленном.
Три состояния
"Зафиксированный" – это
состояние показывает, что файл
уже сохранён в вашей
локальной базе.
Три состояния
К изменённым относятся файлы,
которые поменялись, но ещё не
были зафиксированы.
Три состояния
Подготовленные файлы — это
изменённые файлы, отмеченные
для включения в следующий
коммит.
Три части Git
Три состояния
Каталог Git'а — это место, где Git
хранит метаданные и базу
данных объектов вашего проекта.
Это наиболее важная часть Git'а,
и именно она копируется, когда
вы клонируете репозиторий с
другого компьютера.
Три состояния
Рабочий каталог — это
извлечённая из базы копия
определённой версии проекта.
Эти файлы достаются из сжатой
базы данных в каталоге Git'а и
помещаются на диск для того,
чтобы вы их просматривали и
редактировали.
Три состояния
Область подготовленных файлов
— это обычный файл, обычно
хранящийся в каталоге Git'а,
который содержит информацию о
том, что должно войти в
следующий коммит. Иногда его
называют индексом index.

More Related Content

What's hot

C++ STL & Qt. Занятие 08.
C++ STL & Qt. Занятие 08.C++ STL & Qt. Занятие 08.
C++ STL & Qt. Занятие 08.Igor Shkulipa
 
Usage concurrence in java
Usage concurrence in javaUsage concurrence in java
Usage concurrence in javaAsya Dudnik
 
Svitla .Net meetup in Kiev, Anzhiiak Oleksii
Svitla .Net meetup in Kiev, Anzhiiak OleksiiSvitla .Net meetup in Kiev, Anzhiiak Oleksii
Svitla .Net meetup in Kiev, Anzhiiak OleksiiSvitla Systems Inc.
 
C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.Igor Shkulipa
 
C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.Igor Shkulipa
 
Java весна 2014 лекция 5
Java весна 2014 лекция 5Java весна 2014 лекция 5
Java весна 2014 лекция 5Technopark
 
C++ STL & Qt. Занятие 06.
C++ STL & Qt. Занятие 06.C++ STL & Qt. Занятие 06.
C++ STL & Qt. Занятие 06.Igor Shkulipa
 
C++ STL & Qt. Занятие 03.
C++ STL & Qt. Занятие 03.C++ STL & Qt. Занятие 03.
C++ STL & Qt. Занятие 03.Igor Shkulipa
 
Oop java.generics
Oop java.genericsOop java.generics
Oop java.genericsmuqaddas_m
 
C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.Igor Shkulipa
 
C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.Igor Shkulipa
 
Java. Работа с файловой системой. Потоки ввода-вывода.
Java. Работа с файловой системой. Потоки ввода-вывода.Java. Работа с файловой системой. Потоки ввода-вывода.
Java. Работа с файловой системой. Потоки ввода-вывода.Unguryan Vitaliy
 
Сетевое взаимодействие
Сетевое взаимодействиеСетевое взаимодействие
Сетевое взаимодействиеUnguryan Vitaliy
 
C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.Igor Shkulipa
 
C++ STL & Qt. Занятие 04.
C++ STL & Qt. Занятие 04.C++ STL & Qt. Занятие 04.
C++ STL & Qt. Занятие 04.Igor Shkulipa
 
Java Core. Lecture# 3. Part# 2. Exceptions.
Java Core. Lecture# 3. Part# 2. Exceptions.Java Core. Lecture# 3. Part# 2. Exceptions.
Java Core. Lecture# 3. Part# 2. Exceptions.Anton Moiseenko
 
C++ STL & Qt. Занятие 09.
C++ STL & Qt. Занятие 09.C++ STL & Qt. Занятие 09.
C++ STL & Qt. Занятие 09.Igor Shkulipa
 
Java Core. Lecture# 3. Part# 3. Multithreading.
Java Core. Lecture# 3. Part# 3. Multithreading.Java Core. Lecture# 3. Part# 3. Multithreading.
Java Core. Lecture# 3. Part# 3. Multithreading.Anton Moiseenko
 
Programming Java - Lection 06 - Multithreading - Lavrentyev Fedor
Programming Java - Lection 06 - Multithreading - Lavrentyev FedorProgramming Java - Lection 06 - Multithreading - Lavrentyev Fedor
Programming Java - Lection 06 - Multithreading - Lavrentyev FedorFedor Lavrentyev
 

What's hot (20)

C++ STL & Qt. Занятие 08.
C++ STL & Qt. Занятие 08.C++ STL & Qt. Занятие 08.
C++ STL & Qt. Занятие 08.
 
Usage concurrence in java
Usage concurrence in javaUsage concurrence in java
Usage concurrence in java
 
Svitla .Net meetup in Kiev, Anzhiiak Oleksii
Svitla .Net meetup in Kiev, Anzhiiak OleksiiSvitla .Net meetup in Kiev, Anzhiiak Oleksii
Svitla .Net meetup in Kiev, Anzhiiak Oleksii
 
C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.
 
C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.
 
Java весна 2014 лекция 5
Java весна 2014 лекция 5Java весна 2014 лекция 5
Java весна 2014 лекция 5
 
C++ STL & Qt. Занятие 06.
C++ STL & Qt. Занятие 06.C++ STL & Qt. Занятие 06.
C++ STL & Qt. Занятие 06.
 
C++ STL & Qt. Занятие 03.
C++ STL & Qt. Занятие 03.C++ STL & Qt. Занятие 03.
C++ STL & Qt. Занятие 03.
 
Oop java.generics
Oop java.genericsOop java.generics
Oop java.generics
 
C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.C++ STL & Qt. Занятие 11.
C++ STL & Qt. Занятие 11.
 
C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.
 
Java. Работа с файловой системой. Потоки ввода-вывода.
Java. Работа с файловой системой. Потоки ввода-вывода.Java. Работа с файловой системой. Потоки ввода-вывода.
Java. Работа с файловой системой. Потоки ввода-вывода.
 
Сетевое взаимодействие
Сетевое взаимодействиеСетевое взаимодействие
Сетевое взаимодействие
 
C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.
 
C++ STL & Qt. Занятие 04.
C++ STL & Qt. Занятие 04.C++ STL & Qt. Занятие 04.
C++ STL & Qt. Занятие 04.
 
Java Core. Lecture# 3. Part# 2. Exceptions.
Java Core. Lecture# 3. Part# 2. Exceptions.Java Core. Lecture# 3. Part# 2. Exceptions.
Java Core. Lecture# 3. Part# 2. Exceptions.
 
java
javajava
java
 
C++ STL & Qt. Занятие 09.
C++ STL & Qt. Занятие 09.C++ STL & Qt. Занятие 09.
C++ STL & Qt. Занятие 09.
 
Java Core. Lecture# 3. Part# 3. Multithreading.
Java Core. Lecture# 3. Part# 3. Multithreading.Java Core. Lecture# 3. Part# 3. Multithreading.
Java Core. Lecture# 3. Part# 3. Multithreading.
 
Programming Java - Lection 06 - Multithreading - Lavrentyev Fedor
Programming Java - Lection 06 - Multithreading - Lavrentyev FedorProgramming Java - Lection 06 - Multithreading - Lavrentyev Fedor
Programming Java - Lection 06 - Multithreading - Lavrentyev Fedor
 

Similar to Системы контроля версий

системы контроля версий
системы контроля версийсистемы контроля версий
системы контроля версийDressTester
 
системы контроля версий
системы контроля версийсистемы контроля версий
системы контроля версийNicki Feathers
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor Dmitrii Stoian
 
Базовые принципы работы с SVN.
Базовые принципы работы с SVN.Базовые принципы работы с SVN.
Базовые принципы работы с SVN.DressTester
 
Структура операционных систем
Структура операционных системСтруктура операционных систем
Структура операционных системNick535
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 57bits
 
Файловые системы
Файловые системыФайловые системы
Файловые системыkurbanovafaina
 
Norton Utilities
Norton UtilitiesNorton Utilities
Norton Utilities0882
 
Анализ и оценка систем адресации данных в современных ЭВМ
Анализ и оценка систем адресации данных в современных ЭВМАнализ и оценка систем адресации данных в современных ЭВМ
Анализ и оценка систем адресации данных в современных ЭВМSergey Gerasimov
 
08 server mgmt_ru
08 server mgmt_ru08 server mgmt_ru
08 server mgmt_rumcroitor
 
Антон Шумихин - Архитектура ОС
Антон Шумихин - Архитектура ОСАнтон Шумихин - Архитектура ОС
Антон Шумихин - Архитектура ОСGAiN@ESD
 
Linux files, file systems, block devices.
Linux files, file systems, block devices.Linux files, file systems, block devices.
Linux files, file systems, block devices.Vikentsi Lapa
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кодаSergii Shmarkatiuk
 
Виды систем контоля верий. Система Git.
Виды систем контоля верий. Система Git.Виды систем контоля верий. Система Git.
Виды систем контоля верий. Система Git.Ксения Торгаева
 

Similar to Системы контроля версий (20)

системы контроля версий
системы контроля версийсистемы контроля версий
системы контроля версий
 
системы контроля версий
системы контроля версийсистемы контроля версий
системы контроля версий
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
 
Базовые принципы работы с SVN.
Базовые принципы работы с SVN.Базовые принципы работы с SVN.
Базовые принципы работы с SVN.
 
Dev collaboration
Dev collaborationDev collaboration
Dev collaboration
 
Структура операционных систем
Структура операционных системСтруктура операционных систем
Структура операционных систем
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
 
Архитектура ROS
Архитектура ROSАрхитектура ROS
Архитектура ROS
 
Файловые системы
Файловые системыФайловые системы
Файловые системы
 
Git basis
Git basisGit basis
Git basis
 
Norton Utilities
Norton UtilitiesNorton Utilities
Norton Utilities
 
10 класс 4 урок
10 класс 4 урок10 класс 4 урок
10 класс 4 урок
 
ос
осос
ос
 
Анализ и оценка систем адресации данных в современных ЭВМ
Анализ и оценка систем адресации данных в современных ЭВМАнализ и оценка систем адресации данных в современных ЭВМ
Анализ и оценка систем адресации данных в современных ЭВМ
 
3 тема
3 тема3 тема
3 тема
 
08 server mgmt_ru
08 server mgmt_ru08 server mgmt_ru
08 server mgmt_ru
 
Антон Шумихин - Архитектура ОС
Антон Шумихин - Архитектура ОСАнтон Шумихин - Архитектура ОС
Антон Шумихин - Архитектура ОС
 
Linux files, file systems, block devices.
Linux files, file systems, block devices.Linux files, file systems, block devices.
Linux files, file systems, block devices.
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кода
 
Виды систем контоля верий. Система Git.
Виды систем контоля верий. Система Git.Виды систем контоля верий. Система Git.
Виды систем контоля верий. Система Git.
 

More from Unguryan Vitaliy

Модульное тестирование.
Модульное тестирование. Модульное тестирование.
Модульное тестирование. Unguryan Vitaliy
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVCUnguryan Vitaliy
 
Работа в команде, управление программными проектами
Работа в команде, управление программными проектамиРабота в команде, управление программными проектами
Работа в команде, управление программными проектамиUnguryan Vitaliy
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Unguryan Vitaliy
 
Введение в язык программирования «Java»
Введение в язык программирования «Java»Введение в язык программирования «Java»
Введение в язык программирования «Java»Unguryan Vitaliy
 
Шаблоны проектирования GoF
Шаблоны проектирования GoFШаблоны проектирования GoF
Шаблоны проектирования GoFUnguryan Vitaliy
 
Введение в hibernate
Введение в hibernateВведение в hibernate
Введение в hibernateUnguryan Vitaliy
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в SpringUnguryan Vitaliy
 
Cookies, session и другое в JSP
Cookies, session и другое в JSPCookies, session и другое в JSP
Cookies, session и другое в JSPUnguryan Vitaliy
 
Рефлексия в java
Рефлексия в javaРефлексия в java
Рефлексия в javaUnguryan Vitaliy
 
Аннотации в java
Аннотации в javaАннотации в java
Аннотации в javaUnguryan Vitaliy
 
Java. Интерфейс Reference - типы ссылок
Java. Интерфейс Reference -  типы ссылокJava. Интерфейс Reference -  типы ссылок
Java. Интерфейс Reference - типы ссылокUnguryan Vitaliy
 
Java. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередьJava. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередьUnguryan Vitaliy
 

More from Unguryan Vitaliy (20)

Модульное тестирование.
Модульное тестирование. Модульное тестирование.
Модульное тестирование.
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVC
 
Работа в команде, управление программными проектами
Работа в команде, управление программными проектамиРабота в команде, управление программными проектами
Работа в команде, управление программными проектами
 
Принципы SOLID
Принципы SOLIDПринципы SOLID
Принципы SOLID
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.
 
Введение в язык программирования «Java»
Введение в язык программирования «Java»Введение в язык программирования «Java»
Введение в язык программирования «Java»
 
Шаблоны проектирования GoF
Шаблоны проектирования GoFШаблоны проектирования GoF
Шаблоны проектирования GoF
 
Введение в hibernate
Введение в hibernateВведение в hibernate
Введение в hibernate
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в Spring
 
Cookies, session и другое в JSP
Cookies, session и другое в JSPCookies, session и другое в JSP
Cookies, session и другое в JSP
 
JSTL
JSTLJSTL
JSTL
 
JSP
JSPJSP
JSP
 
JDBC
JDBCJDBC
JDBC
 
XML
XMLXML
XML
 
Рефлексия в java
Рефлексия в javaРефлексия в java
Рефлексия в java
 
Аннотации в java
Аннотации в javaАннотации в java
Аннотации в java
 
java 8
java 8java 8
java 8
 
Java. Интерфейс Reference - типы ссылок
Java. Интерфейс Reference -  типы ссылокJava. Интерфейс Reference -  типы ссылок
Java. Интерфейс Reference - типы ссылок
 
Java. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередьJava. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередь
 

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

  • 2. Системы управления версиями Система управления версиями (англ. Version Control System, VCS или Revision Control System) — программное обеспечение для облегчения работы с изменяющейся информацией.
  • 3. Системы управления версиями Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.
  • 4. Локальные системы RCS (Revision Control System) - основаны на работе с наборами патчей между парами версий (патч — это файл, описывающий различие между файлами), которые хранятся в специальном формате на диске.
  • 7. Централизованные системы В централизованных системах, например CVS, Subversion и Perforce, есть центральный сервер, на котором хранятся все файлы под версионным контролем, и ряд клиентов, которые получают копии файлов из него.
  • 9. Централизованные системы CVS (Concurrent Versions System, «Система одновременных версий») Хранит историю изменений определённого набора файлов, и облегчает совместную работу группы людей над одним проектом.
  • 10. Централизованные системы Subversion (также известная как «SVN») — свободная централизованная система управления версиями. Используется Apache, GCC, Free Pascal, Ruby, FreeBSD, AROS, Blender, Boost, Tor.
  • 11. Централизованные системы Perforce (сокр. P4) — коммерческая СУВ имеет клиент-серверную архитектуру. Сервер Perforce может одновременно иметь несколько репозиториев, называемые «депо». Используется IntelliJ IDEA, XCode, Autodesk 3D Studio Max, Autodesk Maya, Adobe Photoshop, Microsoft Office, Eclipse, emacs.
  • 12. Распределённые системы В таких системах как Git, Mercurial, Bazaar, Darcs клиенты не просто выгружают последние версии файлов, а полностью копируют весь репозиторий.
  • 14. Распределённые системы Mercurial - распределенная система, написанная на языке Python с несколькими расширениями на C. Испошьзуеться в проектах Mozilla и MoinMoin
  • 15. Распределённые системы Bazaar - система разработка которой поддерживается компанией Canonical — известной своими дистрибутивом Ubuntu. Система в основном написана на языке Python. Используется проектом MySQL.
  • 16. Распределённые системы Darcs - распределенная система контроля версий написанная на Haskell используется проектом Buildbot.
  • 17. Git Git — распределённая система управления версиями. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux. Первая версия выпущена 7 апреля 2005. На сегодняшний день его поддерживает Джунио Хамано.
  • 18. Git Git - на данный момент является самой быстрой распределенной системой, использующей самое компактное хранилище ревизий.
  • 19. Git
  • 20. Git Первым действием, которое должен выполнить разработчик, является извлечение рабочей копии проекта или той его части, с которой предстоит работать.
  • 21. Git Извлечение выполняется с помощью команды извлечения версии (обычно checkout или clone). Разработчик задаёт версию, которая должна быть скопирована, по умолчанию обычно копируется последняя.
  • 22. Почти все операции — локальные Для совершения большинства операций в Git'е необходимы только локальные файлы и ресурсы, информация с других компьютеров в сети не нужна.
  • 23. Git следит за целостностью данных Перед сохранением любого файла Git вычисляет контрольную сумму, и она становится индексом этого файла. Поэтому невозможно изменить содержимое файла или каталога так, чтобы Git не узнал об этом.
  • 24. Три состояния В Git'е файлы могут находиться в одном из трёх состояний: зафиксированном, изменённом, подготовленном.
  • 25. Три состояния "Зафиксированный" – это состояние показывает, что файл уже сохранён в вашей локальной базе.
  • 26. Три состояния К изменённым относятся файлы, которые поменялись, но ещё не были зафиксированы.
  • 27. Три состояния Подготовленные файлы — это изменённые файлы, отмеченные для включения в следующий коммит.
  • 29. Три состояния Каталог Git'а — это место, где Git хранит метаданные и базу данных объектов вашего проекта. Это наиболее важная часть Git'а, и именно она копируется, когда вы клонируете репозиторий с другого компьютера.
  • 30. Три состояния Рабочий каталог — это извлечённая из базы копия определённой версии проекта. Эти файлы достаются из сжатой базы данных в каталоге Git'а и помещаются на диск для того, чтобы вы их просматривали и редактировали.
  • 31. Три состояния Область подготовленных файлов — это обычный файл, обычно хранящийся в каталоге Git'а, который содержит информацию о том, что должно войти в следующий коммит. Иногда его называют индексом index.