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