diff --git a/README.md b/README.md index f16c63f..9b35abc 100644 --- a/README.md +++ b/README.md @@ -1,487 +1,58 @@ -# Описание разметки файла README.md -Для описания проектов на GitHub используется README.md, который пишется на языке разметки markdown. Что и как поддерживается расписано ниже. Также существует еще один формат - [reStructuredText](https://github.com/GnuriaN/format-README/blob/master/README.rst), описание которого вынесено в отдельный файл `README.rst`. +# *Инструкция по работе с Git и удаленными репозиториями.* +## *Общее описание* +Git- это распределенная система управления версиями, позволяет работать как с локальными репозиториями, так и с удаленными. На настоящий момент является одной из самых распрастраненных систем контроля версий. -## Оглавление +## *Начало работы* +Для начала работы необходимо посредством программы VS-code (для ОС Windows) выбрать папку для работы, а так же создать (или загрузить) файл, с которым будет вестись дальнейшая работа. После чего наобходимо ввести команду "git init" в папке с репозиторием, после чего у вас создастся скрытый файл .git . -0. [Разделительная черта](#Разделительная-черта) -1. [Заголовки](#Заголовки) -2. [Работа с выделением текста](#Работа-с-выделением-текста) -3. [Использование эмодзи (emoji)](#Использование-эмодзи-emoji) -4. [Использование цитирования в тексте](#Использование-цитирования-в-тексте) -5. [Подсветка кода](#Подсветка-кода) -6. [Списки](#Списки) - 1. [Маркированный](#Маркированный) - 2. [Нумерованный](#Нумерованный) - 3. [Смешанные списки](#Смешанные-списки) - 4. [Список задач](#Список-задач) -7. [Ссылки](#Ссылки) -8. [Вставка изображения](#Вставка-изображения) -9. [Вставка таблиц](#Вставка-таблиц) -10. [Диаграммы Mermaid.js](#диаграммы-mermaidjs) -11. [Дополнения](https://github.com/GnuriaN/format-README/blob/master/Дополнения.md) - -## Разделительная черта -При использовании -``` -____ -``` -получается разделительная черта -____ -[:arrow_up:Оглавление](#Оглавление) -___ -## Заголовки +### *Создание коммитов* +1. Добавление изменений в коммит +Для добавления изменений в коммит необходимо ввести команду "git add <имя файла>". Для добавления изменений во все файлы репозитория используется команда "git add -A" -Всего существует шесть уровней заголовков. Для того, чтобы создать заголовок, необходимо в начале строки добавить символы `#`, в количестве равном его уровню. -____ -# Заголовок первого уровня -``` -# Заголовок 1 -``` -Заголовок первого уровня также можно создать: -``` -Заголовок 1 -=========== -``` -____ -## Заголовок второго уровня -``` -## Заголовок 2 -``` -Заголовок второго уровня также можно создать: -``` -Заголовок 2 ------------ -``` -____ -### Заголовок третьего уровня -``` -### Заголовок 3 -``` -____ -#### Заголовок четвертого уровня -``` -#### Заголовок 4 -``` -____ -##### Заголовок пятого уровня -``` -##### Заголовок 5 -``` -____ -###### Заголовок шестого уровня -``` -###### Заголовок 6 -``` -____ -[:arrow_up:Оглавление](#Оглавление) -____ -## Работа с выделением текста +2. Создание коммитов +Для создания коммита необходимо ввести команду "git commit". Для добавления комментария к коммиту необходимо дополнительно после введенной команды добавить <-m "текст комментария">. -``` -~~Зачеркнутый текст~~ -``` -~~Зачеркнутый текст (Strikethrough)~~ +3. Проверка состояния репозитория +Для того, что бы посмотреть были ли внесены какие-либо изменения в файлы, необходимо ввести команду "git status". -Для выделения текста **`жирным`** или *`наклонным`* и их сочетания можно использовать комбинации `*` или `_` +4. Проверка наличия отличий между версиями в пределах одной ветки +Для того, что бы увидеть, какие именно изменения были внесены в файлы после последнего коммита необходимо ввести команду "git diff". Зеленым цветом будут отоборажаться добавленные строки/файлы, красным - удаленные строки/файлы, а серым- те части, которые не претерпевали изменений. -``` -**Жирный текст (bold)** -``` -**Жирный текст (bold)** +### *Просмотр списка коммитов и переход между ними* +Для просмотра истории всех созданных коммитов необходимо ввести команду "git log". Таким образом отобразится список всех созданных коммитов с указанием автора, даты создания, а так же уникальным номером данного коммита. Для выбора отдельного коммита необходимо скопировать первые 4 цифры из уникального номера, ввести команду "git checkuot <номер коммита>". -``` -*Наклонный текст (italic)* -``` -*Наклонный текст (italic)* +## *Работа с ветками* +1. Создание веток и переход между ветками +Для создания ветки необходимо ввести команду "git branch <название ветки>". Для просмотра имеющихся веток необходимо ввести команду "git branch". В отображенном списке веток символом "*" будет обозначена ветка, на которой на данный момент находится пользователь. При настройке терминала "bash" так же будет присутствовать цветовое обозначение. Для перехода между разными ветками необходимо ввести команду "git checkout <название ветки>". Для создания ветки и перехода на нее необходимо ввести команду "git branch -b <название ветки>". -``` -***Жирный наклонный текст (bold italic)*** -``` -***Жирный наклонный текст (bold italic)*** +2. Объединение веток +Для объединения веток или добавления данных из одной ветки в другую необходимо перейти в ветку, в которую будет производиться выгрузка данных. После чего необходимо ввести команду "git merge <Название ветки, из которой будет производиться выгрузка>". -``` -__Жирный текст (bold)__ -``` -__Жирный текст (bold)__ +3. Удаление веток +Для удаления ветки необходимо ввести команду "git branch -d <название ветки>". -``` -_Наклонный текст (italic)_ -``` -_Наклонный текст (italic)_ +4. Конфликт веток при объединении +Если при попытке объединения веток в одной строке содержатся различные значения, возникает конфликт, который не позволяет провести автоматическое добавление данных из одной ветки в другую. В таком случае файл, версии которого объединялись, подсвечивается красным, а в окне терминала появляется сообщение о конфликте и окно перехода в меню разрешения конфликта. Пользователь в ручном режиме может сравнить, в чем разница версий, а так так же выбрать, какая из них по итогу останется при слиянии веток. -``` -___Жирный наклонный текст (bold italic)___ -``` -___Жирный наклонный текст (bold italic)___ +## *Работа с удаленными репозиториями* +### Что такое удаленный репозиторий +Репозиторий, хранящийся в облаке, на стороннем сервисе, специально созданном для работы с git имеет ряд преимуществ. Во-первых - это своего рода резервная копия вашего проекта, предоставляющая возможность безболезненной работы в команде. А еще в таком репозитории можно пользоваться дополнительными возможностями хостинга. К примеру -визуализацией истории или возможностью разрабатывать вашу программу непосредственно в веб-интерфейсе. -``` -~~*__Тут странный текст__*~~ -``` -~~*__Тут странный текст__*~~ - -[:arrow_up:Оглавление](#Оглавление) -____ -## Использование эмодзи (emoji) -В самом тексте можно использовать эмодзи, например написать вот так: -:white_check_mark: Это уже сделано -:negative_squared_cross_mark: Я не буду это делать -:black_square_button: делать или не делать, вот в чем вопрос? -В оригинале это выглядит так (в конце строки четыре (4) пробела для того, чтобы был переход на новую строку): -``` -:white_check_mark: Это уже сделано -:negative_squared_cross_mark: Я не буду это делать -:black_square_button: делать или не делать, вот в чем вопрос? -``` +### Клонирование репозитория +Клонирование - это когда вы копируете удаленный репозиторий к себе на локальный ПК. Это то, с чего обычно начинается любой проект. При этом вы переносите себе все файлы и папки проекта, а также всю его историю с момента его создания. Чтобы склонировать проект, сперва, необходимо узнать где он расположен и скопировать ссылку на него. Например, адрес https://github.com/<пример репозитория>. Необходимо ввести команду git clone https://github.com/<пример репозитория> При клонировании в текущий каталог, там будет создана папка, в которую поместятся все проектные файлы и скрытая директория .git, с самим репозиторием, или с необходимой информацией о нем. -Список работающих Эмодзи находится тут -> [emoji.md](https://github.com/GnuriaN/format-README.md/blob/master/emoji.md) - -[:arrow_up:Оглавление](#Оглавление) -___ -## Использование цитирования в тексте -``` -> Цитата (уровень 1) -> > Вложенная цитата (уровень 2) -> > > Вложенная цитата (уровень 3) +### Подключение к удаленному репозиторию +Чтобы связать свой локальный репозиторий с репозиторием на GitHub, необходимо ввести следующую команду в терминале: git remote add origin https://github.com/<пример репозитория>. Обратите внимание, что нужно обязательно изменить URI репозитория на свой. -> > Продолжение цитаты (уровень 2) +### Отправка изменений на удаленный репозиторий +Команда, предназначенная для отправки изменений - push. Она принимает два параметра: имя удаленного репозитория и ветку, в которую необходимо внести изменения (master — это ветка по умолчанию для всех репозиториев). Например, git push <имя репозитория> master. -> Продолжение цитаты (уровень 1) -``` -> Цитата (уровень 1) -> > Вложенная цитата (уровень 2) -> > > Вложенная цитата (уровень 3) +Запрос изменений с удаленного репозитория +Для загрузки изменений с удаленного репозитория необходимо ввести команду git pull <имя репозитория> master. -> > Продолжение цитаты (уровень 2) +Как удалить локальный репозиторий +1. Для удаления локального репозитория необходимо удалить скрытую папку «.git» в корневом каталоге репозитория. Сделать это можно 3 способами: -> Продолжение цитаты (уровень 1) - -Внешний вид, конечно, не очень, но может и пригодиться. - -[:arrow_up:Оглавление](#Оглавление) -___ -## Подсветка кода - -Если нужно выделить слово или фразу внутри строки, то используются одинарные обратные кавычки (`): - - Это `слово` будет выделено - -Для выделения в блоки - тройные: - - ``` - Здесь может быть - Ваша реклама - ``` - -Дополнительно можно задавать язык кода внутри блока, указав его после первых трех кавычек: - - ```html - - ``` - - ```css - body { - margin: 0; - padding: 0; - } - ``` - - ```php - - ``` - -Пример блока для `C#`: - -```C# -using MarkdownSharp; -using MarkdownSharp.Extensions.Mal; - -Markdown mark = new Markdown(); - -// Short link for MAL - -// http://myanimelist.net/people/413/Kitamura_Eri => mal://Kitamura_Eri -mark.AddExtension(new Articles()); -mark.AddExtension(new Profile()); - -mark.Transform(text); -``` - -Пример блока для `Python`: -```Python -from timeit import Timer - -tmp = "Python 3.2.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32." - -def case1(): # А. инкрементальные конкатенации в цикле - s = "" - for i in range(10000): - s += tmp - -def case2(): # Б. через промежуточный список и метод join - s = [] - for i in range(10000): - s.append(tmp) - s = "".join(s) - -def case3(): # В. списковое выражение и метод join - return "".join([tmp for i in range(10000)]) - -def case4(): # Г. генераторное выражение и метод join - return "".join(tmp for i in range(10000)) - -for v in range(1,5): - print (Timer("func()","from __main__ import case%s as func" % v).timeit(200)) -``` - -[:arrow_up:Оглавление](#Оглавление) -___ -## Списки - -#### Маркированный -Задать **маркированный** список можно несколькими символами `-`, `+` или `*`: -``` -- Уровень списка 1. Пункт 1. -- Уровень списка 1. Пункт 2. -- Уровень списка 1. Пункт 3. -``` -- Уровень списка 1. Пункт 1. -- Уровень списка 1. Пункт 2. -- Уровень списка 1. Пункт 3. - -``` -+ Уровень списка 1. Пункт 1. -+ Уровень списка 1. Пункт 2. -+ Уровень списка 1. Пункт 3. -``` -+ Уровень списка 1. Пункт 1. -+ Уровень списка 1. Пункт 2. -+ Уровень списка 1. Пункт 3. - -``` -* Уровень списка 1. Пункт 1. -* Уровень списка 1. Пункт 2. -* Уровень списка 1. Пункт 3. -``` -* Уровень списка 1. Пункт 1. -* Уровень списка 1. Пункт 2. -* Уровень списка 1. Пункт 3. - -Можно создавать многоуровневые списки. Каждый уровень отделяется **четырьмя** (4) пробелами: -``` -- Уровень списка 1. Пункт 1. - - Уровень списка 2. Пункт 1. -- Уровень списка 1. Пункт 2. - - Уровень списка 2. Пункт 1. - - Уровень списка 2. Пункт 2. -- Уровень списка 1. Пункт 3. - - Уровень списка 2. Пункт 1. - - Уровень списка 3. Пункт 1. - - Уровень списка 3. Пункт 2. - - Уровень списка 4. Пункт 1. -``` -- Уровень списка 1. Пункт 1. - - Уровень списка 2. Пункт 1. -- Уровень списка 1. Пункт 2. - - Уровень списка 2. Пункт 1. - - Уровень списка 2. Пункт 2. -- Уровень списка 1. Пункт 3. - - Уровень списка 2. Пункт 1. - - Уровень списка 3. Пункт 1. - - Уровень списка 3. Пункт 2. - - Уровень списка 4. Пункт 1. - -Каждый уровень отделяется двумя пробелами. - -#### Нумерованный -Для Githib работа с нумерованными списками выглядит очень интересно. Каждый уровень отделяется **четырьмя** (4) пробелами: -``` -1. Первый уровень 1 - 1. Второй уровень 1 - 1. Третий уровень 1 - 1. Четвертый уровень 1 - 1. Пятый уровень 1 - 1. Шестой уровень - 1. Седьмой уровень - 1. Седьмой уровень -2. Первый уровень 2 -2. Первый уровень (должно быть 3) -4. Первый уровень 4 -``` -1. Первый уровень 1 - 1. Второй уровень 1 - 1. Третий уровень 1 - 1. Четвертый уровень 1 - 1. Пятый уровень 1 - 1. Шестой уровень - 1. Седьмой уровень - 1. Седьмой уровень -2. Первый уровень 2 -2. Первый уровень (должно быть 3) -4. Первый уровень 4 - -#### Смешанные списки -При использовании смешанных списков нужно очень внимательно следить за нумерацией. Лучше, как и в нумерованных, использовать четыре (4) пробела для отделения уровня. -``` -1. Первый уровень "нумерованный" - 1 - * Второй уровень "маркер" - + Третий уровень "маркер" - - Третий уровень "маркер" - 1. Третий уровень "нумерованный" - 1 - 1. Четвертый уровень "нумерованный" - 1 - 1. Пятый уровень "нумерованный" - 1 - 1. Шестой уровень "нумерованный" - 1 - 1. Седьмой уровень "нумерованный" - 1 - * Седьмой уровень "маркер" - 2. Седьмой уровень "нумерованный" - 1 (нарушена нумерация, новая нумерация 1) - 3. Седьмой уровень "нумерованный" - 1 (нарушена нумерация, новая нумерация 2) - 1. Восьмой уровень "нумерованный" - 1 -2. Первый уровень "нумерованный" - 2 -- Первый уровень "нумерованный" - 3 -4. Первый уровень "нумерованный" - 4 (нарушена нумерация, новая нумерация 1) -5. Первый уровень "нумерованный" - 5 (нарушена нумерация, новая нумерация 2) -``` -1. Первый уровень "нумерованный" - 1 - * Второй уровень "маркер" - + Третий уровень "маркер" - - Третий уровень "маркер" - 1. Третий уровень "нумерованный" - 1 - 1. Четвертый уровень "нумерованный" - 1 - 1. Пятый уровень "нумерованный" - 1 - 1. Шестой уровень "нумерованный" - 1 - 1. Седьмой уровень "нумерованный" - 1 - * Седьмой уровень "маркер" - 2. Седьмой уровень "нумерованный" - 2 - 3. Седьмой уровень "нумерованный" - 3 - 1. Восьмой уровень "нумерованный" - 1 -2. Первый уровень "нумерованный" - 2 -- Первый уровень "маркерный" - 3 -4. Первый уровень "нумерованный" - 4 (хотя по идее должен быть 3) -5. Первый уровень "нумерованный" - 5 (хотя, по идее должен быть 3) - -#### Список задач -(Task List) -Можно создавать "Списки задач" для этого необходимо использовать `- [ ]` для поставленной задачи и `- [X]` для выполненной задачи. -``` -- [X] Придумать внешний вид резюме -- [ ] Написать основные категории -- [X] Опубликовать - -``` -- [X] Придумать внешний вид резюме -- [ ] Написать основные категории -- [X] Опубликовать - -Также можно создавать многоуровневые списки задач. Каждый уровень отделяется **четырьмя** (4) пробелами: -``` -- [X] Задача 1 - - [X] Подзадача 1 для Задачи 1 - - [X] Подзадача 2 для Задачи 1 -- [ ] Задача 2 - - [X] Подзадача 1 для Задачи 2 - - [ ] Подзадача 2 для Задачи 2 -- [ ] Задача 3 - - [ ] Подзадача 1 для Задачи 3 - - [ ] Подзадача 1 для Подзадача 1 для Задачи 3 -``` -- [X] Задача 1 - - [X] Подзадача 1 для Задачи 1 - - [X] Подзадача 2 для Задачи 1 -- [ ] Задача 2 - - [X] Подзадача 1 для Задачи 2 - - [ ] Подзадача 2 для Задачи 2 -- [ ] Задача 3 - - [ ] Подзадача 1 для Задачи 3 - - [ ] Подзадача 1 для Подзадача 1 для Задачи 3 - -[:arrow_up:Оглавление](#Оглавление) -___ -## Ссылки -Либо просто вставить ссылку, либо дополнительно задать текст ссылки (пробела между скобками быть не должно): -``` -Первый вариант вставки ссылок - это просто написать адрес сайта http://sabaka.net -``` -Первый вариант вставки ссылок - это просто написать адрес сайта http://sabaka.net - -Второй вариант записывается так: `[текст ссылки](адрес ссылки)` -``` -[sabaka.net](http://sabaka.net) -``` -[sabaka.net](http://sabaka.net) - -[Sabaka(DOT)Net]:http://sabaka.net - -[:arrow_up:Оглавление](#Оглавление) -____ -## Вставка изображения -``` -![Alt-текст](https://avatars1.githubusercontent.com/u/5384215?v=3&s=460 "Орк") -``` -![Alt-текст](https://avatars1.githubusercontent.com/u/5384215?v=3&s=460 "Орк") - -### Дополнительно: -#### Вставка ссылки с картинкой на ролик с YouTube -Описание комбинации `[![Тут текст](адрес до картинки)](ссылка на страничку YouTube)` -Пример: -```[![Тут текст](https://img.youtube.com/vi/RHPYGwVQB2o/0.jpg)](https://youtu.be/RHPYGwVQB2o)``` -Что мы увидим: -[![Тут текст](https://img.youtube.com/vi/RHPYGwVQB2o/0.jpg)](https://youtu.be/RHPYGwVQB2o) - -[:arrow_up:Оглавление](#Оглавление) -____ -## Вставка таблиц -``` -| LEFT | CENTER | RIGHT | -|----------------|:---------:|----------------:| -| По левому краю | По центру | По правому краю | -| текст | текст | текст | -``` -| LEFT | CENTER | RIGHT | -|----------------|:---------:|----------------:| -| По левому краю | По центру | По правому краю | -| текст | текст | текст | - -**Внимание:** Если в тексте таблицы нужно использовать символ "вертикальная черта - `|`", то в место него необходимо написать замену на комбинацию HTML-кода* `|`, это нужно для того, чтобы таблица не потеряла ориентации. -*) - Можно использовать ASCII и/или UTF коды. - -**Пример:** -``` -| Обозначение | Описание | Пример регулярного выражения| -|----:|:----:|:----------| -| literal | Строка содержит символьный литерал literal | foo | -| re1|re2 | Строка содержит регулярные выражения `rel` или `re2` | foo|bar | -``` -**Результат:** - -| Обозначение | Описание | Пример регулярного выражения| -|----:|:----:|:----------| -| literal | Строка содержит символьный литерал literal | foo | -| re1|re2 | Строка содержит регулярные выражения `rel` или `re2` | foo|bar | - -[:arrow_up:Оглавление](#Оглавление) -____ -## Диаграммы Mermaid.js -Появилась возможность вставлять диаграммы [Mermaid.js](https://mermaid-js.github.io/mermaid/#/) - -
-```mermaid
-... код диаграммы ...
-```
-
-Пример: -
-```mermaid
-erDiagram
-    CUSTOMER ||--o{ ORDER : places
-    ORDER ||--|{ LINE-ITEM : contains
-    CUSTOMER }|..|{ DELIVERY-ADDRESS : uses
-```
-
-```mermaid -erDiagram - CUSTOMER ||--o{ ORDER : places - ORDER ||--|{ LINE-ITEM : contains - CUSTOMER }|..|{ DELIVERY-ADDRESS : uses -``` -Очень подробно на русском языке о диаграммах Mermaid.js: https://habr.com/ru/post/652867/ - -[:arrow_up:Оглавление](#Оглавление) -____ +2. Проще всего вручную удалить эту папку «.git» в корневом каталоге «Git Local Warehouse». +Также удалить, не устраивающий вас, репозиторий можно на github. Открываете нужный вам объект и переходите в пункт меню Настройки. Там, прокрутив ползунок вниз, вы попадете в зону опасности, где один из пунктов будет называться «удаление этого хранилища». +3. В локальном терминале ввести команду cd repository-path/ rm -r .git