Шпаргалка Git
Git — это распределенная система контроля версий, которая широко используется для управления и отслеживания изменений в коде и других проектных файлах. Вот некоторые команды Git, которые могут быть полезны при работе с этой системой контроля версий:
Common / Общие | |
---|---|
git init |
Создание нового репозитория Git |
git clone url |
Клонирование существующего репозитория |
git add filename |
Добавление файлов в индекс |
git add . |
Добавление всех файлов в индекс |
git commit -m "commit message" |
Создание коммита с сообщением |
git push |
Отправка коммитов в удаленный репозиторий |
git pull |
Получение обновлений из удаленного репозитория |
git diff filename |
Просмотр изменений в файле |
git status |
Просмотр списка измененных файлов |
git branch branchname |
Создание новой ветки |
git checkout branchname |
Переключение на другую ветку |
git merge branchname |
Слияние ветки в текущую ветку |
git branch -d branchname |
Удаление ветки |
git log |
Просмотр истории коммитов |
git checkout filename |
Отмена изменений в файле до последнего коммита |
Branches / Ветки | |
---|---|
git branch |
Перечислить локальные ветки List all local branches |
git branch -a |
Перечислить удалённые и локальные ветки List remote and local branches |
git checkout -b branch_name |
Создать локальную ветку и переключиться на неё Create a local branch and switch to it |
git checkout branch_name |
Переключиться на существующую ветку Switch to an existing branch |
git push origin branch_name |
Отправить ветку на удаленный сервер Push branch to remote |
git branch -m new_name |
Переименовать текущую ветку Rename current branch |
git branch -d branch_name |
Удалить локальную ветку Delete a local branch |
git push origin :branch_name |
Удалить удаленную ветку Delete a remote branch |
Git документация: | git-branch |
Логи / Logs | |
---|---|
git log --oneline |
Показывать историю коммитов отдельными строками Show commit history in single lines |
git log -2 |
Показать историю коммитов за последние N коммитов Show commit history for last N commits |
git log -p -2 |
Показать историю коммитов для последних N коммитов с diff Show commit history for last N commits with diff |
git diff |
Показать все изменения локальных файлов в рабочем дереве Show all local file changes in the working tree |
git diff file_name |
Показать изменения, внесенные в файл Show changes made to a file |
git blame file_name |
Показать, кто что и когда изменил в файле Show who changed what & when in a file |
git remote show origin |
Показать удаленные ветки и их сопоставление с локальными Show remote branches and their mapping to local |
Git документация: |
git-log git-diff git-blame git-show |
Очистка / Cleanup | |
---|---|
git clean -f |
Удалить все неотслеживаемые файлы Delete all untracked files |
git clean -df |
Удалить все неотслеживаемые файлы и каталоги Delete all untracked files and directories |
git checkout -- . |
Отменить локальные изменения для всех файлов Undo local modifications to all files |
git reset HEAD file_name |
Отключить файл Unstage a file |
Git документация: |
git-clean git-checkout git-reset |
Тэги / Tags | — это ссылки, указывающие на определенные точки в истории Git |
---|---|
git pull --tags |
Получить удаленные теги Get remote tags |
git checkout tag_name |
Переключитесь на существующий тег Switch to an existing tag |
git tag |
Перечислить все теги List all tags |
git tag -a tag_name -m "tag message" |
Создать новый тег Create a new tag |
git push --tags |
Отправить все теги в удаленный репозиторий Push all tags to remote repo |
Git документация: | git-tag |
Тайники / Stashes | — позволяет «прятать» изменения в рабочей директории и восстанавливать их при необходимости |
---|---|
git stash save "stash name" && git stash |
Сохранить изменения в тайнике Save changes to a stash |
git stash list |
Перечислить все тайники List all stashes |
git stash pop |
Примените тайник и удалите его из списка тайников Apply a stash and delete it from stash list |
Git документация: | git-stash |
Репозиторий (repository) — место, где хранится код и другие файлы проекта.
Коммит (commit) — запись изменений в репозитории.
Ветка (branch) — параллельная версия репозитория, которая позволяет изменять код и исправлять ошибки без влияния на основной код.
Слияние (merge) — процесс объединения изменений из одной ветки с другой веткой.
Конфликт слияния (merge conflict) — ситуация, когда две ветки содержат разные версии одного и того же файла, и Git не может автоматически решить, какую версию использовать.
Вилка (fork) — копия репозитория, которая создается, когда пользователь хочет внести свои изменения в проект, но не имеет доступа к оригинальному репозиторию.
Клонирование (clone) — процесс создания локальной копии удаленного репозитория на компьютере пользователя.
Индекс (index) — структура данных, которая хранит информацию о том, какие файлы будут включены в следующий коммит.
Откат (revert) — процесс отмены изменений, сделанных в определенном коммите.
Возврат (checkout) — процесс переключения между ветками, коммитами или файлами в репозитории.
Удаленный репозиторий (remote repository) — репозиторий, который расположен на удаленном сервере и доступен для других пользователей.
Pull-запрос (pull request) — запрос на внесение изменений в оригинальный репозиторий, который создается после внесения изменений в вилку.
Оригинальный репозиторий (upstream repository) — репозиторий, который был форкнут и используется в качестве основного для внесения изменений.
История коммитов (commit history) — список всех коммитов, сделанных в репозитории в хронологическом порядке.
Тег (tag) — ссылка на конкретный коммит в репозитории, которая используется для пометки важных версий проекта.
Stash — временное хранилище изменений, которые еще не готовы к коммиту.
Игнорирование файлов (gitignore) — файл, который указывает Git, какие файлы и папки должны быть проигнорированы при добавлении в репозиторий.
Хук (hook) — скрипт, который запускается автоматически в определенных событиях Git, например, перед или после коммита.
Submodule — отдельный репозиторий, который используется как подмодуль в основном репозитории.