From c167151596be2e51f6615b8ad45a269a28711a35 Mon Sep 17 00:00:00 2001 From: Danil Shmelev Date: Thu, 8 Aug 2024 08:48:28 +0900 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=20=D1=81=20=D0=B8=D0=BD=D1=81=D1=82?= =?UTF-8?q?=D1=80=D1=83=D0=BA=D1=86=D0=B8=D0=B5=D0=B9=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B5=20=D1=81=20Git?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1\320\276\321\202\320\265 \321\201 Git.md" | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 "\320\230\320\275\321\201\321\202\321\200\321\203\320\272\321\206\320\270\321\217 \320\277\320\276 \321\200\320\260\320\261\320\276\321\202\320\265 \321\201 Git.md" diff --git "a/\320\230\320\275\321\201\321\202\321\200\321\203\320\272\321\206\320\270\321\217 \320\277\320\276 \321\200\320\260\320\261\320\276\321\202\320\265 \321\201 Git.md" "b/\320\230\320\275\321\201\321\202\321\200\321\203\320\272\321\206\320\270\321\217 \320\277\320\276 \321\200\320\260\320\261\320\276\321\202\320\265 \321\201 Git.md" new file mode 100644 index 0000000..04aaf89 --- /dev/null +++ "b/\320\230\320\275\321\201\321\202\321\200\321\203\320\272\321\206\320\270\321\217 \320\277\320\276 \321\200\320\260\320\261\320\276\321\202\320\265 \321\201 Git.md" @@ -0,0 +1,137 @@ +# Инструкция по работе с git 06.08.2024 + +[Отличный набор видео по Git (скринкаст по git от Ilya Kantor)](https://vimeo.com/showcase/5616060 ) + +[Тренажер по git](https://learngitbranching.js.org/?locale=ru_RU) + +Статья на Хабр git для новичков [часть 1](https://habr.com/ru/articles/541258/) , [часть 2](https://habr.com/ru/articles/542616/) + +От Николая Мануйлова (GB) [Настройка репозитория](https://www.atlassian.com/ru/git/tutorials/setting-up-a-repository/), [Сохранение изменений](https://www.atlassian.com/ru/git/tutorials/saving-changes/), +[Проверка репозитория](https://www.atlassian.com/ru/git/tutorials/inspecting-a-repository/), +[Отмена изменений](https://www.atlassian.com/ru/git/tutorials/undoing-changes/); + +## Установка git + +Установи git с [сайта.](https://git-scm.com/) + +Далее работа с git происходит через Терминал (командную стороку). + +## Начало работы с git + +Для начала представься git. Для этого в терминале введи 2 (две) команды: + +* git config --global user.name «твое имя английскими буквами» +* git config --global user.email твоя почта@example.com +* Создаем/выбираем папку которую будет отслеживать git - репозиторий. В ней будут храниться все файлы для отдельного проекта. +* Превращаем папку в репозиторий, для этого переходим в нужную папку и используем команду: git init +* Создаем файл внутри репозитория и добавляем его для отслеживания командой: git add file.md (обязательно укажи расширение) + +Поздравляю! можно приступать к работе. + +## Основные команды git + +* git init + * Инициализация репозитория: git init превращает обычную папку проекта в Git-репозиторий. + + +* git add file.md + * Добавление новых файлов для отслеживания git; + * Добавление изменений в существующих файлах. + +* git commit -m "text" + [подробнее о git commit и git add](https://www.atlassian.com/ru/git/tutorials/saving-changes) + * используется для создания нового коммита в Git. Коммит представляет собой снимок текущего состояния вашего проекта в определенный момент времени. Он включает изменения, добавленные в индекс с помощью команды git add, а также комментарий, описывающий изменения в коммите. + + Вот несколько важных аспектов команды git commit: + + 1. Создание коммита: Вы вызываете git commit после того, как добавили изменения в индекс с помощью git add. Команда создает новый коммит, используя текущее состояние индекса и указанный комментарий. + + 2. Комментарий коммита: Каждый коммит должен содержать комментарий, который описывает изменения, внесенные в коммите. Хорошая практика - написать информативное и понятное сообщение, объясняющее, что было сделано в коммите. + + 3. Уникальный идентификатор коммита: Каждый коммит имеет уникальный идентификатор SHA-1, который позволяет однозначно идентифицировать коммит в истории версий. +* git status [подробнее о git status](https://www.atlassian.com/ru/git/tutorials/inspecting-a-repository) + + 1. используется в Git для отображения текущего состояния вашего репозитория + + Вот несколько важных аспектов команды git status: + + 2. Отслеживаемые и неотслеживаемые файлы: git status показывает список измененных файлов, которые Git отслеживает в вашем репозитории. Это включает новые файлы, измененные файлы и удаленные файлы. Кроме того, она также указывает на неотслеживаемые файлы, которые не включены в Git. + + 3. Ветка: git status отображает текущую ветку вашего репозитория, позволяя вам знать, на какой ветке вы находитесь. Также она предупреждает вас, если ваша ветка отстает от удаленной ветки. + + 4. Незакоммиченные изменения: git status показывает изменения, которые находятся в вашем рабочем каталоге, но еще не добавлены в индекс или закоммичены. Это позволяет вам видеть, какие изменения ожидают коммита. + +* git log + * используется для просмотра истории коммитов в Git. + + + Вот несколько важных аспектов команды git log: + + 1. Список коммитов: git log отображает список коммитов, начиная с последнего коммита и заканчивая самым ранним коммитом. Каждый коммит представлен сводкой с информацией, включающей идентификатор коммита (SHA-1), автора, дату и комментарий. + + 2. Информация о коммите: git log показывает подробности каждого коммита, включая автора коммита, дату и время, а также сообщение коммита, которое дает описание изменений, внесенных в этот коммит. + + 3. Опции форматирования: git log имеет множество опций форматирования, позволяющих настроить вывод истории коммитов. Например, вы можете использовать флаг --oneline, чтобы получить более краткую сводку коммитов, или флаг --author для фильтрации коммитов по автору, git log --graph, для отображении истории в виде дерева. + +* git branch + + * используется в Git для работы с ветками репозитория. Она позволяет просматривать, создавать и управлять ветками в вашем проекте. + + Примеры использования команды git branch: + + 1. git branch - просмотреть список всех существующих веток. + 2. git branch new_branch - создать новую ветку с именем new_branch. + 3. git checkout -b branch name - создать ветку и сразу на нее переместиться; + 4. git branch -d branch_name - удалить ветку с именем branch_name. + 5. git branch -m new_branch_name - переименовать текущую ветку на new_branch_name. + 6. git branch --delete имя ветки. - команда удаляет ветку. + +* git checkout [отмена коммитов и изменений](https://www.atlassian.com/ru/git/tutorials/undoing-changes) + + * используется для переключения между ветками, восстановления файлов из предыдущих коммитов или переключения на конкретные коммиты. + + Примеры использования команды git checkout: + + 1. git checkout branch_name - переключиться на указанную ветку branch_name. + 2. git checkout -b new_branch - создать новую ветку new_branch и переключиться на нее. + 3. git checkout commit_hash - переключиться на указанный коммит с идентификатором commit_hash. + + +* git diff + * используется в Git для отображения различий между состояниями файлов и коммитами в вашем репозитории. + + Примеры использования команды git diff: + + 1. git diff - просмотреть изменения между рабочим каталогом и последним коммитом. + 2. git diff --staged - просмотреть изменения между индексом и последним коммитом. + 3. git diff commit1 commit2 - сравнить два коммита и просмотреть изменения между ними. + +## Работа с git в команде (работа с удаленным репозиторием) + + [Подробная инструкция по настройке репозитория](https://www.atlassian.com/ru/git/tutorials/setting-up-a-repository) + +1. Для работы с удаленным репозиторием зарегистрируйся на [Github](https://github.com/) +2. Создаем публичный новый репозторий во вкладке Repositorys +3. Следуя инструкции Github привязываем новый публичный репозиторий к своему локальному репозиторию. + +### *Как сделать pull request* +* Делаем **fork** (ответвление) репозитория +* Делаем git clone **своей** версии репозитория +* Создаем новую ветку и в нее вносим свои изменения +* фиксируем изменения (делаем коммиты) +* Отправляем свою версию в свой GitHub +* На сайте GitHub нажимаем кнопку **pull request** + + +## Принципы работы с git + +* Ветка master или main - чистовик. Код пишется на отдельных ветках (часто разными людьми) и по мере готовности добавляется в чистовик; +* Удалять комиты - плохой тон; +* в git добавляются только текстовые файлы, остальные файлы (например: изображения) храняться отдельно, это делается для целей экономии памяти; + +## Как работать с git быстрее +* используй стрелки, для вызова предыдущих команд; +* используй tab для создания быстрой ссылки на файл при создании команды; +* Не забывай переключаться между языками, например при написании команды "q" - выход; +* "делай ветки чаще делай ветки сейчас", чтобы создать ветку и сразу прыгнут на нее используй комантду - git checkout -b название ветки +* команда clear очищает терминал