Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Чим git checkout відрізняється від git switch?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**`git checkout`** - стара універсальна команда «на все», а **`git switch`** - нова команда тільки для перемикання гілок і комітів. **Ключове:** Git розділив функціональність, щоб було менше плутанини.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення## Коротко `git checkout` - стара універсальна команда «на все». `git switch` - нова команда **тільки для перемикання гілок і комітів**. Git розділив функціональність, щоб було **менше плутанини**. --- ## `git checkout` - старий "швейцарський ніж" `git checkout` уміє робити відразу багато речей: - перемикатися між гілками - переходити на конкретний коміт - виходити в detached HEAD - відновлювати файли з коміту Приклади: ```bash git checkout main git checkout a1b2c3d git checkout -- file.txt ``` Проблема: - надто багато різних сценаріїв - легко помилитися - новачкам складно зрозуміти, що саме відбувається --- ## `git switch` - тільки навігація `git switch` створений **спеціально для перемикання**: - між гілками - на коміти (явно, через `--detach`) - зі створенням нової гілки Приклади: ```bash git switch main git switch -c feature git switch --detach a1b2c3d ``` Що важливо: - `git switch` **не вміє працювати з файлами** - зате поведінка завжди більш передбачувана --- ## Чому з'явився `git switch` Розробники Git вирішили: - розділити одну складну команду на дві зрозумілі - зменшити кількість помилок - зробити команди «говіркими» У підсумку: - `git switch` - перемикання гілок - `git restore` - відновлення файлів - `git checkout` - застарілий універсальний варіант --- ## Порівняння в таблиці | Критерій | git checkout | git switch | |---|---|---| | Перемикання гілок | так | так | | Перехід на коміт | так | так (`--detach`) | | Робота з файлами | так | ні | | Простота і ясність | ні | так | | Рекомендується зараз | частково | так | --- ## Важливий момент для співбесіди Хороша відповідь - сказати не просто «чим відрізняються», а **навіщо з'явився** `git switch`: > `git switch` було додано, щоб спростити і зробити безпечнішим перемикання гілок і навігацію по історії, оскільки `git checkout` виконує занадто багато різних завдань. --- ## Короткий відповідь для співбесіди > `git checkout` - універсальна команда для перемикання гілок, комітів і роботи з файлами. > `git switch` - новіша і простіша команда, призначена тільки для перемикання гілок і переходу на коміти, без зайвого функціоналу. --- ## Часта помилка кандидатів Неправильно: «`git switch` - це просто аліас `checkout`» Правильно: це **окрема команда з обмеженою і більш зрозумілою областю відповідальності**.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.