mirror of
https://github.com/svek95/GeekBrainsHomeWork.git
synced 2026-06-10 15:15:56 +03:00
153 lines
9.8 KiB
Markdown
153 lines
9.8 KiB
Markdown
## Шпаргалка для git-а
|
||
|
||
### Часть первая
|
||
|
||
### *Основные команды git-а*
|
||
|
||
* _git --version_ -команда проверяет установлен ли git и его текущую версию.
|
||
|
||
* _git init_ -команда создаст репозиторий внутри папки.
|
||
|
||
* _git add (file.md)_ -команда начнет следить за изменениями внутри файла.
|
||
|
||
* _git commit -m "coment"_ -команда сохраняет изменения, с коментариями об изменениях.
|
||
|
||
* _git status_ -команда позволяет увидеть текущее состояние папки.
|
||
|
||
* _git log_ -команда позволяет посмотреть текущую версию файла.
|
||
|
||
* _git checkout (nomber commit)_ -команда показывает состояние файла включая данный commit.
|
||
|
||
* _git cheсkout master_ -комана возвращает программу git к последнему изменению.
|
||
|
||
* _git diff (commit 1 and commit 2)_ -команда показывает разницу между двумя сравниваемыми commit-ами.
|
||
|
||
* _git branch_ - команда показывает наличие всех веток и указывает на какой ветке сейчас мы находимся.
|
||
|
||
* _git branch (name)_ - команда создания новой ветки.
|
||
|
||
* _git checkout (name)_ -команда перехода на нужную ветку.
|
||
|
||
* _git merge branch (name)_ -команда слияния двух веток. Причем, мы должны находиться в ветке в которую вливается указанная ветка.
|
||
|
||
* _git branch --d branch (name)_ -команда удаления ветки.
|
||
|
||
* _.gitignor (name file)_ -команда предписывает не обращать внимание на данный файл, находящийся в нашй папке.
|
||
|
||
* _git log --graph_ -команда позволяющая увидеть дерево commit-ов и их принадлежность к веткам.
|
||
|
||
|
||
### Часть вторая
|
||
|
||
### _Работа с ветками_
|
||
|
||
### 1. Добавление новой ветки.
|
||
|
||
* Для добавления новой ветки используется следующая команда:
|
||
_git branch (name)_
|
||
|
||
* Убедится, что новая ветка добавлена можно с помощью команды: _git branch_
|
||
|
||
### 2. Переход между ветками.
|
||
|
||
* Для перехода на нужную ветку используется команда: _git checkout (name), где (name) - имя ветки на которую мы хотим перейти.
|
||
|
||
### 3. Слияние веток.
|
||
|
||
* Для слияния двух веток используется команда: _git merge (name)_, где (name) имя ветки из которй добавляется информация.
|
||
|
||
**ВАЖНО** - в момент слияния мы должны находиться на ветке в которую добавляется информация. Для определения на какой ветке мы сейчас находимся используется команда: _git branch_.
|
||
|
||
### 4. Удаление веток.
|
||
|
||
* Для удаления ветки используется команда: _git branch -d (name)_, где (name) имя удаляемой программы.
|
||
|
||
**ВАЖНО** - при удалении ветки необходимо убедтся, что вся информация из нее - сохранена и ветка нам больше не потребуется.
|
||
|
||
### 5. Конфликты при слиянии веток и их разрешение.
|
||
|
||
* При слиянии двух веток можен возникнуть конфликтная ситуация, когда текущая информация в ветке, в которую добавляют информацию, изменилась по сравнению с той, которая была при создании ветки. git - укажен на эти отличия и предложит 3 варианта решения.
|
||
|
||
1. принять старую версию;
|
||
2.принять новую версию;
|
||
3.принять совмещенную версию(учесть все изменения).
|
||
|
||
### 6. Визуализация дерева веток.
|
||
|
||
* Для визуального просмотра дерева веток (можно увидеть какие ветки были созданы и какие коммиты в них были реализованы, а также можно увидеть слияние веток) используется команда _git log --graph_.
|
||
|
||
|
||
### Часть третья
|
||
|
||
### _Схема создания конфликта_
|
||
|
||
* Создаем новую ветку.
|
||
|
||
* Переходим на новую ветку.
|
||
|
||
* Создаем коммит на новой ветке.
|
||
|
||
* Переходим на ветку мастер.
|
||
|
||
* Создаем коммит на ветке мастер.
|
||
|
||
* Вливаем новую ветку в ветку мастер.
|
||
|
||
### _Должен возникнуть конфликт!_
|
||
|
||
## Часть четвертая
|
||
|
||
### _Работа с удаленным репозиторием_
|
||
|
||
### 1. Создание удаленного репозитория
|
||
|
||
* Скачиваем сервис GitHab по ссылке githab.com
|
||
|
||
* Создаем аккаунт на сервисе GitHab
|
||
|
||
* В иконке new repozitory вводим название нашего нового удаленного депозитория
|
||
|
||
* Для работы необходимо связать наш удаленный репозиторий и наш локальный репозиторий, для этого после создания удалнного репозитория необходимо в локальном репозитории выполнить один из трех шагов предложенных сервисом GitHab. На пример:
|
||
|
||
_git remote add origin()_
|
||
|
||
_git branch -M main_
|
||
|
||
_git рush -u origin main_
|
||
|
||
## ВФжно: При первой команде push сервис GitHab попросит пройти авторизацию. по указанному пути.
|
||
|
||
### 2. Извлечение информации из удаленного репозитория
|
||
|
||
* Для ознакомления с информацией какого нибудь удаленного депозитория необходимо выбрать этот депозиторий или ввести ссылку, затем нажать иконку Code и скопировать адрес этого репозитория.
|
||
Затем перейти в терминал VScode и с помощью команды git clone (скопированный адес) скопировать папку чужго удаленного репозитория..
|
||
|
||
* Для перехода в скоченную папку необходимо выполнить команду cd (указать название папки).
|
||
|
||
* Для перемещения информации из своего удаленного репозитория в свой локальный репозиторий используется команда git pull.
|
||
|
||
### 3. Перемещение информации в удаленный репозиторий
|
||
|
||
* Для перемещения информации из нашего локального репозитория в наш удаленный репозиторий используется команда git push
|
||
|
||
### 4. Работа с чужими репозиториями
|
||
|
||
* Для работы с чужим удаленным репозиторием необходимо сделать актуальную копию и сязать ее со своим удаленным репозиторием. это делается с помощью нажатия на иконку Fork. Затем нажав нв иконку Code копируем адрес нашего удаленного репозитория с копиее чужого.
|
||
|
||
* Затем с помощью команды git clone (скопированный адрес удаленного репозитория) копирум чужую копию свой локальный репозиторий.
|
||
|
||
* Затем с помощью команды cd (имя папки скопированного чужого репозитория), переходом в папку скопированного репозитория.
|
||
|
||
* Создае свой файл в скопированной папке, создаем новую ветку и начинаем работать в созданной папке.
|
||
|
||
* Все изменения созданные на новой ветке коммитим и с помощью команды git push отправляем на наш удаленный репозиторий.
|
||
|
||
* Зате с помощью нажатия на иконку Compare & pull request направляем свои изменени хозяину чужого репозитория для рассмотрения
|
||
|
||
* GitHab автоматически проверяет ветку чужого репозитория и нашу ветку, которую мы хотим влить на предмет конфликтов.
|
||
|
||
* После создания комертария об наших иьенения с помощью нажатия на иконку Create pull request отправляем нашши изменения хзяину чужого репозитория
|
||
|
||
|
||
|