 
                        
                    Git Worktree: как это может помочь вам улучшить рабочий процесс Git
22 марта 2023 г.Git Worktree: улучшите рабочий процесс Git
Было ли такое, что вы когда-нибудь работали над кодом функции и неожиданно получали уведомление о том, что производство остановлено? Если вы используете Git, теперь у вас есть несколько вариантов: зафиксировать свою работу, спрятать ее или отказаться от нее. Все они приходят со своими проблемами в зависимости от ситуации.
Если вы коммитите недоработанный код, вы можете вернуться позже и перебазировать, чтобы очистить историю коммитов. Скрытие может вызвать проблемы, потому что что, если вам нужно спрятать лишний код позже, прежде чем вернуться к исходной работе?
Я отброшу свои текущие изменения, если они будут небольшими, но в остальном нет, спасибо.
Недавно я наткнулся на рабочее дерево Git, и это значительно повысило мою продуктивность
Что такое Git Worktree?
Рабочее дерево Git позволяет нам проверять множество веток в репозитории git. Это позволяет нам переключаться между разными ветвями в репозитории Git, не теряя незафиксированной работы. Git делает это, создавая новые отдельные каталоги, называемые «связанным рабочим деревом», которое связывается с одним «основным рабочим деревом» (каталог, созданный с помощью git clone или git init). .
Чтобы получить новое рабочее дерево, мы используем команду worktree add: git worktree add <path> <название_ветки>. Рабочие деревья создаются как новые каталоги. Мы даем команде add путь к тому месту, где мы хотим создать новый каталог, и какую ветку git мы хотим проверить. 
Как и git checkout -b, мы можем создавать совершенно новые ветки, добавляя аргумент -b (git worktree add -b <branch_name> <path>< /код>).
Мы можем увидеть все созданные нами рабочие деревья с помощью команды git worktree list.
Создав различные связанные рабочие деревья, мы можем изменять код и переключаться между изолированными экземплярами нашей кодовой базы. Изменения, сделанные в одном рабочем дереве, не влияют на другие рабочие деревья.
А если мы захотим зафиксировать и отправить наши изменения на Github? Без проблем! Git worktree — это способ проверить множество веток. Итак, после внесения изменений в наше рабочее дерево мы можем git add, git commit и git push origin, как если бы мы работает в другой ветке. 
Изменения будут отображаться на Github под тегом <branch_name>, который мы указали в git worktree add <path> <название_ветки>.
Когда мы закончим с рабочим деревом, мы можем вызвать git worktree remove <path_to_worktree>, чтобы удалить его.
Конец
Я держу все рабочие деревья в отдельном каталоге ~/.worktree вне общего каталога проектов ~/projects, чтобы уменьшить беспорядок и сохранить «основные рабочие деревья» явными. из «связанных рабочих деревьев». 
Я постоянно переключаюсь между ветвями и кодом, и Git worktree очень помог мне в моем рабочем процессе!
Оригинал
