Ребаза постановки на мастер. Вы будете иметь это:
|
master - o
|
x
|
x - staging
Вы хотите:
|
o
|
x
|
master - x - staging
Там только одна операция, которую нужно сделать. Задайте мастер, чтобы указать на то же самое, что и в пунктах постановки. Существует множество способов установить мастер для указания того же фиксации, что и постановка; вот один из них:
git checkout master
git reset staging
Простая тяга также должна быть эквивалентной. Поскольку мастер является предком постановки, сливаясь постановка будет быстро вперед, если вы не настроили --no-ff
где-то, что мы можем обнаружить с --ff-only
:
git checkout master
git pull --ff-only staging
Edit: если есть совершает вы не хотите добавить обратно в мастера, сделать новую ветвь, а затем использовать перебазироваться -i, чтобы сохранить только коммиты, которые должны вернуться в мастер, как это:
git checkout staging
git checkout -b mypics
Уступая
|
master - o
|
y
|
mypics - x - staging
перебазирования mypics, опустившись у, создавая х ':
git rebase -i master
# Drop the lines with commits you don't want to send back to master.
|
master - o
| \
y x' - mypics
|
x - staging
Затем установите мастер, чтобы указать на то же самое, как совершить mypics, используя сбросить или тянуть, как описано выше. Затем снимите мыло:
git checkout master
git reset mypics
git branch -D mypics
Вы попробовали переустановить мастера на стадии постановки? 'git checkout master'' git rebase staging' – Aiias
Это может быть беспорядок ... Если есть только несколько конкретных изменений, вы можете попробовать использовать вишню в мастер. – Iguananaut