Git теория
Теория по Git
Система контроля версий
flowchart TD
GitHub -->|Сервер| GIT-СИСТЕМА
BitBucket -.->|Сервер| GIT-СИСТЕМА
GitLab -.->|Сервер| GIT-СИСТЕМА
GIT-СИСТЕМА -->|Клиент| GitС1[Клиент консольный]
GIT-СИСТЕМА -->|Клиент| GitС2[Клиент GUI]
GIT-СИСТЕМА -.->|Клиент| GitС3[Интеграция с VisualStudio]
GIT-СИСТЕМА - гит как система для контроля версий имеет локальную часть, которая ставится на рабочую машину разработчика и серверную часть (аналог облака), которая настраивается через веб-интерфейс. При этом работа с гит происходит однообразно через гит-клиенты и стандартные операции.
Основные сущности
flowchart TD
Репозиторий -->|Хранится| Локальный[Локальный репозиторий]
Репозиторий -->|Хранится| Удалённый[Внешний репозиторий]
Репозиторий -->|Содержит| Ветка
Ветка -->|Содержит| Коммит
Репозиторий — некий каталог файловой системы, в котором находятся служебные файлы гит помимо файлов.
Локальный репозиторий — репозиторий, расположенный на локальном компьютере разработчика в каталоге. Именно в нём происходит разработка и фиксация изменений, которые отправляются на внешний репозиторий. Часто в руководствах пишут "удалённый", но слово внешний понятнее.
Внешний репозиторий — репозиторий, находящийся на удаленном сервере. Это общий репозиторий, в который приходят все изменения, и из которого забираются все обновления.
Коммит (Commit) — это объект, содержащий информацию об изменённых файлах. Представляйте его себе в виде zip-архива с подписью-хешем.
Ветка (Branch) — это отдельная история изменений (коммитов) в рамках одного репозитория.