Git — важный инструмент контроля версий для разработчиков. И хотя графический интерфейс может упростить некоторые задачи, умение пользоваться Git CLI (интерфейсом командной строки Git) обеспечивает более глубокий контроль, гибкость и скорость.
В этой статье мы рассмотрим 20 приемов работы с командной строкой Git, которые должен знать каждый разработчик, чтобы оптимизировать свой рабочий процесс.
1. Задаем глобальную конфигурацию
Убедитесь, что ваши коммиты помечены правильными идентификаторами.
git config --global user.name "Your Name" git config --global user.email "you@example.com"
Совет: используйте --local
вместо --global
, чтобы задать конфигурацию для конкретного проекта.
2. Отменяем последний коммит (без потери изменений)
Если вы допустили ошибку в последнем коммите, его можно отменить. При этом ваши изменения сохранятся, и вы сможете внести правки в коммит или устранить проблему.
git reset --soft HEAD~1
3. Изменяем последний коммит
Забыли включить изменение или хотите обновить сообщение коммита?
git add . git commit --amend -m "Updated commit message"
Это обновит предыдущий коммит без создания нового.
4. Прячем незакоммиченные изменения
Нужно быстро переключить ветку, не сделав коммит?
git stash
Извлеките тайник позже с помощью следующей команды:
git stash pop
5. Просматриваем историю коммитов в графическом виде
Визуализация истории коммитов облегчает понимание состояния проекта.
git log --graph --oneline --all
6. Изменяем автора коммита
Чтобы изменить автора последнего коммита, используйте следующую команду:
git commit --amend --author="New Author <newauthor@example.com>"
7. Проверяем различия в подготовленных изменениях
Используйте git diff для сравнения файлов в стейджинге.
git diff --staged
Команда покажет изменения, которые подготовлены, но ещё не зафиксированы.
8. Ищем баг с помощью Bisect
Используйте git bisect, чтобы найти коммит, в котором появилась ошибка.
git bisect start git bisect bad # Current commit is bad git bisect good <commit-hash> # A known good commit
Git просмотрит историю коммитов, чтобы выявить проблемный коммит.
9. Rebase для чистой истории коммитов
Rebase переписывает историю коммитов для чистоты.
git rebase -i HEAD~3
Эта команда позволяет редактировать, удалять или изменять порядок последних трёх коммитов.
10. Выбираем конкретные коммиты
Хотите перенести определённый коммит из другой ветки?
git cherry-pick <commit-hash>
11. Выводим список всех веток (локальных и удалённых)
Посмотрите, какие ветки доступны:
git branch -a
12. Убираем неотслеживаемые файлы и каталоги
Быстрое удаление ненужных файлов, которые не отслеживаются Git:
git clean -fd
Используйте -n
для пробного запуска, чтобы просмотреть, что будет удалено.
13. Отслеживаем upstream-ветку
Поддерживайте синхронизацию локальной ветки с удаленной с помощью следующей команды:
git branch --set-upstream-to=origin/main
14. Объединяем коммиты с помощью интерактивного Rebase
Объедините несколько коммитов в один:
git rebase -i HEAD~n # Replace 'n' with the number of commits
15. Просматриваем файл на определенном коммите
Проверьте состояние файла на определенном коммите:
git show <commit-hash>:path/to/file
16. Редактируем .gitignore после коммита
Если вы забыли проигнорировать некоторые файлы, обновите .gitignore:
echo "node_modules/" >> .gitignore git rm -r --cached node_modules/ git commit -m "Update .gitignore"
17. Отменяем запушенный коммит
Отмените изменения из определённого коммита без изменения истории:
git revert <commit-hash>
18. Извлекаем только метаданные
Хотите избежать выборки всего репозитория?
git fetch --dry-run
Это позволит вам увидеть, что будет извлечено, без фактической загрузки данных.
19. Ищем, “кто это сделал”
Узнайте, кто написал определенную строку в файле.
git blame path/to/file
20. Сбрасываем файл на последний коммит
Отмена локальных изменений в определенном файле.
git checkout -- path/to/file
Эти 20 приемов работы с командной строкой Git помогут вам сделать процесс разработки более плавным, независимо от того, работаете ли вы в одиночку или с командой. Хотя инструменты графического интерфейса обеспечивают удобство, владение командной строкой Git дает больше контроля над рабочими процессами.
Перевод статьи “20 Git Command-Line Tricks Every Developer Should Know”.
Запись 20 приемов работы с Git в командной строке, которые должен знать каждый разработчик впервые появилась techrocks.ru.