Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions Instruction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Инструкция для работы с Git и удалёнными репозиториями

## Что такое Git?
**Git** - это одна из реализаций распределённых систем контроля версий, имеющая как и локальные, так и удалённые репозитории. Является самой популярной реализацией систем контроля версий в мире.

## Подготовка репозитория
Для создания репозитория необходимо выполнить команду *git init* в папке с репозиторием, и у Вас создастся репозиторий (появится скрытая папка .git).

## Создание коммитов

### Git add
Для добавления измений в коммит используется команда *git add*. Чтобы использовать команду *git add* напишите *git add <имя файла>*

### Просмотр состояния репозитория
Для того, чтобы посмотреть состояние репозитория, используется команда *git status*. Для этого необходимо в папке с репозиторием написать *git status*, и Вы увидите, были ли измения в файлах, или их не было.

### Создание коммитов
Для того, чтобы создать коммит(сохранение), необходимо выполнить команду *git commit*. Выполняется она так: *git commit -m "<сообщение к коммиту>*. Все файлы для коммита должны быть ***ДОБАВЛЕНЫ*** и сообщение к коммиту писать ***ОБЯЗАТЕЛЬНО***.

## Перемещение между сохранениями
Для того, чтобы ***перемещаться между коммитами***, используется команда *git checkout*. Используется она в папке с репозиторием следующим образом: *git checkout <номер коммита>*.

## Журнал изменений
Для того, чтобы посмотреть все сделанные изменения в репозитории, используется команда *git log*. Для этого достаточно выполнить команду *git log* в папке с репозиторием.

## Ветки в Git

### Создание ветки

Для того, чтобы создать ветку, используется команда *git branch*. Делается это следующим образом в папке с репозиторием: *git branch <название новой ветки>*.

### Слияние веток

Для того, чтобы дабавить ветку в текущую ветку, используется команда *git merge <name branch>*.

### Удаление веток
Для удаления ветки ввести команду "git branch -d 'name branch'".


## Групповая работа

### Клонирование репозитория
Для настройки связки с удаленным репозиторием используется команда *git clone <ссылка на удаленный репозиторий.git>*. Команда *git clone* вводится в терминале в папке, которая не дожна сама быть инициализированным репозиторием (чтобы избежать вложения репозиториев друг в друга). После ввода команды на локальном компьютере создается копия удаленного репозитория.

### Синхронизация локального и удаленного репозиториев
Обмен данными между локальным и удаленным репозиторием осуществляется при помощи команд *git pull* (выгрузка обновлений из удаленного репозитория на локальный со слиянием) и *git push* (загрузка обновлений из локального репозитория в удаленный).

Если загрузка происходит из ветки локального репозитория, необходимо дополнить команду указанием на ветку *git push --set-upstream origin <имя ветки>* либо *git push -u origin <имя ветки>*.

### Работа с чужим проектом
Прямая работа с чужими файлами невозможна. Для внесения дополнений в чужой проект необходимо:
1. В интерфейсе GitHub создать копию чужого репозитория на своем аккаунте (*fork*).
2. Клонировать (*clone*) форкнутый репозиторий на локальный компьютер.
3. ***ОБЯЗАТЕЛЬНО*** создать ветку для внесения изменений.
4. Произвести необходимые изменения.
5. Загрузить изменения (*push*) в удаленный форкнутый репозиторий.
6. В интерфейсе GitHub создать *pull request* - запрос к владельцу исходного репоззитория на внесение изменений. Этот запрос попадает на модерацию к владельцу.