2015-09-26 3 views
2

У меня есть проект, который работает на GitHub. Локально я использую Perforce и git p4 для толкания коммитов к GitHub. Недавно я объединил запрос на pull, но я не могу на всю жизнь понять, как слить его из моего git-репо в рабочее пространство Perforce. Очевидно, я мог бы просто захватить файлы из git repo и перенести их вручную в мое рабочее пространство, правда, этот проект очень мал, и это не проблема, но если я работаю над более крупным проектом, я бы хотел знайте, как это сделать лучше.Git p4 merge pull request

My git repo хорошо слияние, но после попытки git p4 sync, submit и commit ничего не перемещает файлы из репо в мое рабочее пространство. git p4 rebase, кажется, идет только из рабочего пространства в репо, а не наоборот.

Кто-нибудь знает правильный рабочий процесс для этого?

ответ

2

Вы должны перебазироваться вашим GitHub репо, чтобы иметь линейную историю (с использованием git rebase, не git p4 rebase), прежде чем вы можете скопировать фиксации на ваш Perforce рабочего пространства.

Из Git-p4 documentation (курсив мой):

Устранение конфликтов слияния Во время представления

история Git может содержать слияние. Git-p4 не может скопировать слияние в Perforce. Вы должны переустанавливать или переписывать историю Git, чтобы быть линейной, прежде чем Git-p4 сможет скопировать ее в Perforce.

И немного дальше вниз на странице:

Git-p4 не может скопировать разветвленную или слиты историю Git для Perforce. Когда [функция] завершена, они добавят эту функцию в ветвь мастера не путем слияния, а путем воссоздания ветви совершают над верхней ветвью ... Подробнее см. «Git rebase».

Если ветви нельзя переустановить в одну линейную историю, удалите их из истории.

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