Команды 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.
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Для защиты кода используется автосохранение (в первую очередь), снимки состояний, локальные истории и конечно же самое важное – VCS (version control Система), система контроля версий. Защита кода от несанкционированных изменений — это комплекс мер, направленных на предотвращение копирования, модификации, подделки или обратной инженерии программного обеспечения. Такие меры особенно… После этого мы увидим общее состояние рабочей директории и индекса — Файлы, добавленные в индекс (зеленый цвет), Файлы, измененные но не добавленные в индекс (красный цвет), Новые файлы, не… GitFlow — это модель организации ветвления в системе контроля версий Git, предложенная Винсентом Дриессеном в 2010 году. Она не является встроенным режимом работы самого Git, но представляет собой… Когда вы инициализируете репозиторий с помощью git init, создаётся скрытая папка .git. Это всё, что Git использует для отслеживания изменений. В современной практике git daemon используется редко ввиду отсутствия безопасности; предпочтение отдаётся SSH или HTTPS. -v / --verbose – добавляет больше информации в вывод команды. Часто используется для отладки или получения более подробного лога. К примеру, git push -v – подробный вывод при отправке изменений. В некоторых случаях используется SVN (Apache Subversion), в отличие от Git, это централизованная система контроля версий, требующая установки сервера. Для защиты данных используется резервное копирование (backup, бэкап), это защищает от пропажи данных при сбоях, атаках или ошибках. GitVerse — это российская AI-first платформа для совместной разработки программного обеспечения и управления кодом. Платформа запущена компанией СберТех в марте 2024 года как ответ на возможные… SourceCraft — это облачная платформа для полного цикла разработки, тестирования, сборки и сопровождения программного обеспечения от компании Яндекс B2B Tech. SSH ключ — это пара криптографических файлов для подтверждения личности пользователя при подключении к серверу. Каждый сервис использует свою пару ключей при необходимости полного разделения доступа.Безопасность кода
Защита кода от изменений
Архитектура системы контроля версий Git
Модель ветвления GitFlow
Внутреннее устройство Git
Особенности работы с репозиториями в Git
Настройка и параметры Git
Сравнение Git и Subversion (SVN)
Методы защиты пользовательских и корпоративных данных
Gitverse - отечественная альтернатива Git
SourceCraft - отечественная альтернатива Git
Множественные сервисы Git на одном компьютере