20 приемов работы с Git в командной строке, которые должен знать каждый разработчик

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”.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх