mirror of
https://github.com/svek95/GeekBrainsHomeWork.git
synced 2026-06-10 07:28:29 +03:00
+86
@@ -0,0 +1,86 @@
|
||||
# **Инструкция по работе с Git**
|
||||
|
||||
## **Первоначальная настройка Git**
|
||||
|
||||
При первом запуске необходимо зарегистрироваться в системе. Git связывает вашу личность с каждой сделанной вами фиксацией.
|
||||
|
||||
* `git config --global user.name` "Name"
|
||||
* `git config --global user.email` user_email@mail.ru
|
||||
|
||||
## **Работа с одной веткой**
|
||||
|
||||
### Инициализация и отслеживание
|
||||
|
||||
* `git init` - (initialization) инициализация репозитория, т.е создание хранилища.
|
||||
|
||||
* `git add ReadMe.md` - добавление файла `ReadMe.md` в Git для отслеживания его изменений.
|
||||
|
||||
* `git commit -m "message"` - фиксация изменений. `-m` оставить комментарий к изменению.
|
||||
|
||||
### Перемещение по ветке
|
||||
|
||||
* `git log` - журнал изменений. История коммита. Будущие коммиты отображены не будут.
|
||||
|
||||
* `git checkout 1156gh` - переход к другому коммиту.
|
||||
|
||||
* `git checkout master` - возвращение к последнему коммиту ветви `master`. Основную ветку чаще всего называют master.
|
||||
|
||||
### Полезные команды
|
||||
|
||||
* `git --version` - версия Git.
|
||||
|
||||
* `git status` - отображает состояние рабочего каталога и раздела проиндексированных файлов.
|
||||
|
||||
* `git diff` - (difference) показывает разницу между сохраненным коммитом и текущим файлом.
|
||||
|
||||
## **Работа с несколькими ветками**
|
||||
|
||||
* `git branch branch_name` - команда для добавления новой ветки (branch_name - название добавляемой ветки).
|
||||
|
||||
* `git checkout branch_name` - команда для перехода между ветками (branch_name - название ветки в которую переходим).
|
||||
|
||||
* `git branch -d branch_name` - команда для удаления ветки (branch_name - название удаляемой ветки).
|
||||
|
||||
* `git merge branch_name` - команда для слияния двух веток.
|
||||
|
||||
Важные моменты при слиянии:
|
||||
1. В момент слияния мы находимся в ветке, куда будут загружены изменения;
|
||||
2. branch_name - название ветки, изменение которой будут отправляться.
|
||||
|
||||
### Последствия слияния веток.
|
||||
|
||||
Но бывают случаи когда сливаемые ветки конфликтуют друг с другом. Когда в основной ветке есть противоречие относительно изменений получаемых из побочной ветки. В таких случаях в среде VS Code нам предоставляется возможность реализовать один из следующих вариантов:
|
||||
* `Accept Current Change` - оставить в основной ветке ее версию данных;
|
||||
* `Accept Incoming Change` - заменить данные основной ветки на данные вливаемой ветки;
|
||||
* `Accept Both Changes` - оставить оба варианта для возможности вручную указать итоговые данные.
|
||||
* `Compare Changes` - сравнить изменения.
|
||||
|
||||
## **Работа с удаленным репозиторием GitHub**
|
||||
|
||||
### Как взять чей-то репозиторий с GitHub
|
||||
|
||||
1. Создаем папку для репозитория у себя на компьютере.
|
||||
2. Копируем HTTPS ссылку c GitHub интересующего нас проекта.
|
||||
3. Открываем созданную папку в VS Сode.
|
||||
4. В терминале выполняем команду: `git clone <HTTPS ссылка>`
|
||||
5. В скачанный репозиторий переходим командой: cd <название репозитория>
|
||||
6. Репозиторий готов к работе с ним.
|
||||
|
||||
### Как загрузить свой репозиторий на GitHub
|
||||
|
||||
1. Создать аккаунт на GitHub.com
|
||||
2. Создать локальный репозиторий
|
||||
3. "Подружить" ваш локальный и удаленный репозитории. GitHub при создании нового репозитория подскажет как это можно сделать.
|
||||
4. Отправить `(push)` ваш локальный репозиторий в удаленный (на GitHub), при этом вам, возможно, нужно будет авторизоваться на удаленном репозитории.
|
||||
5. Провести изменения "с другого компьютера".
|
||||
6. Выкачать `(pull)` актуальное состояние из удаленного репозитория.
|
||||
|
||||
### Как принять участие в разработке
|
||||
|
||||
1. Делаем форк `(fork)` интересующего нас репозитория.
|
||||
2. Мы делаем git clone для нашей версии этого репозитория.
|
||||
3. Мы создаем ветку с предлагаемыми изменениями.
|
||||
4. Производим изменения только в одной ветке.
|
||||
5. Отправляем эти изменения на свой аккаунт (push).
|
||||
6. В окне на GitHub появляется возможность отправить pull request.
|
||||
___
|
||||
Reference in New Issue
Block a user