cd
: Переход в директорию.cd ..
: Подняться на один уровень вверх.cd ../..
: Подняться на два уровня вверх.cd ~
: Перейти в домашнюю директорию.cd /
: Перейти в корневую директорию.ls
: Список файлов и папок.ls -la
: Список файлов и папок с подробной информацией.ll -a
: Список файлов и папок, включая скрытые.ll
: То же, что иls -l
.pwd
: Вывод пути к текущей директории.tree
: Вывод структуры каталогов в виде дерева.find . -name "{имя}"
: Поиск файла по имени в текущей директории и подкаталогах.locate {имя}
: Быстрый поиск файла по имени (требует предварительной индексации).du -sh {папка}
: Вывод размера указанной папки.df -h
: Показать информацию о дисковом пространстве.pushd {папка}
: Перейти в директорию и сохранить текущую в стеке.popd
: Вернуться в директорию из стека.alias
: Показать все текущие алиасы.unalias {имя}
: Удалить алиас.clear
: Очистить терминал.
mkdir {название}
: Создание папки.mkdir {название1} {название2} {название3}
: Создание нескольких папок одновременно.mkdir -p directory1/directory2/directory3
: Создание папок с родительскими каталогами.rm {название}
: Удаление файла или папки.rm *
: Удаление всех файлов в текущей директории.rm *.{формат}
: Удаление всех файлов в текущей директории заданного формата.rmdir
: Удаление пустого каталога.rm -r {папка}
: Удаление папки или нескольких папок.rm -rf {директория}
: Принудительное удаление каталога без подтверждения.mv {название} {путь}
: Перемещение файла.mv {название} {новое название}
: Переименование файла.cp -r {папка1} {папка2}
: Копирование папки рекурсивно.touch {файл}
: Создание пустого файла или обновление времени последнего доступа.ln -s {файл} {ссылка}
: Создание символической ссылки на файл.
cp {название1} {название2}
: Копирование файла.cp {название} {путь}
: Копирование файла в другую директорию.mv {название} {путь}
: Перемещение файла.mv {название} {новое название}
: Переименование файла.rsync -av {источник} {назначение}
: Синхронизация файлов и папок.scp {файл} user@host:{путь}
: Копирование файла на удаленный сервер по SSH.tar -cvf {архив.tar} {папка}
: Создание архива из папки.tar -xvf {архив.tar}
: Извлечение содержимого архива.
cat {файл}
: Вывод содержимого файла.cat -n text.txt
: Просмотр файла с нумерацией строк.cat >test2
: Создание файла и его редактирование.touch test2
: Создание файла.cat test test1 test2 > test3
: Запись текста из нескольких файлов в один (с перезаписью последнего).cat test test1 test2 test3 | sort > test4
: Отсортировать содержимое нескольких файлов и перезаписать в файл.cd folder && ll
: Перейти в папку и вывести все файлы в ней.pbcopy < ~/.ssh/id_rsa.pub
: Скопировать содержимое илиclip
.head -n {N} {файл}
: Вывод первых N строк файла.tail -n {N} {файл}
: Вывод последних N строк файла.grep "{шаблон}" {файл}
: Поиск строки по шаблону в файле.wc -l {файл}
: Подсчет количества строк в файле.diff {файл1} {файл2}
: Сравнение двух файлов.file {файл}
: Определение типа файла.stat {файл}
: Показать информацию о файле, включая размер и время последнего изменения.chmod {права} {файл}
: Изменение прав доступа к файлу.chown {пользователь}:{группа} {файл}
: Изменение владельца и группы файла.
git init
: Инициализация Git в текущей папке.git remote add origin {url удаленного репоз.}
: Соединение локального репозитория с удаленным.git clone {url удаленного репозитория}
: Скачивание удаленного репозитория.
git config --global user.name "n.surname"
: Задать имя пользователя.git config --global user.email "[email protected]"
: Задать email пользователя.cat ~/.gitconfig
: Просмотр содержимого config.git config --list
: Вывод всех настроек конфигурации.git config --global core.editor {editor}
: Установить текстовый редактор по умолчанию.git config --global alias.{псевдоним} {команда}
: Создание алиаса для команды Git.
git add {имена файлов}
: Добавить файлы к коммиту.git add .
: Добавить все измененные файлы к коммиту.git commit -m "{message}"
: Сохранить изменения (коммит).git commit -a -m "text"
: Создание коммита вместе сgit add
, кроме новых файлов.git commit --amend --no-edit
: Дополнить последний коммит, добавив в него файл.-no-edit
оставляет сообщение коммита прежним.git commit --amend -m "Новое сообщение"
: Изменить сообщение коммита.git cherry-pick {commit hash}
: Применить изменения из указанного коммита к текущей ветке.git commit --allow-empty -m "Пустой коммит"
: Создание пустого коммита.git commit --no-verify
: Создание коммита, игнорируя хуки.git commit -v
: Создание коммита с показом изменений в редакторе.git commit --squash {commit hash}
: Объединение изменений из указанного коммита в текущий коммит.
git branch
: Вывод списка имеющихся веток.git branch {имя ветки}
: Создать новую ветку.git branch -d {имя ветки}
: Удалить ветку, только если она была полностью объединена с другой.git branch -D {название ветки}
: Принудительное удаление ветки.git checkout -b {название ветки}
: Создать ветку и сразу переключиться на неё.git checkout {имя ветки}
: Переключиться на другую ветку.git merge {имя ветки}
: Слияние ветки.git merge --abort
: Отмена слияния.git checkout -- {файл}
: Отменить изменения в указанном файле.git branch --merged
: Показать ветки, которые были объединены с текущей.git branch --no-merged
: Показать ветки, которые не были объединены с текущей.git switch {имя ветки}
: Переключение на другую ветку (аналогgit checkout
).
git remote -v
: Показать все удаленные репозитории.git remote rm origin
: Удалить удаленный репозиторийorigin
.git push {имя репозитория} {название ветки}
: Публикация коммитов в удаленный репозиторий.git push -u origin branch_2
: Публикация новой ветки в удаленный репозиторий и установка отслеживания.git pull {имя репозитория} {название ветки}
: Скачивание коммитов из удаленного репозитория.git fetch origin
: Загружает все изменения (коммиты, ветки и теги) из удаленного репозитория, но не сливает их с вашей текущей веткой.git push --force
: Принудительная отправка изменений в удаленный репозиторий.git remote show origin
: Показать информацию о удаленном репозитории.git push origin --delete {имя ветки}
: Удаление ветки на удаленном репозитории.git fetch --prune
: Удаление ссылок на удаленные ветки, которые были удалены.git pull --rebase
: Скачивание изменений и применение их на текущую ветку с использованием rebase.git remote rename {старое имя} {новое имя}
: Переименование удаленного репозитория.
git status
: Показать текущий статус изменений.git log
: Просмотр истории коммитов.git log -p
: Просмотр истории коммитов с изменениями в файлах.git log --oneline
: Сокращенный лог.git show {№хэша}
: Просмотр заданного коммита.git reflog
: Просмотр истории всех действий с коммитами.git blame {файл}
: Показать, кто и когда изменил каждую строку в файле.git diff HEAD
: Показать изменения в рабочем каталоге по сравнению с последним коммитом.git diff {ветка1}..{ветка2}
: Показать различия между двумя ветками.git show {tag}
: Показать информацию о теге.git reflog expire --expire=now --all
: Удалить все записи reflog.
git diff
: Показать различия между двумя наборами данных (ветками или коммитами).git diff --staged
: Показать различия между добавленными изменениями и последним коммитом.git reset --hard {commit hash}
: Откатить к указанному коммиту, удалив все незакоммиченные изменения.git reset <файл>
: Удаляет изменения из staging area, возвращая файл в состояние, в котором он был в последнем коммите.git restore --staged {file}
: Убрать файл из staging.git restore {file}
: Откатить изменения файла к последнему коммиту.git rebase main
: После выполнения этой команды все коммиты из вашей ветки будут перенесены на конец веткиmain
.git revert {commit hash}
: Создает новый коммит, который отменяет изменения, внесенные указанным коммитом.git reset --soft HEAD~1
: Откатить последний коммит, сохранив изменения в staging area.
git tag {имя}
: Создание тега для текущего коммита.git tag -d {имя тега}
: Удаление тега.git push origin {имя тега}
: Отправка тега на удаленный репозиторий.git push origin --tags
: Отправка всех тегов на удаленный репозиторий.
git config --global alias.last 'log -1 HEAD'
: Создание псевдонима для командыlog -1 HEAD
.git config --global alias.co checkout
: Создание псевдонима для командыcheckout
.git config --global alias.br branch
: Создание псевдонима для командыbranch
.git config --global alias.st status
: Создание псевдонима для командыstatus
.git config --global alias.lg 'log --oneline --graph --decorate --all'
: Создание псевдонима для удобного просмотра истории коммитов.
Файл .gitignore
позволяет исключать файлы и каталоги из отслеживания в Git. Он используется для указания паттернов файлов, которые Git должен игнорировать. Вот несколько примеров шаблонов, которые можно использовать:
- Игнорировать все файлы с расширением
.log
:*.log
- Игнорировать все временные файлы редактора Vim:
*~
- Игнорировать каталог
node_modules
:node_modules/
- Игнорировать все файлы в каталоге
temp
, но не игнорировать сам каталог:temp/* !temp/
- Игнорировать все
.DS_Store
файлы (часто встречается на MacOS):.DS_Store
- Игнорировать все
.env
файлы:.env
Суффикс ~N
используется для сравнения коммитов, начиная с коммита, который был N
коммитов назад. Примеры использования:
git diff HEAD~1
: Показать различия между текущим состоянием и состоянием одного коммита назад.git diff feature/diff~1
: Показать различия между текущим состоянием веткиfeature/diff
и состоянием одного коммита назад в этой ветке.git diff 2ea56ab~
: Показать различия между текущим состоянием и состоянием одного коммита назад от указанного коммита2ea56ab
.
Эти команды помогают увидеть изменения, внесенные в последние коммиты, и анализировать историю проекта.