diff --git a/README.md b/README.md index ba1c29a..b850438 100644 --- a/README.md +++ b/README.md @@ -9,4 +9,137 @@ vsem privet как дела? очень хорошо -что новенького? \ No newline at end of file +что новенького? + +# Инструкция для работы с Git и удалёнными репозиториями + +## Что такое Git? +Git - это одна из реализаций распределённых систем контроля версий, имеющая как и локальные, так и удалённые репозитории. Является самой популярной реализацией систем контроля версий в мире. + +Git - это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок - полезно для дизайнеров. + +С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий. + +Репозиторием называют хранилище вашего кода и историю его изменений. Git работает локально и все ваши репозитории хранятся в определенных папках на жестком диске. + +## Подготовка репозитория +Для создание репозитория необходимо выполнить команду *git init* в папке с репозиторием и у Вас создаться репозиторий (появится скрытая папка .git) + +## Создание коммитов + +### Git add +Для добавления измений в коммит используется команда *git add*. Чтобы использовать команду *git add* напишите *git add <имя файла>* + +### Просмотр состояния репозитория +Для того, чтобы посмотреть состояние репозитория используется команда *git status*. Для этого необходимо в папке с репозиторием написать *git status*, и Вы увидите были ли измения в файлах, или их не было. + +### Создание коммитов +Для того, чтобы создать коммит(сохранение) необходимо выполнить команду *git commit*. Выполняется она так: *git commit -m "<сообщение к коммиту>*. Все файлы для коммита должны быть ***ДОБАВЛЕНЫ*** и сообщение к коммиту писать ***ОБЯЗАТЕЛЬНО***. + +Каждая точка сохранения вашего проекта носит название коммит (commit). У каждого commit-a есть hash (уникальный id) и комментарий. Из таких commit-ов собирается ветка. Ветка - это история изменений. У каждой ветки есть свое название. Репозиторий может содержать в себе несколько веток, которые создаются из других веток или вливаются в них. + +## Перемещение между сохранениями +Для того, чтобы перемещаться между коммитами, используется команда *git checkout*. Используется она в папке с пепозиторием следующим образом: *git checkout <номер коммита>* + +## Журнал изменений +Для того, чтобы посмтреть все сделанные изменения в репозитории, используется команда *git log*. Для этого достаточно выполнить команду *git log* в папке с репозиторием + +## Ветки в Git + +### Создание ветки + +Для того, чтобы создать ветку, используется команда *git branch*. Делается это следующим образом в папке с репозиторием: *git branch <название новой ветки>* + +## Слияние веток + +Для того чтобы дабавить ветку в текущую ветку используется команда *git merge * + +## Удаление веток +Для удаления ветки ввести команду "git branch -d 'name branch'" + +## Редактирование текста + +Заголовки H1–H6 выделяются в Markdown с помощью знаков решетки (диез/шарп). Можно просто поставить нужное количество решеток в начале строки, чтобы указать уровень. Или заключить строку с двух сторон по аналогии с HTML-тегами, кому как удобно. + +# Это H1 + +## Это H2 ## + +### Это H3 + +#### Это H4 #### + +##### Это H5 ##### + +###### Это H6 + + +## Выделения текста +Форматирование курсивом и жирным точно есть во всех инструментах, где другие функции Markdown могут быть ограничены. Синтаксис выделения текста и расставления акцентов: + +__Жирный__ + + +**Тоже жирный** + + +*Курсив* + + +_Тоже курсив_ + + +~~Зачеркнутый~~ + + +## Списки + +Чтобы оформить строку в элемент маркированного списка, в начале нужно поставить плюс, минус или звездочку. Звездочка не приведет к курсивному выделению, потому что отделяется от слова пробелом. + +- Пункт 1 + +- Пункт 2 + +или + ++ Пункт 1 + ++ Пункт 2 + + +или + + +* Пункт 1 + +* Пункт 2 + +Материал взят по [ссылке](https://texterra.ru/blog/ischerpyvayushchaya-shpargalka-po-sintaksisu-razmetki-markdown-na-zametku-avtoram-veb-razrabotchikam.html) + +## Совместная работа и обновление проектов + +Не так уж много команд в Git требуют сетевого подключения для своей работы, практически все команды оперируют с локальной копией проекта. Когда вы готовы поделиться своими наработками, всего несколько команд помогут вам работать с удалёнными репозиториями. + +**git fetch** + +Команда git fetch связывается с удалённым репозиторием и забирает из него все изменения, которых у вас пока нет и сохраняет их локально. + +**git pull** + +Команда git pull работает как комбинация команд git fetch и git merge, т. е. Git вначале забирает изменения из указанного удалённого репозитория, а затем пытается слить их с текущей веткой. + +**git push** + +Команда git push используется для установления связи с удалённым репозиторием, вычисления локальных изменений отсутствующих в нём, и собственно их передачи в вышеупомянутый репозиторий. Этой команде нужно право на запись в репозиторий, поэтому она использует аутентификацию. + +**git remote** + +Команда git remote служит для управления списком удалённых репозиториев. Она позволяет сохранять длинные URL репозиториев в виде понятных коротких строк, например «*origin*», так что вам не придётся забивать голову всякой ерундой и набирать её каждый раз для связи с сервером. Вы можете использовать несколько удалённых репозиториев для работы и *git remote* поможет добавлять, изменять и удалять их. + +**git archive** + +Команда *git archive* используется для упаковки в архив указанных коммитов или всего репозитория. + +**git submodule** + +Команда *git submodule* используется для управления вложенными репозиториями. Например, это могут быть библиотеки или другие, используемые не только в этом проекте ресурсы. У команды *submodule* есть несколько под-команд — *add*, *update*, *sync* и др. — для управления такими репозиториями. \ No newline at end of file