From 2e7b93c40dd71a6d7662aabbd2dd8d84e77c99b3 Mon Sep 17 00:00:00 2001 From: Maria Date: Fri, 28 Oct 2022 18:15:18 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB=D0=B0?= =?UTF-8?q?=20=D1=84=D0=B0=D0=B9=D0=BB=20MaryLu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MaryLu.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 MaryLu.md diff --git a/MaryLu.md b/MaryLu.md new file mode 100644 index 0000000..04204c7 --- /dev/null +++ b/MaryLu.md @@ -0,0 +1 @@ +config From c7ccd3a297134afb58317ad40fe0fc9c9c53ebe9 Mon Sep 17 00:00:00 2001 From: Maria Date: Fri, 28 Oct 2022 18:20:36 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D0=B0=20=D0=B8=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MaryLu.md | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/MaryLu.md b/MaryLu.md index 04204c7..ff6d423 100644 --- a/MaryLu.md +++ b/MaryLu.md @@ -1 +1,70 @@ -config +# Инструкция для работы с Git и удалёнными репозиториями + +## Что такое Git? +Git - это одна из реализаций распределённых систем контроля версий, имеющая как локальные, так и удалённые репозитории. Является самой популярной реализацией систем контроля версий в мире. +## Создание и работа с репозиторием +Репозиторий Git или репозиторий — это папка, в которую Git отслеживает изменения. На компьютере может быть любое количество репозиториев, каждое из которых хранится в собственной папке. + +Для создания репозитория необходимо выполнить команду *git init* в папке с репозиторием и у Вас создаcтся репозиторий (появится скрытая папка .git). + +## Создание коммитов + +### Добавление изменений в коммит +Для добавления измений в коммит используется команда *git add*. Чтобы использовать команду *git add* напишите *git add <имя файла>*. + +### Просмотр состояния репозитория +Для того, чтобы посмотреть состояние репозитория используется команда *git status*. Для этого необходимо в папке с репозиторием написать *git status*, и Вы увидите были ли изменения в файлах, или их не было. + +### Создание коммитов +Для того, чтобы создать коммит (сохранение) необходимо выполнить команду *git commit*. Выполняется она так: *git commit -m "<сообщение к коммиту>". Все файлы для коммита должны быть ***ДОБАВЛЕНЫ*** и сообщение к коммиту писать ***ОБЯЗАТЕЛЬНО***. + +## Переключение между сохранениями +Для того, чтобы перемещаться между коммитами, используется команда *git checkout*. Используется она в папке с репозиторием следующим образом: *git checkout <номер коммита>*. + +## Проверка разницы между текущим файлом и сохранённым +Если вы хотите узнать, что именно изменилось, воспользуйтесь командой *git diff*. Команда *git diff* покажет добавленные и удаленные строки - то есть все вставки в программу. + +## Журнал изменений +Для того, чтобы посмотреть все сделанные изменения в репозитории, используется команда *git log*. Для этого достаточно выполнить команду *git log* в папке с репозиторием. + +Сокращённая форма записи журнала выводится с помощью команды *git log --oneline*. + +## Работа с ветками в Git + +### Создание ветки + +Для того, чтобы создать ветку, используется команда *git branch*. Делается это следующим образом в папке с репозиторием: *git branch <название новой ветки>*. + +## Слияние веток + +Для того, чтобы добавить ветку в текущую ветку используется команда *git merge *. В <> указываем имя ветки, которую необходимо объединить с текущей. + +## Удаление веток +Для удаления ветки ввести команду "git branch -d 'name branch'". +## Добавление изображения +Чтобы вставить изображение в текст, достаточно написать следующее: *![текст, который будет выводиться, если изображение не загрузится](имя файла, из которогонеобходимо изображение достать)*. Добавляем в рабочую папку изображение. Если в названии файла есть ошибка, то изображение мы не увидим, но вместо него мы увидим текст из квадратных скобок. +## Команда *git ignore* +Если вызвать команду *git status*, можно увидеть, что файл с изображением висит неотслеживаемый, но Git его видит. Чтобы Git не спрашивал про файл с изображением, можно добавить еще один файл. Дать ему специальное, фиксированное название. Назовём файл .gitignore. В созданном файле укажем имя файла, который необходимо игнорировать. Затем добавляем созданный файл командой *git add .gitignore*. Далее выполняем *git commit -m "Добавили gitignore файл"*. +## Работа с "удаленными" репозиториями +Git — это программа, которая устанавливается на компьютер, где локально выполняет указанные вами команды. + +GitHub — это сервис компании Microsoft, который позволяет интегрироваться с программой Git и настроить удалённую работу с вашим репозиторием. +### Git clone +Команда git clone позволяет копировать или клонировать к себе репозитории из интернета. Для этого мы обращаемся к программе Git, указываем параметр clone и после этого даём адрес того репозитория, который надо скачать. Далее в папке, где вызывается команда git clone, появляется новая папка. И уже внутри этой папки будет лежать полная копия указанного нами репозитория. +### Git pull +Эта команда позволяет скачать всё актуальное из нашего удалённого репозитория. Команда очень простая. Мы указываем программу git и параметр pull. Она позволяет получить из интернета актуальное состояние удалённого репозитория и скачать его на наш репозиторий. Обратите внимание, что pull — составная команда. Помимо выкачивания из интернета, она ещё и мержит, то есть сливает, изменения с нашими. Если возникают какие-то конфликты, то окошко будет таким же, как при конфликтах обычного git merge. То есть коменда состоит из двух частей: первая часть скачивает изменения с удалённого репозитория, а вторая — сливает эти изменения с текущим репозиторием. +### Git push +Эта команда позволяет отправить то, что есть на нашем репозитории, на удалённый репозиторий. *Требует авторизации*. Если у нет прав на внесение изменений в репозиторий, Git не позволит это делать. На слайде команда указана в усечённом виде, она так работает, когда всё настроено. Если ещё не до конца всё настроено, Git подскажет, как сделать это правильно. Там будет параметр set upstream origin и прочие параметры, которые потребуется указать, Git расскажет об этом. +### Инструкция по созданию *pull request* +Команда для предложения изменений, запрос на вливание изменений в "удаленный" репозиторий. +1. Делам *fork* понравившегося репозитория. + +Смотрим на понравившийся репозиторий, куда хотим внести свой вклад, и делаем *fork*. В это время на нашем аккаунте возникает полная копия этого репозитория. К ней у нас уже будет свой доступ. + +2. *Клонируем свою* версию репозитория, ту, которая появилась после *fork*. + +3. Создаём *новую ветку* для внесения изменений. Именно в этой ветке *фиксируются* все изменения. + +4. Направляем свою версию на *собственный GitHub-аккаунт*, так как на чужой доступа нет. + +5. На сайте GitHub нажимаем на появившуюся кнопку *pull request*.