2015-01-06 2 views
0

Я клонировал хранилище git и начал совершать новую ветку в новой репутации. Теперь я хочу перенести эти изменения в исходный реп, но не сливаясь с исходной ветвью. Как я могу это сделать?Git: Как вытащить новую отдельную ветку, не сливаясь?

Вот что я пытался, более подробно: У меня есть хранилище А, с ответвлением а, и клонирует его в повторении В. Затем я создал новую ветвь, а в повторении В. Я сделал несколько коммитов в оба A (a) и B (b), включая изменение «одного» файла в обеих ветвях и удаление некоторых файлов. Теперь я хочу поместить все в один репозиторий, но сохраняйте ветви a, b отдельно (не объединять их). Т.е. когда я проверяю ветку a, я хочу видеть файлы, которые были в A (a), , и когда я проверяю ветку b, я хочу видеть файлы, которые были в B (b).

Вот что работало: В Rep B, Checkout ветвь а и тянуть ветку а из повторении А. затем выбросить респ A и продолжать работать с повторениями B, который имеет все коммиты из обоего ветвей.

Как я мог достичь такого же результата, потянув rep B в rep A? Проблема в том, что rep A не имеет ветви b. Когда я попробовал следующее, я сливаться конфликтами: В повторении A:

git checkout -b b 
git pull B b 

результат: КОНФЛИКТА (содержание): Объединить конфликт х КОНФЛИКТА (изменить/удалить): удаленные в 98e40aa69e149bfc315705a3661232389104fcc5 и модифицированный в HEAD. Версия HEAD слева в дереве. Ошибка автоматического слияния; исправить конфликты и затем зафиксировать результат.

Содержание следующим образом: В ветви а, я внес изменения в файлах а, х В ветке б я удалил файл с, и внес изменения в файлы б, х

+0

После еще несколько тестов, я выяснил, что я могу вытащить недостающую ветку без конфликтов, если я создаю ветвь с тем же фиксацией, что и в репо B. Итак: используйте git log --oneline - decorate ", чтобы найти, какая фиксация была используется для создания креа te branch b. Затем проверьте эту фиксацию в repoA и ветке b там. Затем вытащите repoB без конфликтов. Я просто ожидал, что git будет дублировать ветку в нужном месте для меня. Урок для меня: когда я хочу начать работу над новой веткой в ​​клонированном репозитории, создайте новую ветвь перед клоном. Это облегчает перенос новой ветви. – user13097

ответ

0

Почему вы не выберите ветку из своего нового репо и проверьте ее другим именем!

Шаги: (После того, как вы толкнул в RepoA и б к RepoB)

В репо В:

  1. мерзавец выборки repoA в
  2. GIT проверку -bab
+0

Я не хочу изменять репо B. Я уже знаю, как это сделать. Я хочу изменить репо А. – user13097

Смежные вопросы