#git
#git
Вопрос:
Я сделал пару коммитов в «somedir» и постоянно перебазировался во время работы — моя история линейна. Теперь я хотел бы, чтобы я не выполнял свою работу в «somedir», а в отдельной копии. Могу ли я воспроизвести свои коммиты в «anotherdir», который является идентичной копией «somedir»? (Мои коммиты находятся в локальной ветке темы, но это не важно для вопроса.)
Комментарии:
1. Почему у вас есть две копии одного и того же каталога в репозитории? Вероятно, это плохая идея. Может быть, вы могли бы вместо этого использовать подмодуль?
2. Если это два каталога в одном репозитории, почему бы вам просто не поменять местами их имена?
git mv somedir tmp amp;amp; git mv anotherdir somedir amp;amp; git mv tmp anotherdir
3. @svick Они представляют два варианта одной и той же игры, которые в будущем будут расходиться и будут иметь разные функции.
4. @Andrew Это умная идея! К сожалению, там уже есть некоторые коммиты (не мешающие моим коммит). Кроме того, я бы не хотел загрязнять историю подкачкой.
5. @ngn, тогда я думаю, что они не должны находиться в одном репозитории. Они должны быть либо в каждом отдельном репозитории, либо в разных ветвях одного и того же репозитория.
Ответ №1:
Вы можете добавить anotherdir
в качестве удаленного из somedir
и нажать свои изменения.
В somedir
предположении, что вызывается ветка с вашими изменениями current
:
git remote add anotherdir /path/to/anotherdir
git push anotherdir current
Затем anotherdir
вы можете проверить ветку current
.
Комментарии:
1. Это сработало бы, если
somedir
бы иanotherdir
были репозиториями. Я предполагал, что они являются частью одного и того же репозитория. Но из вопроса не ясно, так что я могу ошибаться.2. Ах да, я думаю, что, возможно, я неправильно понял.
3. Да, они находятся в одном репозитории. В любом случае спасибо.