Git: Конвергенция веток в один объект коммита - PullRequest
1 голос
/ 30 ноября 2010

Скажем, у меня в git сейчас есть следующее:

master
  O
  |
  o  <-- commit objects on master branch
  |   
  o -- O  <-- new branch: featureX
       |
       o  <-- commit objects on the featureX
       |
       o

Итак, я начал с ветки master и после двух коммитов я разветвился до featureX.

Теперь, после 2 коммитов на featureX, я хочу сблизить его с master и продолжить работу на master с последнего коммита на featureX.

Это означает, что я не хочу объединять файлы между master и featureX, но переношу все коммиты, сделанные на featureX на master, и продолжу работать на master с последнего коммита, который сделано на featureX.

По сути, что-то вроде этого:

master
  O
  |
  o  <-- commit objects on master branch
  |   
  o -- O  <-- new branch: featureX
       |
       o  <-- commit objects on the featureX
       |
  o -- o  <-- move everything back to master
  |
  o  <--continue working on master

Какие шаги мне нужно выполнить для этого?

Обратите внимание, что я не хочу объединять какие-либо файлы ... просто перезаписать материал на master. Вы также можете предположить, что на master не было выполнено никакой работы во время работы на featureX.

1 Ответ

4 голосов
/ 30 ноября 2010

Если с мастерством ветвления для featureX не было выполнено никакой другой работы:

git checkout master
git merge featureX

Это будет «быстрое слияние», которое должно делать то, что вы хотите. После вышесказанного вы можете:

git branch -d featureX

чтобы удалить старую ветку.

...