Шпаргалка по 32 командам Git для начинающих

Опубликовано: 2022-09-23

Шпаргалка по командам GIT — это удобный справочник для разработчиков, который содержит наиболее часто используемые команды для проектов git.

Что такое ГИТ?

GIT — это репозиторий с открытым исходным кодом, куда пользователи могут помещать свои файлы, включая код, zip-файлы, текст или весь проект целиком.

Он имеет несколько функций, таких как совместная работа, контроль версий, контроль процессов и т. Д. GIT хранит файлы более эффективно и обеспечивает лучшую целостность, чем другие системы контроля версий. Git — это инструмент командной строки.

Что такое Гитхаб?

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

Рабочий процесс Git

В Git есть разные рабочие процессы, и каждый проект должен иметь свой, основанный на его требованиях. Рабочий процесс Git — это не что иное, как упрощенный рабочий процесс на основе ветвей, который помогает командам, которые регулярно развертывают проекты.

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

Зачем нам нужен Git?

Поскольку Git — это система контроля версий, разработчики постоянно работают над ней, чтобы сохранять свои изменения, делать их доступными для просмотра другим, объединять свои изменения с другими и многое другое.

Для любых изменений в репозитории Git разработчикам необходимо знать правильные команды для правильного действия. Ниже приведен список важных и часто используемых команд Git:

Общие команды Git

git добавить

Чтобы добавить указанные файлы в промежуточную версию

 git add <file> -- add a specific file git add * -- add all the files

git-архив

Создает архивы коммитов, ветвей и деревьев и объединяет несколько файлов в один. Вы можете получить содержимое, извлекая файлы при необходимости.

git archive HEAD — создать архив из HEAD ref репозитория

git archive output = '.tar' — сохранить заархивированные файлы в заданном месте

git archive --format=tar.gz — указывает формат заархивированного файла, например, tar, zip, tar.gz

ветка git

Список всех веток в репозитории. Будет создана новая ветвь с именем, если указана ветвь. Чтобы удалить ветку, используйте параметр -d с именем ветки. Чтобы переименовать текущую ветку, используйте -m.

git branch — список всех веток

git branch <branch_name > — создает новую ветку с именем «branch_name», но не извлекает новую ветку.

git branch -d <branch_name> — удаляет ветку, предотвращает удаление, если есть какие-либо неслитые изменения

git branch -D <branch_name> — принудительно удалить ветку, даже если есть неслитые изменения

git branch -m <branch2> — переименовать текущую ветку

git cat-файл

Отображение содержимого или информации о размере/типе объектов репозитория

git cat-file <object> — показывает содержимое объекта

git cat-file -t <object> — отображает тип объекта

git cat-file -s <object> — показывает размер объекта

git cat-file -p <object> — красиво вывести тип объекта

git cat-file -e <object> — показывает ошибку на stderr, если объект имеет недопустимый формат или не существует

git cat-file <type> <object> — показывает необработанное содержимое объекта

git касса

Чтобы переключаться между различными ветвями репозитория, используйте его осторожно, так как для него нет «отмены».

git checkout <branch_name> — проверяет указанную ветку

git checkout -b <branch_name> — создать новую ветку и переключиться на эту ветку

Например:

 C:\Users\geekflare>git checkout -b development_branch Switched to a new branch 'development_branch'

очистить

Почистить рабочий директор. Файлы, которые зафиксированы, не будут удалены

git clean -n — список файлов, которые будут удалены

git clean -f — удаляет файлы

git клон

Создайте копию существующего репо в новый каталог. Полезно для получения разрабатываемой копии центрального репо.

git clone <central_repo> <new_dir> — создать копию центрального репо в новый каталог

Например:

 C:\Users\geek>git clone geekflare master Cloning into 'master'… done.


git clone -branch <branch> <repo> — клонирует ветку из указанного репозитория

git совершить

Сохраняет изменения в промежуточной среде, чтобы другие могли их увидеть.

git commit — зафиксировать изменения в staging

git commit -m <useful_msg> — выдает сообщение при фиксации, чтобы выделить сделанные изменения

git commit -a — зафиксировать изменения напрямую, без подготовки

Допустим, вы добавили файл с именем samplefile.txt в свой рабочий каталог и хотите зафиксировать этот файл. Дав приведенную выше команду, вы получите вывод:

 Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit. On branch master Initial commit Changes to be committed: new file: samplefile.txt

Как только вы отправляете сообщение, изменения фиксируются:

 C:\Users\geekflare>git commit -m 'samplemsg' [integration_branch (root-commit) ed52dd0] 'samplemsg' 1 files changed, 24 insertions(+) create mode 100644 samplefile.txt

git конфиг

Задает уровень конфигурации для записи значения свойства. Уровень «Локальный» используется по умолчанию (когда ничего не указано).

git config –local — сохраняет конфигурацию в каталоге .git репозитория

git config –global — сохраняет конфигурацию в домашнем каталоге пользователя

git config –system — содержит конфигурацию всех пользователей и репозиториев и находится в git config файле корня.

git diff

Сравните изменения в репозитории git, что можно сделать до, во время и после постановки (коммита).

git diff — отслеживать изменения в репозитории, которые еще не подготовлены

git diff --staged — отслеживать изменения в промежуточных файлах (которые не зафиксированы)

git diff HEAD — отслеживать изменения файла после коммита

git diff <commit1_id> <commit2_id> — отслеживать изменения между двумя коммитами; вы можете узнать commit_ids, используя ' git log -p --follow --filename '

git fetch

Получить ветку или весь удаленный репозиторий

git fetch <remote-url> — получить весь репозиторий по URL удаленного репозитория

git fetch <branch_url> <branchname> — получить конкретную ветку

git fetch -all — получить все ветки удаленного репозитория

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

git fsck

Проверка файловой системы Команда K проверяет правильность и связность объектов базы данных. Он проверяет SHA-1ID объектов и соединений, которые они устанавливают. Fsck полезен для восстановления потерянных коммитов и файлов.

git fsck –full

git GC

Запускает сборку мусора в текущем репозитории и очищает неиспользуемые файлы.

git gc

git grep

Ищет определенный контент в репозитории. Git предоставляет множество вариантов поиска различными способами.

git grep -i 'search_term' — поиск без учета регистра [Man и man будут одинаковыми]

git grep -f <file_name> — показать совпадающие шаблоны определенного файла

git grep -e 'search-term' — используйте -e для сопоставления с образцом

git grep -E 'regexp|multiple_exp' поиск регулярных выражений, мы можем искать несколько с помощью оператора канала (ИЛИ)

git grep -n 'expr' — префикс номера строки совпадающей строки

git grep -c 'expr' — показать количество совпавших строк вместо каждой строки

git ls-дерево

Чтобы просмотреть содержимое объекта дерева из текущего каталога.

git ls -tree -d <path> — показать только указанную запись дерева, а не дочерние элементы

git ls -tree -r — рекурсия по поддеревьям

git ls -tree -l — показать размер файловых (BLOB) объектов

git ls -tree --name-only — отображать только имена файлов, а не длинный вывод

git ls -tree --full-name — показывать полные пути, а не только путь относительно текущего каталога

Пример:

 C:\Users\geek>git ls-tree --full-tree -r HEAD 100644 blob e883e60087e84f1660a9673ccb86eb0adc4f004d samplefile.txt 100644 blob 1426dc6fbff0677a484b248983a8740ff30fbb80 sample_jsindex.js

git инициировать

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

git init — создает репозиторий .git в рабочей директории,

Например, чтобы создать новый репозиторий под названием «geekflare», введите команду:

 $ git init geekflare Initialized empty Git repository in C:/Users/geek/geekflare/.git/

git инставеб

Пользовательский интерфейс для просмотра репозитория git через браузер. Для этого используется CGI-скрипт GitWeb.

git instaweb --httpd=webrick — запускает сервер (httpd) и открывает веб-браузер на странице.

Чтобы остановить сервер, используйте указанную выше команду с параметром –stop.

журнал git

Записывает каждое действие в репозиторий git.

git log — отображает несколько последних коммитов

git log --oneline — показывает вывод в виде первых 7 символов SHA и сообщения фиксации с одной фиксацией в строке.

git log stat — отображает дополнительную информацию об измененных файлах, например, количество добавленных/удаленных строк, сводку по общему количеству измененных записей, добавленных/удаленных строк

git log --patch (or -p) — показывает измененные файлы, конкретные изменения и их расположение.

git log --graph — Просмотр результатов журнала в виде графика

git log -<n> — вывести количество последних n коммитов

git log --after=<date/x days/yesterday> — вывести все коммиты после указанной даты. Вы можете использовать --before для отображения коммитов до указанной даты

git log --author=<author_name> — отображать коммиты конкретного автора (пользователя).

git log --grep=<commit message> — фильтрация коммитов на основе сообщения коммита

git слияние

Объединяет все файлы разработки в одну ветку, объединяет две ветки и объединяет несколько коммитов в единую историю. Слияние останавливается, если возникает конфликт, и git представляет конфликтующие файлы. После разрешения конфликтов слияние продолжается.

git checkout -b — сначала оформить ветку для слияния

git add <file>

git commit — добавить и зафиксировать файлы

git checkout master

git merge — объединить ветку с мастером

git подрезать

Удаляет (сокращает) файлы, которые недоступны из текущей ветки. Это процесс очистки для удаления неиспользуемых файлов из ветки.

git prune -n ​​— не обрезать, просто показать, что все можно обрезать

git prune -v — показывает вывод действий, выполненных prune

git prune --progress — показывает ход выполнения обрезки

git fetch --prune — удаляет все устаревшие ветки

git тянуть

Он получает данные с удаленного сервера в рабочий репозиторий. Он обновляет локальную (рабочую) ветку всеми последними файлами из удаленного репозитория.

git pull — вытащить удаленный репозиторий

git pull <repo URL> — вытащить конкретную удаленную ветку

git push

Отправляет все локальные изменения в удаленный репозиторий. Это процесс загрузки, прямо противоположный командам pull и fetches.

git checkout master — проверить ветку с последними изменениями

git push origin master — отправить изменения в удаленное репо

Пример:

 C:\Users\geek>git checkout development_branch Switched to branch 'development_branch' C:\Users\geek>git push master development_branch Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 4 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 612 bytes | 204.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0), pack-reused 0 To master [development_branch] development_branch -> development_branch

Мы также можем использовать push для удаления удаленной ветки с помощью команды git push --delete <branch> .

Например:

 C:\Users\geek>git push master --delete development_branch To master [deleted] development_branch

git перебазировать

Объединяет несколько коммитов из разных веток для создания нового окончательного базового коммита. Полезно перед слиянием всех изменений, чтобы зафиксировать изменения из разных веток одно за другим (линейно).

git rebase <branch name> — объединить коммиты в одну конечную базу

Если есть какие-либо конфликты, разрешите их и продолжите перебазирование:
git rebase --continue

Чтобы пропустить любое изменение:
git rebase --skip

git удаленный

Проверяет конфигурацию удаленного сервера и разрешает доступ к соединению между удаленным и локальным сервером.

git remote — по умолчанию возвращает «origin», имя удаленного сервера по умолчанию, заданное Git.

git remote -v — перечисляет короткие имена и URL-адреса всех доступных удаленных подключений.

git remote add <short name> <remote url> — явно добавить удаленный сервер в доступные соединения. Короткое имя можно использовать для команд git вместо полного URL-адреса.

git remote remove <remote url/short name> — удаляет удаленный сервер из репозитория

git сброс

Вернитесь к предыдущему коммиту и отмените изменения, сделанные после этого коммита.

git reset <hash of the commit> — восстанавливает репо до указанного коммита. Git сохранит историю коммитов, поэтому вы можете сделать еще один сброс с другим коммитом (хэшем), чтобы отменить сброс.

гит рм

Удаляет определенный файл из git. Вы можете отменить действие rm с помощью команды reset или checkout.

git rm <file_ name> — удалить указанный файл

Чтобы удалить файлы из git, но сохранить их локально (постановка), используйте:

git rm --cached

git-шоу

Просмотрите любой объект, например большой двоичный объект, дерево, фиксацию или тег, указав его SHA1.

git show — без указания <object> показывает детали последнего коммита в ветке.

git show <SHA1_id> — показывает содержимое объекта, указанное его идентификатором SHA1, например, идентификатор блоба, идентификатор дерева и т. д. Чтобы проверить тип объекта, используйте команду git cat-file -t

git show –pretty — показывает вывод в красивом формате.

Вы можете указать пользовательский формат:

git show --pretty = 'format:Name: <format>' Или вы можете использовать один из коротких, полных, однострочных, средних или более полных форматов, например:

git show --pretty= 'medium' — это покажет автора, дату, заголовок и полное сообщение коммита

git show --abbrev-commit — для сокращения SHA1

git тайник

Чтобы переключать ветки без фиксации в текущей ветке, безопасно сохраните незафиксированные данные.

git stash — сохраняет работу и состояние индекса

git stash save <message> — дать сообщение при сохранении

git stash list — Просмотр списка спрятанного содержимого.

git stash apply — зафиксировать спрятанные изменения. Чтобы применить изменения определенного тайника, используйте идентификатор индекса тайника вместе с применить

git stash show — просмотреть содержимое спрятанных файлов

git stash drop — удаляет самый последний тайник из очереди

статус git

Просмотр состояния репозитория и промежуточной стадии, т. е. состояния перед стадией фиксации. Вы можете использовать эту команду после любой другой команды git, например добавления, обновления или удаления файла.

git status — показывает изменения, которые должны быть зафиксированы, или неотслеживаемые (не поэтапные) изменения

Например, если вы добавите в свой рабочий каталог файл с именем samplefile.txt и проверите, добавлен ли он, вы можете дать приведенную выше команду. Это приведет к следующему результату:

 On branch master No commits yet Changes to be committed: (use "git rm --cached …" to unstage) new file: samplefile.txt

git-тег

Дружественные ссылки используются для обозначения вех или контрольных точек в коде.

git tag <tag_name> — создать тег с заданным именем

git tag — список всех доступных тегов

git tag show <tag_name> — показать детали указанного тега

git tag -l “.*” — показать теги, соответствующие указанному шаблону или символам

гитк

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

gitk — открыть репозиторий git в окне для визуализации

git-версия

Используйте команду git version, чтобы проверить версию git, которую вы используете.

 C:\Users\geekflare>git version git version 2.38.0.windows.1

Заключительные слова

В этом посте перечислены наиболее часто используемые команды git с их параметрами.

Затем вы можете проверить сканер учетных данных GitHub.