Git — это распределенная система контроля версий нашего кода. Для распределенных команд нужна какая-то система управления работы. Нужна, чтобы отслеживать изменения, которые происходят со временем. Все изменения фиксируются и отмечаются в реестре гита.
Наиболее важные команды Git
Первоначальная настройка
Настройка информации о пользователе для всех локальных репозиториев
$ git config --global user.name "[имя]"
Устанавливает имя, которое будет отображаться в поле автора у выполняемых вами коммитов
$ git config --global user.email "[адрес электронной почты]"
Устанавливает адрес электронной почты, который будет отображаться в информации о выполняемых вами коммитах.
Создание репозитория
Создание нового репозитория или получение его по существующему URL-адресу
$ git init [название проекта]
Создаёт новый локальный репозиторий с заданным именем
$ git clone [url-адрес]
Скачивает репозиторий вместе со всей его историей изменений.
Внесение изменений
$ git status
Перечисляет все новые или изменённые файлы, которые нуждаются в фиксации
$ git diff
Показывает различия по внесённым изменениям в ещё не проиндексированных файлах
$ git add [файл]
Индексирует указанный файл для последующего коммита
$ git diff --staged
Показывает различия между проиндексированной и последней зафиксированной версиями файлов
$ git reset [файл]
Отменяет индексацию указанного файла, при этом сохраняет его содержимое
$ git commit -m "[сообщение с описанием]"
Фиксирует проиндексированные изменения и сохраняет их в историю версий.
Коллективная работа
$ git branch
Список именованных веток коммитов с указанием выбранной ветки
$ git branch [имя ветки]
Создаёт новую ветку
$ git checkout -b [имя ветки]
Переключается на выбранную ветку и обновляет рабочую директорию до её состояния
$ git merge [имя ветки]
Вносит изменения указанной ветки в текущую ветку
$ git branch -d [имя ветки]
Удаляет выбранную ветку.
Откат коммитов
$ git reset [коммит]
Отменяет все коммиты после заданного, оставляя все изменения в рабочей директории
$ git reset --hard [коммит]
Сбрасывает всю историю вместе с состоянием рабочей директории до указанного коммита.
Синхронизация с удаленным репозиторием
$ git fetch [удалённый репозиторий]
Скачивает всю историю из удалённого репозитория
$ git merge [удалённый репозиторий]/[ветка]
Вносит изменения из ветки удалённого репозитория в текущую ветку локального репозитория
$ git push [удалённый репозиторий] [ветка]
Загружает все изменения локальной ветки в удалённый репозиторий
$ git pull
Загружает историю из удалённого репозитория и объединяет её с локальной. pull = fetch + merge
$ git status
Перечисляет все новые или изменённые файлы, которые нуждаются в фиксации
$ git diff
Показывает различия по внесённым изменениям в ещё не проиндексированных файлах
$ git add [файл]
Индексирует указанный файл для последующего коммита
$ git diff --staged
Показывает различия между проиндексированной и последней зафиксированной версиями файлов
$ git reset [файл]
Отменяет индексацию указанного файла, при этом сохраняет его содержимое
$ git commit -m "[сообщение с описанием]"
Фиксирует проиндексированные изменения и сохраняет их в историю версий
Работа с GitHub
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/thesolarwind1991/test1.git
git push -u origin main
Создание
нового репозитория или получение его по существующему URL-адресу
$ git init [название проекта]
Создаёт новый локальный репозиторий с заданным именем
$ git clone [url-адрес]
Скачивает репозиторий вместе со всей его историей изменений
Настройка информации о пользователе для всех локальных репозиториев
$ git config --global user.name "[имя]"
Устанавливает имя, которое будет отображаться в поле автора у выполняемых вами коммитов
$ git config --global user.email "[адрес электронной почты]"
Устанавливает адрес электронной почты, который будет отображаться в информации о выполняемых вами коммитах
Если вы считаете текст данного блога оскорбительным или некорректным, напишите об этом по адресу IntegralAL@mail.ru
с URL-адресом блога. В теме письма пишите <Жалоба>, либо <Неккоректно>.