Перейти к основному содержимому

Основы работы с Git — чек-лист

Разработчику Архитектору Инженеру
Загрузка вопросов…

После теории отработайте команды на примерах — лабораторная "Git — шпаргалка сценариев" (init, add, commit, push, ветки, откат).


Чек-лист самопроверки

  1. Что такое система контроля версий?
  2. В чём разница между централизованной и распределённой системой контроля версий?
  3. Кто создал Git и почему?
  4. Что такое репозиторий в контексте Git?
  5. Какие три уровня конфигурации поддерживает Git?
  6. Как установить имя и email пользователя глобально в Git?
  7. Что означает флаг --global в команде git config?
  8. Где хранится глобальный конфигурационный файл на Windows?
  9. Где хранится глобальный конфигурационный файл на Linux/macOS?
  10. Как проверить установленную версию Git?
  11. Что такое локальный репозиторий?
  12. Что такое удалённый репозиторий?
  13. Как инициализировать новый репозиторий в текущей папке?
  14. Как клонировать существующий репозиторий с сервера?
  15. Что такое .git и зачем он нужен?
  16. Что такое .gitignore и как его использовать? (подробно: Файл .gitignore)
  17. Какие состояния могут иметь файлы в Git?
  18. Что означает состояние "untracked"?
  19. Что означает состояние "modified"?
  20. Что означает состояние "staged"?
  21. Что означает состояние "committed"?
  22. Как добавить файл в индекс (stage)?
  23. Как зафиксировать изменения в виде коммита?
  24. Как правильно писать сообщения коммитов?
  25. Что такое HEAD в Git?
  26. Что такое "detached HEAD" и почему это опасно?
  27. Как переключиться на другую ветку?
  28. Как создать новую ветку?
  29. Как посмотреть список всех веток?
  30. Как отправить локальные коммиты в удалённый репозиторий?
  31. Как получить последние изменения из удалённого репозитория?
  32. В чём разница между git pull и git fetch?
  33. Что такое origin?
  34. Как привязать локальный репозиторий к удалённому?
  35. Что происходит при выполнении git push -u origin main?
  36. Что такое слияние (merge) веток?
  37. Когда возникает конфликт слияния?
  38. Как выглядят маркеры конфликта в файле?
  39. Как разрешить конфликт слияния вручную?
  40. Можно ли отменить начатое слияние? Если да, то как?
  41. Что такое pull request?
  42. Зачем нужны code review и pull request в командной разработке?
  43. Что такое CI/CD и как он связан с Git?
  44. Как отменить последний локальный коммит без потери изменений?
  45. Как отменить уже отправленный коммит безопасно?
  46. Что делает команда git revert?
  47. Что делает команда git reset --soft?
  48. Что делает команда git reset --hard?
  49. Как восстановить удалённый файл из предыдущего коммита?
  50. Как найти потерянные коммиты после сброса ветки?
  51. Что делает git stash и когда его использовать?
  52. В чём разница между git merge и git rebase при подтягивании main в feature-ветку?
  53. Что означает отклонённый push (non-fast-forward)?
  54. Зачем git push --force-with-lease вместо --force?
  55. Что делает git add -p?
  56. Чем git restore отличается от git reset?
  57. Как отменить начатый, но не завершённый merge или rebase?
  58. Что такое форк и remote upstream?
  59. Как безопасно откатить merge-коммит, уже попавший на сервер?
  60. Что делать, если в Git попал файл с паролем или ключом?
  61. Что такое git reflog и почему он не передаётся при clone?
  62. Когда уместен git commit --amend, а когда — только новый коммит или revert?
  63. Как восстановить один файл из старого коммита?
  64. Что такое зоны риска A / B / C при исправлении ошибок Git?
  65. Где в энциклопедии найти пошаговые сценарии "что делать, если…"?
  66. Как откатить ошибочный git pull из чужой ветки?
  67. Что делает git bisect и когда его запускать?
  68. Чем git cherry-pick отличается от merge?