Перейти к основному содержимому

Команды Git для повседневной разработки

Разработчику Архитектору Инженеру

Команды Git для повседневной разработки

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

git init

git init – инициализация нового репозитория. Команда создаёт новый локальный Git-репозиторий в текущей директории. Можно открыть папку в терминале (допустим, в папке «Открыть в Терминале» или через cd), и выполнить эту команду – будет создан репозиторий, и Git начнёт отслеживать изменения в файлах. При этом будет создана скрытая папка .git, где будут храниться все метаданные репозитория.

git status

git status – проверка состояния репозитория. Показывает текущее состояние рабочего каталога и индекса (staging area). Отображает, какие файлы изменены, добавлены или удалены.

git add

git add – добавление файлов в индекс. Добавляет изменения из рабочего каталога в индекс (staging area). Это первый шаг перед созданием коммита. Например:

git add .env # Добавить конкретный файл
git add . # Добавить все изменённые файлы

git commit

git commit – фиксация изменений. Создаёт новый коммит с изменениями из индекса. Коммит сохраняет текущее состояние проекта и добавляет сообщение, через -m, по принципу:

git commit -m "Добавил файл – это сообщение-комментарий."

git diff

git diff – просмотр изменений. Показывает различия между рабочим каталогом, индексом и последним коммитом.

git log

git log – история коммитов. Отображает историю коммитов репозитории.

Можно настроить формат вывода (--oneline, --graph).

git push

git push – отправка изменений на удалённый репозиторий. Отправляет локальные коммиты на удалённый репозиторий. Например, чтобы отправить изменения в ветку main, нужно выполнить:

git push origin main

git pull

git pull – получение изменений с удалённого репозитория. Загружает изменения из удалённого репозитория и объединяет их с локальной веткой.

Пример:

git pull origin main

git branch

git branch – работа с ветками. Создание, удаление и просмотр веток. Ветки позволяют работать над разными частями проекта независимо.

git checkout

git checkout – переключение между ветками. Переключается на указанную ветку или восстанавливает файлы из определённого коммита.

git merge

git merge – слияние веток. Объединяет изменения из одной ветки в другую.

git reset

git reset – отмена изменений. Отменяет изменения, перемещая указатель HEAD на предыдущий коммит.

Может быть мягким (--soft) или жёстким (--hard).

git rm

git rm – удаление файлов. Удаляет файлы из рабочего каталога и индекса.

git mv

git mv – переименование или перемещение файлов в рабочем каталоге.

Пример:

git mv oldname.txt newname.txt

git stash

git stash – временное сохранение изменений (допустим для переключения на другую задачу.

git stash pop – применяет последние сохранённые изменения.

git tag

git tag – создание тегов. Создаёт теги для пометки важных моментов в истории.

git fetch

git fetch – загрузка изменений с удалённого репозитория без слияния.

Важно отметить, что git pull подразумевается загрузку данных и слияние, словно git fetch+git merge.

git fetch используется для просмотра данных в репозитории.

git remote

git remote – управление удалённым репозиторием.

К примеру, git remote -v показывает список удалённых репозиториев.

git archive

git archive – создание архива текущего состояния репозитория. Пример:

git archive --format=zip --output=project.zip main

git submodule

git submodule – работа с подмодулями. Добавляет другие репозитории как подмодули текущего проекта.

git show

git show – просмотр информации о коммите. Показывает детали конкретного коммита.

git shortlog

git shortlog – краткая история коммитов. Группирует коммиты по авторам.

git describe

git describe – описание текущего состояния. Показывает ближайший тег и количество коммитов после него.

git clone

git clone – клонирование репозитория. Создаёт копию удалённого репозитория на локальном компьютере.

git config

git config – настройка Git. Настройка параметров, к примеру, имя пользователя, email.

git push --force-with-lease

Команда git push --force-with-lease — это безопасная альтернатива git push --force.

Она позволяет переписать историю удалённой ветки, но делает это с дополнительной проверкой, чтобы не затереть чужие изменения.

То есть команда перезаписывает только если HEAD на сервере не изменился.

Когда использовать — После git rebase или git commit --amend, когда история изменилась. — Когда работаете в команде и хотите сохранить чужие изменения. — На pull request ветках — безопаснее, чем просто --force.


См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).