2016-03-21 3 views
1

У меня есть ветвь dev и главная ветка. Мы делаем разработку на ветке dev до даты выпуска. В день выпуска мы переустанавливаем все изменения в ветке dev «commit-by-commit» для управления ветвью и объединения их. Таким образом, мы сохраняем историю коммитов на главной ветви.Git: отметьте два коммита на двух ветвях, так же, хотя история совершений на двух разных

В прошлом (PROBABLE REASON), когда я забыл сделать это commit-by-commit и нажал несколько коммитов (например, A, B, C) на dev как единую фиксацию для управления (A ').

Теперь, каждый раз, когда я выполняю указанную деятельность в параграфе 1, он находит A 'как отличающийся и пытается переустановить соответствующие коммиты A, B, C для освоения.

Я хочу преодолеть это, указав git - то, что содержимое репо, указанное в ветке C на dev, такое же, как указано A 'на master. ИЛИ - это содержимое репо, указанное J веткой dev, такое же, как указано в J на ​​master. С этим я надеюсь, что инструмент будет выбирать только новые коммиты.

Есть ли способ?

dev : /A-B-C =D-E-F=G-H-I-J master: Z-Y- A'=D-E-F=G-H-I-J

= указывает на слияние от разработчика к основной отрасли для выпуска /DEV указывает время разветвленная

+0

«Я когда-то забыл это сделать» - почему бы просто не повторить слияние снова? – Dummy00001

ответ

0
git checkout dev 
git checkout -b temp-dev [SHA for C] 
git checkout master 
git checkout -b temp-master [SHA for Y] 
git rebase temp-dev 
git branch -D master 
git branch -D temp-dev 
git branch -m temp-master master 
git tag [your previous release] 

... do the same for F ... 

git rebase dev 
git tag [your new release] 

Если я вас правильно понимаю, что-то вроде этого, может быть?

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