Git выбирает фиксацию из одной папки в другую (оба из одного и того же репо)

Я устал от проверки между филиалами. Итак, я дважды клонировал репозиторий на свой компьютер.

Теперь у меня есть разные папки одного и того же репо.

Я хочу скопировать определенный локальный коммит, который у меня есть на старом клоне, в новый клон. Какой набор команд git поможет мне это сделать? (может быть, черри?)

Это возможное решение, но его реализация потребует от меня дополнительной работы. Допустим, у меня есть мастер ветки и функция поверх того же клона. И я говорю: черт возьми, я хочу, чтобы каждая из ветвей была отдельным клоном. Итак, теперь у меня есть 3 клона одного и того же репо: 1 из смешанных веток master/feature 1 только master 1 только feature Я хочу скопировать последнюю фиксацию любой из ветвей из смешанного клона в эти новые клоны. И я имею в виду локальные последние коммиты, а не удаленные! Загрузка их в удаленное репо также является проблемой.

El Pollo Loco 03.05.2022 15:53

Да, именно для этого вы бы использовали рабочие деревья. Вместо того, чтобы делать несколько клонов. Я не уверен, что вы подразумеваете под «реализацией этого потребует дополнительной работы» - он уже реализован Git, вы можете просто использовать его.

mkrieger1 03.05.2022 16:09

Я уже дважды клонировал и делал длинную сборку для каждого из них. Есть ли способ «интегрировать» 2 клона в одно рабочее дерево?

El Pollo Loco 03.05.2022 16:10
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
4
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В долгосрочной перспективе вы хотите использовать рабочие деревья git.

Чтобы исправить вашу текущую ситуацию, вы можете выбрать между репозиториями, создав пульты из ваших локальных каталогов.

Добавив еще один локальный репозиторий в качестве удаленного и выполнив git fetch, вы можете выбрать любую фиксацию, которую хотите, из этого репо, используя только SHA.

Например, если вы хотите выбрать фиксацию из old_clone с SHA, начинающимся с e9bee1bc:

cd /projects/new_clone
git remote add old_clone /projects/old_clone
git fetch old_clone
git cherry-pick e9bee1bc

Вы также можете использовать аналогичную стратегию для преобразования нескольких клонированных пультов в рабочие деревья. Например, если вы хотите создать рабочее дерево из исходного проекта и добавить локальную копию branch1 из new_clone в новое рабочее дерево:

cd /projects/original
git worktree add /projects/worktree_1
cd /projects/worktree_1
git remote add new_clone /projects/new_clone
git fetch new_clone
git switch -c branch1 new_clone/branch1

Спасибо за помощь! Я воспользовался вашим подходом и по пути превратил себя в рабочее дерево! Когда у меня будет больше репутации, я поддержу ваше решение :)

El Pollo Loco 04.05.2022 14:49

Другие вопросы по теме