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

## *Что такое Git и зачем он нужен?*

**Git** - это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок - полезно для дизайнеров.

С помощью **Git**-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.

Репозиторием называют хранилище вашего кода и историю его изменений. Git работает локально и все ваши репозитории хранятся в определенных папках на жестком диске.

Так же ваши репозитории можно хранить и в интернете. Обычно для этого используют три сервиса:

* GitHub
* Bitbucket
* GitLab

Каждая точка сохранения вашего проекта носит название коммит (*commit*). У каждого commit-a есть *hash* (уникальный id) и комментарий. Из таких *commit*-ов собирается ветка. **Ветка** - это история изменений. У каждой ветки есть свое название. Репозиторий может содержать в себе несколько веток, которые создаются из других веток или вливаются в них.



### **Основные команды Git**

**git init** - инициализация локального репозитория

**git status** - получение информации от git о текущем состоянии

**git add** - добавить файл или файлы к следующему коммиту

**git commit -m "messege"** - создание коммита

**git log** - вывод на экран истории всех коммитов с их хеш-кодами

**git chechout** - переход от одного коммита к другому

**git checkout master** - вернуться к актуальному состоянию и продолжить работу

**git diff** - увидеть разницу между текущим файлом и закоммиченным файлом

**ls** - отображает содержимое репозитория

**touch name.txt** - создать файл name.txt

**mkdir name** - создать новую папку name

**cd name/** - перейти в папку name

**cd ..** - подняться на уровень выше
**git branch** - посмотреть список веток в репозитории

**git branch name** - создать новую ветку

**git checkout name** - переход к другой ветке

**git branch -d name** - удалить ветку

**vim name** - редактировать файл

**git merge name** - слить в текущую ветку

**git pull** - позволяет скачать все из текущего репозитория и автоматически сделать merge с вашей версией

**git push** - позволяет отправить свою версию репозитория во внешний репозиторий

**git request** - команда для предложения изменений, запрос на вливание изменений в репозиторий

### **Как сделать pull request**

* Делаем fork репозитория
* Делаем git clone *своей* версии репозитория
* Создаем новую ветку и в нее вносим свои изменения
* Фиксируем изменения (git commit -m "message")
* Отправляем свою версию в свой GitHub
* На сайте GitHub нажимаем pull request

Не важно, чколько будет попыток. Важен результат. Удачи!

![Внимание](picture.jpg)