Files
GeekBrainsHomeWork/Alexsandrov_Stepan.md
T
2022-02-23 18:19:12 +06:00

136 lines
9.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
![Лого GB](https://static.tildacdn.com/tild3138-3133-4132-b963-393333346630/GeekBrains_logo.png)
# **Шпаргалка по Git'у**
## **I. Основные команды**
- <span style = "color: red">*git init*</span> - Данная команда инициализирует репозиторий.
- <span style = "color: red">*git add <span style = "color: green">Имя файла</span>*</span> - Данная команда добавляет файлу версионность (включает режим фиксации версии) в репозитории.
- <span style = "color: red">*git status*</span> - Данная команда выводит статус выбранной папки.
- <span style = "color: red">*git commit -m"<span style = "color: green">Комментарий</span>"*</span> - Данная команда позволяет зафиксировать изменение и сообщить о появлении новой версии.
- <span style = "color: red">*git log*</span> - Данная команда выводит всю историю изменений(список commit'ов) в хронологическом порядке, с указанием номера commit’a, Автора, Даты изменения и Комментарий (к изменению).
- <span style = "color: red">*git diff*</span> - Данная команд выводит разницу между текущей и уже зафиксированной версией файла.
- <span style = "color: red">*git checkout*</span> - Данная команда дает возможность "перемещаться" между зафиксированными (сохраненными версиями).
- <span style = "color: red">*git checkout master*</span> - Данная команда дает возможность "перейти" к основной версии (ветке).
## **II. Работа с ветками**
Для просмотра списка существующих веток необходимо вызвать следующую команду:
git branch
### II.1) ***Добавление новой ветки***
Для добавления новой ветки испозуется следующая команда ("branch_name" - Название создаваемой ветки):
git branch branch_name
Команда *git status* позволяет посмотреть текущее состояние, в том числе - название текущей ветки.
### II.2) ***Переход между ветками***
Для перехода между ветками используется следующая команда ("branch_name" - Название ветки, в которую осуществляется переход):
git checkout branch_name
### II.3) ***Слияние веток***
Для слияние двух веток применяется следующая команда:
git merge branch_name
<span style = "color: red">***Важные моменты при слиянии!***</span>
В момент слияния мы находимся в ветке, куда будет загружены изменения;
"branch_name" - название ветки, изменения которой будут отправляться
### II.4) ***Последствия слияния веток***
При слиянии могут возникнуть ситуации, когда в основной ветке есть противоречия относительно изменений, получаемых с побочной ветки. В таких случаях в среде VS Code нам предоставляется возможность реализовать один из следующих вариантов
1. вариант - оставить в основной ветке её версию данных;
2. вариант - заменить данные основной ветки на данные выливаемой ветки;
3. вариант - оставить оба варианта, для возможности вручную указать итоговые данные.
## **III. Работа с удаленными репозиториями**
Для работа с удаленными репозиториями необходимо (*через GitHub*):
Создать аккаунт на GitHub (github.com)
Далее, в зависимости от задачи:
1. Если, требуется создать новый репозиторий на GitHub:
а) На странице своего аккаунта в GitHub, в верхнем правом углу, нажав на значок "+", вызываем выпадающий список, из которого выбираем "New repository.
b) Далее вводим "Repository name";
c) Если требуется вводим "Description (optional)";
d) Выбираем каким будет репозиторий, Публичным (Public) или Частным (Private);
f) Выбрать с помощью чего будите инициализировать данный репозиториий (Initialize this repository with), можно добавить файлы README, .gitignore и Лицензию (которая будет сообщать другим, что они могут и чего не могут делать с вашим кодом.)
g) Нажимаем "Create repository" и попадаем на страницу с новым репозиторием. На данной странице можем взять адрес "Code" репозитория на GitHub и залить туда свой локальный репозитории или клонировать новый и начать работать в VS Code.
h) Вносим изменения в локальный репозиторий, делаем commit и отправляем на удаленный репозиторий (git push).
2. Если, требуется работать с уже созданым чужим репозиторием на GitHub:
а) Заходим на страницу требуемого репозитория (по заранее известному адресу или названию).
b) В верхнем правом углу находим кнопку "Fork" и нажимаем на нее (в следствие нажатия GitHub сделает копию данного репозитория в наш аккаунт.
c) Далее клонируем скопированный репозитории на свой компьютер (git clone);
d) Создаём новую ветку, в которую будем вносить изменения;
f) Делаем commit своих изменений;
g) Отправляем свою версию на свой репозиторий в GinHub (git push);
h) Заходим на своий репозиторий в GitHub и нажимаем Pull requests.
i) Если требуется указываем сообщение для владельца репозитория.
j) Ожидаем обратной связи.
<span style = "color: red">***!!!Сделав Fork будет возможность делать Pull requests и поучавствовать в выбранном проекте!!! )***</span>
### <span style = "color: green">****КОМАНДЫ для работы с удаленным репозиторием****</span>
- **Клонировать репозиторий**, т.е. склонировать внешний репозиторий на наш ПК
git clone
- **Скачать и сохранить из удаленного репозитория, только те изменения, которых нет в локальном репозиториий**
git fetch origin
- **Скачать все изменения из удаленного репозитория и сделать merge с локальной версией**
git pull
<span style = "color: yellow">git pull = git fetch + git merge</span>
- **Отправить нашу версию репозитоия на удаленный репозиторий в GitHub**
git push origin
- **Отправить ветку branch_name на сервер origin**
git push origin branch_name
!!! **origin** — имя по умолчанию, которое Git даёт серверу, с которого производилось клонирование!!!
* **Управления списком удалённых репозиториев**
git remote
* Просмотреть адреса для чтения и записи, привязанные к репозиторию
git remote -v
* Добавить удалённый репозиторий
git remote add <shortname> <url>
## <span style = "color: yellow">Шпаргалка. Как сделать PULL REQUEST</span>
1. Делаем fork репозитория
2. Делаем clone СВОЕЙ версии репозитория
3. Создаем новую ветку и в НЕЕ вносим свои изменения
4. Фиксируем изменения (делаем коммиты)
5. Отправляем свою версию в свой GitHub
6. На сайте GitHub нажимаем кнопку pull request
# END.
~~<span style = "color: red">*Author:*</span> <ins>Bill Gates</ins>~~
~~<span style = "color: red">*Corrected and supplemented:*</span> <ins>Linus Torvalds</ins>~~
*<span style = "color: red">*Автор:*</span> <ins>Александров Степан Н.</ins> (Gr_n RF)*