513.05K
Category: softwaresoftware

Git, GitHub

1.

Created by Anatoly Karpovich
Git, GitHub

2.

Git
Что такое Git?
Система контроля версий, которая помогает отслеживать изменения в коде и работать
над проектами с несколькими разработчиками.
Зачем нужен Git?
Легкость управления версиями и возврата к предыдущим состояниям проекта.Удобная
работа в команде.Сохранение истории изменений.

3.

Git installation
Скачать и установить:
https://git-scm.com/downloads
Проверка установки:
• git --version
Настройка имени и email:
• git config --global user.name «ваше имя»
• git config --global user.email «ваш емейл»
Проверка конфигурации:
• git config --global --list

4.

Github repository creation
1.
2.
3.
4.
5.
6.
7.
Зайдите на GitHub: Откройте https://github.com/ и войдите в свой аккаунт.
На главной странице или в разделе "Repositories" нажмите кнопку "New".
В поле "Repository name" введите желаемое название репозитория.
Добавьте описание (необязательно) в поле "Description
Выберите видимость репозитория: "Public" (публичный) или "Private" (приватный)
Поставьте галочку "Add a README file", чтобы сразу добавить README
(необязательно).
Нажмите "Create repository" для завершения.

5.

Github repository
Клонирование удалённого репозитория:
• git clone https://github.com/user-name/repo-name.git
Создание нового файла, добавление и коммит:
• git add <file>
• git commit -m "first commit"
Привязка удалённого репозитория:
• git remote add origin https://github.com/user-name/repo-name.git
• git push -u origin main

6.

Git basic commands
Просмотр состояния файлов:
• git status
Отслеживание файлов:
• git add <file>
• git add .
Создание коммита:
• git commit -m "message"
Отправка на удалённый репозиторий:
• git push
• git push origin <branch name>

7.

Git basic commands
Создание новой ветки:
• git branch <branch-name>
Переход на ветку:
• git checkout <branch-name>
Создание ветки и переход на нее:
• git checkout -b <branch-name>
Удаление ветки:
• git branch --delete <branch-name>

8.

Git basic commands
Отмена изменений:
• git reset <file>
Отменить коммит:
• git reset --soft HEAD~
Отменить push:
• git push -f origin <last_known_good_commit>:<branch_name>

9.

Git basic commands
Слияние веток:
• git merge <branch>
Ребейз веток:
• git rebase <branch>
Стягивание ветки и мерж в текущую:
• git pull origin <branch>
Отмена мерж процесса:
• git merge --abort

10.

.gitignore
Git игнорирует файлы, перечисленные в .gitignore, при git add и других операциях.
Файл .gitignore должен быть в корне репозитория (но можно создать и вложенные
.gitignore в подкаталогах).
Игнорирование не работает для файлов, которые уже были добавлены в Git – их
нужно сначала удалить.

11.

.gitignore – Примеры содержимого
Игнорирование всех файлов с определённым расширением
*.log # Игнорирует все файлы с расширением .log
*.tmp # Игнорирует временные файлы
*.swp # Игнорирует файлы временного сохранения (Vim)
Игнорирование всех файлов в папке
logs/*
# Игнорирует всё в logs/
!logs/important.log # Кроме logs/important.log

12.

.gitignore – Примеры содержимого
Игнорирование конкретных файлов
config.json # Игнорирует файл config.json
.env# Игнорирует секретный ключ
Игнорирование папок
node_modules/ # Игнорирует папку node_modules (JS/TS проекты)
dist/
# Игнорирует скомпилированные файлы (например, в TypeScript)
report/
# Игнорирует отчет

13.

Git Stash
git stash — это команда в Git, которая позволяет временно сохранить изменения в
локальном репозитории, не коммитя их, и переключиться на другую ветку или задачу.
После завершения работы можно восстановить изменения из хранилища (stash) и
продолжить.
Зачем нужен git stash?
• Вы работаете над кодом, но срочно нужно переключиться на другую ветку.
• Вы не хотите коммитить недоделанные изменения.
• Вы хотите сохранить изменения, но не хотите создавать новый коммит.

14.

Git Stash
git stash — это команда в Git, которая позволяет временно сохранить изменения в
локальном репозитории, не коммитя их, и переключиться на другую ветку или задачу.
После завершения работы можно восстановить изменения из хранилища (stash) и
продолжить.
git stash
Сохраняет все неиндексированные (git add .) и индексированные (git add)
изменения.Возвращает рабочую директорию к последнему коммиту.
git stash push -m "Исправления UI в хедере”
Позволяет дать имя сохранению, чтобы было легче найти его в списке.

15.

Git Merge Conflicts
Что такое мерж конфликт?
• Мерж конфликт возникает, когда Git не может автоматически объединить изменения из
разных веток, потому что они затрагивают одну и ту же часть файла.
• Пример: два разработчика изменили одну и ту же строку в одном файле.
Когда возникают мерж конфликты?
• При выполнении команд git merge или git rebase, если изменения пересекаются.
• Конфликты требуют ручного вмешательства для их разрешения.

16.

Git Merge Conflicts
Как разрешить мерж конфликт?
• Откройте файл с конфликтом: Git помечает конфликтные строки специальными
маркерами:
<<<<<<< HEAD
(ваши изменения)
=======
(изменения из другой ветки)
>>>>>>> branch_name
Шаги по разрешению конфликта:
• Примите одно из изменений или объедините оба.
• Удалите конфликтные маркеры (<<<<<<, ======, >>>>>>).
• Сохраните файл.

17.

Git Merge Conflicts
После резолва конфликтов терминал может запросить у вас создать коммит, и будет
настойчиво ругаться пока не сделаете. Если такое случилось – вот гайд:
Нажмите букву i на клавиатуре
В любом месте в терминате введите название коммита, просто тупо введите текст
Как только закончили – тисните на Esc
Далее надо ввести :wq, что означает «вписать и выйти»

18.

GitHub private repositories
Приватные репозитории в GitHub – это репозитории, доступ к которым ограничен
определённым кругом пользователей. Работать с ними почти так же, как и с публичными,
но есть некоторые особенности, связанные с настройкой доступа и безопасностью.
Создание приватного репозитория
• Зайдите в свой аккаунт на GitHub.
• Нажмите "New" для создания нового репозитория.
• Введите название и описание.
• Выберите опцию "Private" и нажмите "Create repository".
Управление доступом:
• Откройте репозиторий и перейдите в "Settings" → "Manage access".
• Нажмите "Invite a collaborator" и введите имя пользователя GitHub.
• После принятия приглашения пользователь получит доступ к репозиторию.

19.

GitHub private repositories
Что такое SSH-ключ?
• Это пара публичного и приватного ключей, используемая для безопасного
подключения к серверам.
• Пример: используется для работы с репозиториями на GitHub без постоянного ввода
пароля.
Создание SSH-ключа:
• ssh-keygen -t ed25519 -C <email>
Добавление ключа в GitHub:
• Скопируйте ключ: cat ~/.ssh/id_ed25519.pub
• Зайдите в GitHub → "Settings" → "SSH and GPG keys" → "New SSH key".
Проверка SSH-подключения:
• ssh -T git@github.com

20.

GitHub private repositories
Клонирование приватного репозитория:
• git clone git@github.com:username/private-repo.git
Взаимодействие с репозиторием:
• Push и pull изменений с использованием настроенного SSH-ключа.
• Больше не нужно вводить пароль при каждой операции.

21.

Useful links
Git:
Установка Git
Официальный сайт Git — руководство по установке и документация.
Pro Git Book — бесплатная книга для углубленного изучения Git.
Git Cheatsheet — удобная шпаргалка по основным командам Git.
Fork:
• Официальный сайт Fork — загрузка и инструкции по установке.
GitLens для VSCode:
• GitLens в Visual Studio Code — ссылка на расширение в VSCode Marketplace.
English     Русский Rules