Питання на співбесіді з Git (Middle) з відповідями

75 запитань для співбесіди з теми Git (Middle) - з правильними відповідями, поясненнями й посиланнями на документацію.

Пройти цей тест
  1. 1.Що робить git rebase main на гілці фічі?
  2. 2.Яке «золоте правило» rebase?
  3. 3.Merge чи rebase для інтеграції main у гілку фічі: у чому компроміс?
  4. 4.Під час rebase виник конфлікт. Яка звичайна послідовність дій?
  5. 5.Що можна зробити через git rebase -i HEAD~4?
  6. 6.Чим squash відрізняється від fixup в інтерактивному rebase?
  7. 7.Що робить git cherry-pick <hash>?
  8. 8.Ви виконали git reset --hard і втратили коміт. Як його повернути?
  9. 9.Який режим git reset <commit> за замовчуванням?
  10. 10.Чому git push --force-with-lease кращий за --force?
  11. 11.Як скасувати merge-коміт, уже запушений у main?
  12. 12.Що робить squash-злиття pull request?
  13. 13.Що допомагає знайти git bisect?
  14. 14.Що таке Git hook?
  15. 15.Для чого зазвичай використовують хук pre-commit?
  16. 16.Що стандартизує Conventional Commits?
  17. 17.Що таке trunk-based development?
  18. 18.Чим Git Flow відрізняється від GitHub Flow?
  19. 19.Що зазвичай вимагають захищені гілки на GitHub чи GitLab?
  20. 20.Що таке файл CODEOWNERS?
  21. 21.Що дозволяє git add -p?
  22. 22.Що таке ORIG_HEAD?
  23. 23.Що показує діапазон із трьома крапками git log main...feature?
  24. 24.Що таке merge base двох гілок?
  25. 25.Анотовані й легковагі теги: у чому різниця?
  26. 26.Навіщо підписувати коміти чи теги ключами GPG або SSH?
  27. 27.Що таке Git-підмодуль (submodule)?
  28. 28.Яку проблему розв'язує git worktree?
  29. 29.Що дає поверхневий клон (git clone --depth 1)?
  30. 30.Навіщо Git LFS для великих бінарних файлів?
  31. 31.Що знаходить git log -S "apiKey"?
  32. 32.Як синхронізувати форк з оригінальним репозиторієм?
  33. 33.Що робить git fetch --prune?
  34. 34.Що робить pull.ff = only у налаштуваннях Git?
  35. 35.Що робить git rebase --onto main old-base feature?
  36. 36.З чим допомагає .git-blame-ignore-revs?
  37. 37.Що додає git stash -u порівняно зі звичайним git stash?
  38. 38.Як створити гілку зі stash?
  39. 39.Що робить git rerere?
  40. 40.Чому rebase з багатьма комітами буває болючішим за merge?
  41. 41.Що виводить git describe, наприклад v1.4.0-12-g3f2a9c1?
  42. 42.Що показує git shortlog -sn?
  43. 43.Що буде з вашими комітами, якщо PR злили через squash, а ви працюєте далі в тій самій гілці?
  44. 44.Для чого корисний git cherry-pick -x?
  45. 45.Як дізнатися, які гілки містять певний коміт?
  46. 46.Чому перейменування File.js на file.js може створити проблеми на macOS чи Windows?
  47. 47.Про що налаштування core.fileMode?
  48. 48.Що порівнює git range-diff?
  49. 49.Що готує git commit --fixup=<hash>?
  50. 50.Чому багато команд вимагають лінійної історії в main?
  51. 51.Що допомагає побачити git log --graph --oneline --all?
  52. 52.Ви помилково закомітили в main замість гілки фічі (без push). Як виправити?
  53. 53.Що видаляє git clean -fdx?
  54. 54.Чим ризикована довгоживуча гілка фічі?
  55. 55.Що показує git diff --stat?
  56. 56.Що робить git restore --source=HEAD~2 file.js?
  57. 57.Для чого релізна гілка в Git Flow?
  58. 58.Як обробити hotfix для продакшну, коли є релізні гілки?
  59. 59.Де шукає git grep "TODO"?
  60. 60.Що дає sparse checkout у великому монорепозиторії?
  61. 61.Що захищають git reset --merge чи git merge --abort, на відміну від reset --hard?
  62. 62.Чому згенеровані файли (збірка, мініфіковані бандли) зазвичай ігнорують?
  63. 63.Що буде після git commit --amend на вже запушеному коміті?
  64. 64.Як найбезпечніше підтягнути свіжий main у гілку, куди пушать і інші?
  65. 65.Що показує git log --first-parent main?
  66. 66.Що робить git switch -?
  67. 67.Де розв'язувати конфлікт версій у package.json між двома гілками фіч?
  68. 68.Що робить git revert HEAD~3..HEAD?
  69. 69.Як змінити вміст старішого коміту (не лише повідомлення) до push?
  70. 70.Чим ризикований git add . перед кожним комітом?
  71. 71.Що показує git log --since="2 weeks ago" -- src/api?
  72. 72.Для чого git push --atomic?
  73. 73.Чому монорепозиторії часто використовують CODEOWNERS і CI за шляхами?
  74. 74.Який мінус злиття rebase-and-merge на платформі?
  75. 75.Що робить git merge --squash feature локально?