Система контроля версий GIT
Система контроля версий (СКВ)
Локальные СКВ
Централизованные СКВ
Распределённые СКВ
Подробнее про GIT
Понятие слепка
Почти все операции — локальные
целостность данных
Три состояния файлов
Где можно скачать Git?
Команды GIT
Команды GIT
Команды GIT
Команды GIT
Команды GIT
Команды GIT
Команды GIT
Команды GIT
Команды GIT
Команды GIT
3.60M
Category: softwaresoftware

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

1. Система контроля версий GIT

СИСТЕМА КОНТРОЛЯ
ВЕРСИЙ GIT

2. Система контроля версий (СКВ)

СИСТЕМА КОНТРОЛЯ
ВЕРСИЙ (СКВ)
Это инструмент для управления
изменениями в файлах проекта,
позволяющий разработчикам отслеживать
изменения и управлять версиями кода.

3. Локальные СКВ

ЛОКАЛЬНЫЕ СКВ
Это системы, которые хранят изменения в
файлах на локальном компьютере без
подключения к удалённому репозиторию.
1. RCS (Revision Control System) — одна из
популярных локальных систем контроля
версий. Основана на работе с наборами
патчей, которые хранятся в специальном
формате на диске. Это позволяет
пересоздать любой файл на любой момент
времени, последовательно накладывая
патчи.

4. Централизованные СКВ

ЦЕНТРАЛИЗОВАННЫЕ СКВ
Это системы, которые хранят всю историю
изменений и актуальные версии проекта на одном
сервере. Разработчики работают с локальными
копиями исходного кода и для получения
последних изменений или отправки своих правок
подключаются к серверу.
1. Subversion (SVN) — централизованная система
контроля версий, где все изменения
фиксируются на центральном сервере, а
разработчики синхронизируют свои локальные
копии с ним.
2. Perforce (Helix Core) — ориентирована на
команды разработчиков, работающих с
большими объёмами данных и бинарными
файлами, такими как игры и мультимедиа.

5. Распределённые СКВ

РАСПРЕДЕЛЁННЫЕ СКВ
Это системы, в которых история проекта и
все изменения распределены между разными
копиями репозитория.
В таких системах каждый разработчик имеет
полную локальную копию проекта и может
работать над ним независимо. Это
обеспечивает высокую гибкость, отсутствие
необходимости постоянного подключения к
сети и возможность работать над проектом
даже в условиях оффлайн.

6.

Примеры таких СКВ:
1. Git.
2. Mercurial. Система, похожая на Git, отличается
лаконичной командной строкой и строгой моделью
работы с историей изменений.
3. Bazaar. Распределённая система контроля версий,
разработанная компанией Canonical. Написана на
языке Python и работает под управлением
операционных систем Linux, Mac OS X и Windows.
4. Fossil. Распределённая система контроля версий,
система отслеживания ошибок и программное
обеспечение wiki.
5. Code Co-op. Одноранговая система контроля версий.

7. Подробнее про GIT

ПОДРОБНЕЕ ПРО GIT
Это распределённая система контроля версий (Version Control
System, VCS), которая помогает отслеживать изменения в
коде, возвращаться к старым версиям и работать над проектом
вместе с другими разработчиками.
• У каждого разработчика есть полноценная копия
репозитория, включая всю историю проекта.
• Все операции выполняются локально без обращения
к серверу.
• Git — основа для популярных платформ совместной
разработки, таких как GitHub, GitLab и Bitbucket.

8. Понятие слепка

ПОНЯТИЕ СЛЕПКА
Слепки (snapshots) в системе контроля версий Git —
это моментальные снимки состояния проекта на
определённый момент времени. В отличие от
традиционных систем, которые отслеживают
изменения как различия между двумя версиями, Git
сохраняет слепок всего проекта.

9. Почти все операции — локальные

ПОЧТИ ВСЕ ОПЕРАЦИИ —
ЛОКАЛЬНЫЕ
1. Для совершения большинства операций в Git'е
необходимы только локальные файлы и ресурсы,
т.е. обычно информация с других компьютеров в
сети не нужна.
2. Поскольку вся история проекта хранится локально
у вас на диске, большинство операций кажутся
практически мгновенными.

10. целостность данных

ЦЕЛОСТНОСТЬ ДАННЫХ
Перед сохранением любого файла Git вычисляет
контрольную сумму, и она становится индексом этого
файла. Поэтому невозможно изменить содержимое
файла или каталога так, чтобы Git не узнал об этом.
Эта функциональность встроена в сам фундамент
Git'а и является важной составляющей его философии.
Если информация потеряется при передаче или
повредится на диске, Git всегда это выявит.
SHA-1 хеш, используемый для сохранения
целостности, выглядит примерно так:
B6DABFD326E06D8896CBE83B3BD52645CCE69C28

11. Три состояния файлов

ТРИ СОСТОЯНИЯ ФАЙЛОВ
1. Изменённый файл – был изменён или создан, но
ещё не обработан Git.
2. Подготовленный файл – был изменён, но также
был отмечен для внесения в следующем коммите.
3. Зафиксированный файл – записан в локальную
базу данных.

12. Где можно скачать Git?

ГДЕ МОЖНО СКАЧАТЬ GIT?
https://git-scm.com/downloads

13.

РЕГИСТРАЦИЯ В GITHUB

14.

РЕГИСТРАЦИЯ В GITHUB

15.

СОЗДАНИЕ РЕПОЗИТОРИЯ

16. Команды GIT

КОМАНДЫ GIT
Конфигурируем Git:
git config --global user.name "My Name"
git config --global user.email myEmail@example.com
Инициализировать репозиторий:
git init

17. Команды GIT

КОМАНДЫ GIT
git stаtus
Git отслеживает файлы в трёх основных разделах:
1. Рабочая директория — файловая система компьютера.
2. Область подготовленных файлов (staging area) — хранит содержание
следующего коммита.
3. HEAD — последний коммит в репозитории.
Команда отображает все файлы, которые различаются между этими разделами.

18. Команды GIT

КОМАНДЫ GIT
Добавления файлов в индекс — промежуточную область между рабочей
директорией и репозиторием:
git add .
git add название_файла.расширение
git add *.расширение

19. Команды GIT

КОМАНДЫ GIT
Фиксация изменения в репозитории. Создаётся «снимок» (коммит) текущего
состояния проекта, включая все внесённые изменения.
git commit -m "текст коммита"

20. Команды GIT

КОМАНДЫ GIT
Подключение удалённого репозитория к локальному:
git remote add origin адрес_нашего_репозитория_на_GitHub
Проект может иметь несколько удаленных репозиториев одновременно.
Чтобы их различать, мы дадим им разные имена. Обычно главный репозиторий
называется origin.
Для просмотра, к какому проекту мы подключены:
git remote -v

21. Команды GIT

КОМАНДЫ GIT
Если вдруг у вас на этом месте показывается несколько репозиториев, то
скорее всего верхние команды привели к запутыванию веток, это можно
разрешить следующей командой. Также это команда может пригодиться, если у
вас возникли ошибки, связанные с unrelated-histories.
git pull origin master --allow-unrelated-histories

22. Команды GIT

КОМАНДЫ GIT
Если репозиторий указан неверно, его можно удалить командой:
git remote rm origin
Запрос изменений с сервера:
git pull origin master
Отправка локального коммита на сервер:
git push origin master
Просмотр истории изменений:
git log

23. Команды GIT

КОМАНДЫ GIT
Создание новой ветки:
git branch название_ветки
Определение, в какой ветке мы:
git branch
Переключение на другую ветку или предыдущий коммит:
git checkout название_ветки/хеш_коммита
Слияние с веткой:
git merge название_ветки
Удаление ветки:
git branch –d название_ветки

24. Команды GIT

КОМАНДЫ GIT
Если изменения были в обеих ветках, конфликт неизбежен. Его нужно
разрешить, но сначала узнать, в чём был конфликт. Посмотрим, чем
отличаются наши ветки:
git diff
Если нужно удалить ветку, которая ещё не была объединена с другой веткой:
git branch –D название_ветки
Чтобы удалить ветку из удалённого репозитория GitHub:
git push origin --delete название_ветки

25. Команды GIT

КОМАНДЫ GIT
Клонировать репозиторий с GitHub:
git clone "адрес репозитория"
English     Русский Rules