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
90 changes: 90 additions & 0 deletions git_instruction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Инструкция по Git

## 1. Инициализация репозитория
Для инициализации репозитория следует использовать команду `git init`.

## 2. Добавление файлу версионности
Добавим все файлы проекта в наш будущий commit командой `git add .`

## 2.1. Создание коммита
Сразу создаем commit, Обязательно указываем комментарий. Команда: `git commit -m "<комментарий>"`.
Каждая точка сохранения проекта носит название **commit**.

## 3. Статус
Чтобы узнать статус git есть комманда `git status`.

## 4. Версия Git
Чтобы проверить началась ли работа программы и не выдает ли она ошибку с ходу, можно использовать команду `git --version`, она выдаст версию программы git.

## 5. Список точек сохранения (лог коммитов)
Чтобы вывести на экран список всех точек сохранения нужно ввести команту `git log`.

## 6. Переключение между коммитами
Для перехода в какой-либо коммит нам нужно использовать команду `git checkout <номер коммита>`

## 7. Возвращение к последнему коммиту
Для возвращения к последнему коммиту нужно ити не через номер коммита, а через команду `git checkout master`

## 8. Вывод разницы
Для вывода на экран разницы между последним коммитом и сохранением можно воспользоваться командой `git diff`. Просмотреть изменения относительно двух веток можно командой `git diff <исходная_ветка> <целевая_ветка>`

## 9. Создние веток
Чтобы создать новую ветку необходимо использовать команду `git branch name_branch`. Чтобы перейти на другую ветку `git checkout name_branch`.

## 10. Слияние веток
Команда слияния в ветку находжения на данный момент, ветки указанной в команде - `git merge name_branch`.

## 11. Удаление веток
- `git branch -d <name branch>` - удаление уже слитой ветки; производится с любой другой ветки.
- `git branch -D <name_branch>` - принудительное удаление ветки,даже если там есть неслитая информация.

## 12. Изображения
Для вставки изображения мы используем команду:
![1](geekbrains.png)

# Группа команд git remote

## 13. Подключение удаленного репозитория
Команда `git remote add`.
Настройка подключения по HTTPS.

## 14. Клонирование удаленного репозитория.
Операция клонирования создаёт на вашем компьютере точную копию удаленного репозитория.Команда `git clone <ссылка на удаленный репозиторий>`.

## 15. Получение изменений из удаленного репозитория.
Чтобы получить изменения из удаленного репозитория, в Git предусмотрена команда `git fetch [ключи] [имя удаленного репозитория]`. Ключ `--all` получает изменения из всех подключенных удаленных репозиториев. Команда не обновляет рабочую копию в соответствии с удаленным репозиторием. Она обновляет только ссылочные объекты (указатели, ветки и теги) и скачивает все необходимые файлы в директорию `.git/objects`.Чтобы синхронизировать локальную рабочую копию с удаленным репозиторием, нужно слить удаленные ветки в локальные. Сделать это можно уже знакомой командой `git merge`.

Получает изменения из переданного удаленного репозитория и обновляет рабочую копию в соответствии с удаленным репозиторием. Команда `git pull [ключи] [имя удаленного репозитория]`.

### __Ключи:__
- --ff
- --no-ff
- --ff-only

Эти ключи определяют стратегию слияния. --ff – включить fast-forward, если это возможно, --no-ff – отключить fast-forward, а --ff-only – остановить pull, если его невозможно сделать в fast-forward.

## 16. Отправка изменений в удаленный репозиторий.
Команда `git push [ключи] [имя удаленного репозитория] [имя ветки]` загружает изменения в удаленный репозиторий.

### **Ключи**

- --all

Пушит все имеющиеся ветки

- -f, --force

Перезаписывает удаленную ветку, вне зависимости от ее содержимого. Старайтесь не использовать этот флаг без крайней необходимости.

- --force-with-lease

Удаляет все коммиты, которых нет в локальном репозитории. Если коммит, который команда соберется удалять был создан другим пользователем, то выполнение закончится с ошибкой.

## 17. Отключение удаленного репозитория от локального.
Команда `git remote remove <название удаленного репозитория>` отключает переданный удаленный репозиторий от вашего. В качестве имени репозитория нужно передавать то имя, которое вы указывали в команде git remote add. Заметьте, данная команда не удаляет удаленный репозиторий с сервера, она удаляет только подключение вашего репозитория к удаленному.

## 18. Переименование удаленного репрозитория
Для этого существует команда `git remote rename <старое имя удаленного репозитория> <новое имя удаленного репозитория>`. Она меняет имя переданного удаленного репозитория.

## 19. Просмотр списка всех подключенных удаленных репозиториев
Команда `git remote show [имя удаленного репозитория]`. Выводит список всех подключенных удаленных репозиториев. Если передано имя репозитория, то выводит информацию об этом репозитории.