2015-02-02 4 views
0

У меня есть два репозитория, которые отличаются от одной кодовой базы. Один является репозиторием staging, а другой - dev.Git слияние двух однородных репозиториев

Я искал онлайн решения для этого, но ответы, которые я получаю, основаны на объединении разрозненных частей одного приложения либо в качестве подмодуля, либо в другом.

Я попытался создать две ветви в новом репозитории и скопировать код через и зафиксировать соответственно. Однако, когда я пытаюсь объединить две ветви, он просто сообщает мне, что все уже обновлено.

Может ли кто-нибудь указать мне правильное направление?

+0

звучит похоже, что хранилища одинаковы, и нет ничего, чтобы слиться. У SHA коммитов в филиалах, которые вы пытаетесь объединить, отличаются? –

+0

Да, они отличаются, есть дополнения к базе промежуточного кода. – user1658296

ответ

0

Предполагая, что вы объединяете dev/branch1 в staging/branch2, вы могли бы сделать:

а) git log dev/branch1 --not staging/branch2 проверить, что будет идти от branch1. Из того, что вы говорите, должно быть пусто.

b) git log --not dev/branch1 staging/branch2 должен показать вам дополнения к постановке.

Когда вы

git checkout dev/branch1 
git merge staging/branch2 

ваши должны быть быстро переданы staging/branch2 в случае, если не было никаких дополнительных фиксаций в dev/branch1 (стадии а). На этом этапе вы можете нажать HEAD на разработку: git push dev HEAD:branch1

NB: Я не использовал бы местные ветви, чтобы избежать путаницы.

Технически, когда а) дает пустой вывод, вы можете избежать слияния шаг ALLtogether:

git push dev staging/branch1:branch2 

в случае, если вы пропустили что-то толчок будет отвергнут, до тех пор, пока вы не принуждать его с -f флагом ,

+0

Хорошо спасибо. Теперь я пытаюсь использовать вишневые кирки. – user1658296

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