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 не будет опубликован. Обязательные поля помечены *

https://beverlywoodbakery.com/ deneme bonusugrandpashabetgrandpashabetgrandpashabet girişküçükçekmece escorthttps://www.bakirkoyfal.com/kagithane escortatakoy escortatakoy escorthttps://halkaliescortmanken.xyz/eskişehir escorttempobetdumanbetdeneme bonusu veren sitelerkadıköy escortümraniye escortistanbul escortbasaksehir escortşişli escortonwinjojobethttps://www.escortbayanlariz.net/imajbetmavibetextrabetromabetromabetromabetkartal escorttipobetultrabet twitterbetgaranticasibommecidiyeköy escorthttps://www.newstrendline.com/betkomgrandpashabetdeneme bonusu veren casino sitelericasibomcasibom바카라사이트batumi escortcasibom girişcasibom güncel girişcasibomgrandpashabet güncel girişholiganbetmarsbahishttps://vheshop.com/casibombetwooncasibom girişholiganbetmegabahis girişsekabetmobilbahis girişnakitbahiszbahisbahiscomotobetbetturkeybets10sheratonbetbelugabahis güncel girişcasibommarsbahisdeneme bonusubetcioextrabetimajbetmavibetjokerbetmahmutbey escortDeneme Bonusugrandpashabetdeneme bonusu veren sitelergrandpashabetgrandpashabetcasibom girişgrandpashabetcasino siteleriDeneme Bonusu Veren SitelerAlanya EscortDeneme Bonusu Veren SitelervaycasinonakitbahisJojobetGrandpashabetbetgaranti girişholiganbet girişgrandpashabetsekabetholiganbet girişmarsbahisbetgarantimariobetonwinsekabet girişdeneme bonusu veren siteler resmiiiiiicasibom girişmarsbahismarsbahissekabetatlasbet girişgrandpashabetbahis sitelericratosroyalbetcratosroyalbet girişdeneme bonusu veren sitelercanlı bahisgrandpashabetdeneme bonusu veren sitelerholiganbetmadridbetCanlı Casinodeneme bonusu veren sitelertempobetbankobethitbetpinbahisankara çekicitempobetdeneme bonusu veren sitelercanlı casinojojobetrestbetHoliganbetGüvenilir bahis siteleriitipobetsekabetmarsbahismatbet girişvaycasino girişvaycasino güncel girişbaklava
Прокрутить вверх