git

45 commands

45 shown

Интерактивный rebase последних N коммитов Squash, перестановка или редактирование последних 5 коммитов git rebase -i HEAD~5 #git Cherry-pick коммита Применить один коммит из другой ветки git cherry-pick <sha> #git Reflog — восстановить потерянные коммиты Последние движения HEAD включая rebase и reset git reflog show --date=relative | head -20 #git#debug Stash с сообщением Сохранить незакоммиченную работу (включая untracked) с меткой git stash push -m 'WIP: feature-x' -u #git Применить stash по индексу Применить и удалить конкретный stash git stash pop stash@{2} #git Bisect — найти сломавший коммит Бинарный поиск по истории для нахождения регрессии git bisect start && git bisect bad HEAD && git bisect good <good-sha> #git#debug Worktree — несколько веток Переключиться на ветку в параллельной директории без stash git worktree add ../feature-branch feature/my-feature #git Обновить submodule Инициализировать и обновить все submodule рекурсивно git submodule update --init --recursive #git Файл на конкретном коммите Содержимое файла на историческом коммите git show <sha>:path/to/file #git Лог с графом веток Компактный визуальный граф всех веток репо git log --oneline --graph --decorate --all | head -40 #git Поиск по истории коммитов Найти все коммиты которые добавляли или удаляли строку 'password' git log -S 'password' --oneline --all #git#security#debug Исправить сообщение последнего коммита Добавить staged изменения в последний коммит без смены сообщения git commit --amend --no-edit #git Удалить удалённую ветку Удалить ветку из удалённого репозитория git push origin --delete feature/old-branch #git Удалить неотслеживаемые файлы Удалить неотслеживаемые файлы и директории (включая gitignore) git clean -fdx #git Fetch всех remote и prune Обновить все remote и удалить устаревшие tracking ветки git fetch --all --prune --tags #git Изменить сообщение последнего коммита Переписать сообщение последнего коммита (только локально) git commit --amend -m 'new message' #git Интерактивный rebase последних N коммитов Слить, переупорядочить или отредактировать последние 5 коммитов git rebase -i HEAD~5 #git Stash с сообщением Сохранить только src/ в stash с описательным именем git stash push -m 'wip: feature-x' -- src/ #git Применить конкретный stash Список stash и применение конкретного по индексу git stash list && git stash apply stash@{2} #git Cherry-pick диапазона коммитов Применить коммиты от A до B включительно на текущую ветку git cherry-pick A^..B #git Кто изменил строку (blame) Аннотировать строки 10–25 автором и датой git blame -L 10,25 --date=short src/main.py #git#debug Найти коммит с багом (bisect) Бинарный поиск по истории для нахождения сломавшего коммита git bisect start && git bisect bad HEAD && git bisect good v1.0 #git#debug Изменённые файлы между ветками Список добавленных, изменённых, удалённых файлов между ветками git diff --name-status main..feature/x #git График истории коммитов ASCII-граф полной истории коммитов со всеми ветками git log --oneline --graph --decorate --all #git Отменить последний коммит, сохранив изменения Переместить HEAD назад на один коммит; изменения остаются в дереве git reset HEAD~1 #git Сбросить все локальные изменения Сбросить изменения и удалить неотслеживаемые файлы/директории git restore . && git clean -fd #git Теги с сообщениями Список всех тегов с первой строкой аннотации git tag -l -n1 #git Создать подписанный тег GPG-подписанный аннотированный тег для релиза git tag -s v1.2.3 -m 'Release 1.2.3' #git#security Удалить устаревшие remote ветки Удалить локальные ссылки на удалённые ветки которых больше нет git fetch --prune #git Shallow clone Клонировать только последний коммит одной ветки (быстро для CI) git clone --depth=1 --single-branch --branch main <url> #git Контрибьюторы по числу коммитов Список авторов отсортированный по числу коммитов git shortlog -sn --all #git Поиск по сообщениям коммитов Найти все коммиты чьё сообщение содержит паттерн git log --all --grep='fix:' --oneline #git Поиск по содержимому коммитов Найти когда строка была добавлена или удалена во всех ветках git log -S 'functionName' --patch --all #git#debug Частичное клонирование Скачать коммиты и деревья; блобы загружаются по требованию git clone --filter=blob:none <url> #git Worktree для параллельных веток Переключиться на ветку в отдельной директории без смены текущей git worktree add ../hotfix-branch hotfix/urgent #git Интерактивный rebase последних N коммитов Интерактивно изменить порядок, squash или отредактировать последние 5 коммитов git rebase -i HEAD~5 #git#rebase#history Cherry-pick коммита Применить конкретный коммит из другой ветки git cherry-pick abc1234 #git#cherry-pick#commits Stash с сообщением Сохранить рабочие изменения с описательным сообщением stash git stash push -m "WIP: feature X" #git#stash#workflow Список stash Показать все сохранённые наборы изменений git stash list #git#stash#list Применить stash по индексу Применить конкретный stash без его удаления git stash apply stash@{2} #git#stash#apply Найти коммит, который внёс баг Начать бинарный поиск коммита, введшего баг git bisect start && git bisect bad && git bisect good v1.0 #git#bisect#debug#history История изменений файла Показать полную историю изменений файла включая переименования git log --follow -p -- path/to/file.py #git#log#history#diff Отменить последний коммит (сохранить изменения) Откатить HEAD на один коммит, сохранив стейдженные изменения git reset --soft HEAD~1 #git#reset#undo Удалить неотслеживаемые файлы Удалить неотслеживаемые файлы и директории из рабочего дерева git clean -fd #git#clean#working-tree Показать ветки, смёрженные в main Показать локальные ветки, уже смёрженные в main git branch --merged main #git#branch#merged#cleanup
no commands match