diff --git a/Changes.md b/Changes.md new file mode 100644 index 0000000..3340845 --- /dev/null +++ b/Changes.md @@ -0,0 +1,10 @@ +## **Создание кнопки pull request** + +1. Делаем форк (fork) интересующего нас репозитория. +2. Делаем git clone для нашей версии этого репозитория. Так появляется версия на нашем аккаунте, и именно эту версию мы клонируем. +3. Создаём ветку с предлагаемыми изменениями. +4. Производим все изменения только в этой ветке. +5. Отправляем эти изменения на свой аккаунт (push). +6. В окне на GitHub появляется возможность отправить pull request. + +*Данный текст записан со слов Ильнара Шафигуллина на лекции по курсу Введение в контроль версий из [GeekBrains](https://gb.ru/).* \ No newline at end of file diff --git a/git.png b/git.png new file mode 100644 index 0000000..a52dc0f Binary files /dev/null and b/git.png differ diff --git a/homework 3.md b/homework 3.md new file mode 100644 index 0000000..553affa --- /dev/null +++ b/homework 3.md @@ -0,0 +1,119 @@ +# **Инструкция по работе с Git** +![Git](/git.png "Git") +## **git --version** +Показывает текущую установленную версию программы Git, если она установлена правильно. + +Пример: +>git version 2.38.1.windows.1 +--- +## **git config --global user.name/git config --global user.email** +Необходимо представиться системе при первом использовании Git. + +Пример: +>git config --global user.name "Ваше имя латинскими буквами в кавычках" + +Это позволит программе Git запомнить имя пользователя. + +>git config --global user.email "Ваша электронная почта" + +Это позволит программе Git запомнить почту пользователя. + +--- +## **git init** +Указывается папка, в которой Git начнёт отслеживать изменения, тем самым превращает папку в репозиторий, также в этой папке создаётся скрытая папка /.git/. + +Пример: +>Initialized empty Git repository in C:/Users/Маргарита/Documents/GB_Education/.git/ +--- +## **git status** +Показывает текущее состояние Git, есть ли изменения, которые нужно закоммить (сохранить). + +Красным цветом выделяются неотслеживаемые и/или несохранённые файлы. Также команда показывает, в какой ветке мы находимся сейчас. + +Если все файлы в репозитории отслеживаются, то есть закоммичено, тогда терминал выведет следующие строки: + + +>On branch master + +>nothing to commit, working tree clean +--- +## **git add** +Добавляет содержимое рабочего каталога в индекс (staging area) для последующего коммита. После add через пробел необходимо указать имя файла. В противном случае будут добавлены все файлы репозитория. + +--- +## **git commit** +Зафиксирует или сохранит текущее состояние репозитория или конкретного файла. + +При вводе следующей команды: +>git commit -m "Создали новый файл" + +Терминал выведет следующее: +>[master 859a1d3] Создали новый файл + +>1 file changed, 1 insertion(+) + +>create mode 100644 homework 1.md + +После -m в кавычках можно написать комментарий, что позволит в дальнейшем быстро ориентироваться в версиях. + +--- +## **git log** +Вызывает список изменений, здесь можно увидеть количество сохранений перед переключением версии файла в Git. Нажатие клавиши "q" возвращает в исходное окно терминала. + +--- +## **git checkout** +С помощью этой команды можно переключить на более раннюю версию. Для работы нужно указать первые четыре цифры номера интересующего коммита через пробел после checkout. Чтобы вернуться обратно в последнюю версию, где работаем, использовать команду **git checkout master**. + +--- +## **git diff** +Показывает разницу между текущим файлом и сохранённым. + +--- +## **git branch** +Выводится список веток в репозитории, также где находимся сейчас (список нескольких версий черновика + версия master чистовика). + +--- +## **git branch new_branch_name** +Создаётся новая ветка с именем new_branch_name. + +--- +## **git checkout branch_name** +С помощью этой команды можно перейти на ветку branch_name (с одной на другую). + +--- +## **git branch -d branch_to_delete** +Удаляется ветка с именем new_branch_name. + +--- +## **git log --graph** +Выводится список коммитов в виде красивого графа/дерева. + +--- +## **git merge branch_name** +С помощью этой команды происходит слияние ветки branch_name с текущей веткой (работать из ветки master). + +--- +## **git clone** +Эта команда позволяет склонировать внешний репозиторий на наш ПК. + +--- +## **git pull** +Эта команда позволяет скачать всё из текущего репозитория и автоматически сделать merge с нашей версией. + +--- +## **git push** +Эта команда позволяет отправить нашу версию репозитория на внешний репозиторий. ТРЕБУЕТ АВТОРИЗАЦИИ на внешнем репозитории. + +--- +## **Создание кнопки pull request** +1. Делаем форк (fork) интересующего нас репозитория. +2. Делаем git clone для нашей версии этого репозитория. Так появляется версия на нашем аккаунте, и именно эту версию мы клонируем. +3. Создаём ветку с предлагаемыми изменениями. +4. Производим все изменения только в этой ветке. +5. Отправляем эти изменения на свой аккаунт (push). +6. В окне на GitHub появляется возможность отправить pull request. + +--- +### *Данная домашняя работа является кратким руководством по работе Git с использованием синтаксиса языка Markdown из:* +1. лекций Ильнара Шафигуллина по курсу "Введение в контроль версий"; +2. конспектов от [команды GeekBrains](https://gb.ru/ "GeekBrains"). \ No newline at end of file