Skip to content

stanislavfor/git-instruction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Инструкция для работы с Git и удалёнными репозиториями

Установка Git

GitHub предоставляет оконное приложение с графическим интерфейсом для выполнения основных операций с репозиторием, и консольную версию Git с автоматическими обновлениями для расширенных сценариев работы.

Логотип Git

GitHub Desktop

https://desktop.github.com/

Git для всех платформ

https://git-scm.com/

Официальная документация. Команды Git

https://git-scm.com/docs/

Первоначальная настройка

Настройка информации о пользователе для всех локальных репозиториев Устанавливает имя, которое будет отображаться в поле автора у выполняемых вами коммитов git config --global user.name "[имя]" Устанавливает адрес электронной почты, который будет отображаться в информации о выполняемых вами коммитах git config --global user.email "[адрес электронной почты]" Проверяет имя локального репозитория git config user.name Проверяет адрес электронной почты репозитория git config user.email

Создание репозитория

Создание нового репозитория или получение его по существующему URL-адресу Создаёт новый локальный репозиторий с заданным именем git init [название проекта] Скачивает репозиторий вместе со всей его историей изменений git clone [url-адрес]

Операции с файлами

Перемещение и удаление версий файлов репозитория Удаляет конкретный файл из рабочей директории и индексирует его удаление git rm [файл] Убирает конкретный файл из контроля версий, но физически оставляет его на своём месте git rm --cached [файл] Перемещает и переименовывает указанный файл, сразу индексируя его для последующего коммита git mv [оригинальный файл] [новое имя]

Игнорирование некоторых файлов

Исключение временных и вторичных файлов и директорий

 *.log
 build/
 temp-*

Git будет игнорировать файлы и директории, перечисленные в файле .gitignore с помощью wildcard синтаксиса Список всех игнорируемых файлов в текущем проекте git ls-files --others --ignored --exclude-standard

Внесение изменений

Просмотр изменений и создание коммитов (фиксация изменений) Перечисляет все новые или изменённые файлы, которые нуждаются в фиксации git status Показывает различия по внесённым изменениям в ещё не проиндексированных файлах git diff Индексирует указанный файл для последующего коммита git add [файл] Показывает различия между проиндексированной и последней зафиксированной версиями файлов * git diff --staged* Отменяет индексацию указанного файла, при этом сохраняет его содержимое git reset [файл] Фиксирует проиндексированные изменения и сохраняет их в историю версий git commit -m "[сообщение с описанием]"

Коллективная работа

Именованные серии коммитов и соединение результатов работы Список именованных веток коммитов с указанием выбранной ветки git branch Создаёт новую ветку git branch [имя ветки] Создаёт новую ветку и переходит на неё (важная команда для разработки) git checkout -b [имя ветки] Переключается на выбранную ветку git checkout [имя ветки] Переключается на выбранную ветку и обновляет рабочую директорию до её состояния git switch -c [имя ветки] Вносит изменения указанной ветки в текущую ветку git merge [имя ветки] Удаляет выбранную ветку git branch -d [имя ветки]

Просмотр истории

Просмотр и изучение истории изменений файлов проекта История коммитов для текущей ветки git log История коммитов для текущей ветки, где только названия коммитов git log --oneline История изменений конкретного файла, включая его переименование git log --follow [файл] История изменений коммитов с визуализацией связей между ними git log --graph Показывает разницу между содержанием коммитов двух веток git diff [первая ветка]...[вторая ветка] Выводит информацию и показывает изменения в выбранном коммите git show [коммит]

Откат коммитов

Удаление ошибок и корректировка созданной истории Отменяет все коммиты после заданного, оставляя все изменения в рабочей директории git reset [коммит] Сбрасывает всю историю вместе с состоянием рабочей директории до указанного коммита git reset --hard [коммит] Сбрасывает последний мерж (слияние веток) git merge --abort Сбрасывает все последние изменения в файле git restore [название файла]

Синхронизация с удалённым репозиторием

Регистрация удалённого репозитория и обмен изменениями Скачивает всю историю из удалённого репозитория git fetch [удалённый репозиторий] Вносит изменения из ветки удалённого репозитория в текущую ветку локального репозитория git merge [удалённый репозиторий]/[ветка] Загружает все изменения локальной ветки в удалённый репозиторий git push [удалённый репозиторий] [ветка] Загружает историю из удалённого репозитория и объединяет её с локальной. pull = fetch + merge git pull

Сохранение фрагментов

Сохранение и восстановление незавершённых изменений Временно сохраняет все незафиксированные изменения отслеживаемых файлов git stash Восстанавливает состояние ранее сохранённых версий файлов git stash pop Выводит список всех временных сохранений git stash list Сбрасывает последние временно сохранённыe изменения git stash drop

GitHub

Github - крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки. Веб-сервис основан на системе контроля версий Git и разработан на Ruby on Rails и Erlang компанией GitHub, Inc. https://github.com/

Основные команды Git

  • git init - инициализация локального репозитория
  • git status - получить информацию от git о его текущем состоянии
  • git add - добавить файл или файлы к следующему коммиту
  • git commit -m "message" - создание коммита
  • git log - вывод на экран истории всех коммитов с их хеш-кодами
  • git checkout - переход от одного коммита к другому
  • git checkout master - вернуться к актуальному состоянию и продолжить работу
  • git diff - увидеть разницу между текущим файлом и закомимиченным файлом

Создание нового репозитория из командной строки

echo "# [название репозитория]" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin [url-адрес]
git push -u origin main

About

Инструкция для работы с Git и удалёнными репозиториями

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors