diff --git a/git_instruction.md b/git_instruction.md new file mode 100644 index 0000000..58ea753 --- /dev/null +++ b/git_instruction.md @@ -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 ` - удаление уже слитой ветки; производится с любой другой ветки. +- `git branch -D ` - принудительное удаление ветки,даже если там есть неслитая информация. + +## 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 [имя удаленного репозитория]`. Выводит список всех подключенных удаленных репозиториев. Если передано имя репозитория, то выводит информацию об этом репозитории. \ No newline at end of file