git merge-база не изменилась после перебазирования

#git

#git

Вопрос:

3 недели назад коллега исправил проблему в prod, выполнив привязку к мастеру без предварительной привязки к dev (а затем слияния dev на master).

Ну, я не уверен, что именно произошло, но с этой даты есть проблема.

 > git merge-base dev master
aaabbb
  

когда я git log для aaabbb, он датируется 16 сентября. Поэтому я хотел перебазироваться (впервые в жизни, хотя я использую git merge ежедневно).

Я сделал

 > git rebase --onto master dev
// fixed a few conflicts
> git pull
> git push
> git merge-base dev master
aaabbb
  

Почему моя перебазировка не работает? Я не получил никакого предупреждения от git. Спасибо!

Комментарии:

1. В какой ветке вы были, когда запускали git rebase --onto master dev ? dev Аргументом здесь является <upstream> , поэтому, на какой бы ветке вы тогда ни находились, это та, которую вы перебазировали (ограничивая копии коммит, которые были на этой ветке, но не на dev ).

2. @torek, на котором я был dev . не могли бы вы перефразировать «итак, на какой бы ветке вы ни находились, вы ее перебазировали»? Я не понимаю эту часть

3. Если бы вы были на ветке feature , вы бы перебазировались feature , и это сразу объяснило бы, почему git merge-base dev master изменений не было. Если вы были включены dev , то неясно, что здесь произошло. Однако, git pull вероятно, ваш старый файл будет объединен dev с вашим новым dev , что, вероятно, тоже нехорошо. Между тем, добавление выходных данных из git log --graph --oneline --decorate --all может помочь выяснить, как обстоят дела сейчас.

4. спасибо, но вижу это слишком поздно. Я, наконец, удалил нашу ветку разработчика и создал новую из master.

Ответ №1:

rebase закончилось катастрофой. Я, наконец, в конечном итоге удалил свою dev ветку и вырезал новую master .

И это только что произошло снова. Что хорошо сработало, так это слияние master dev и dev master повторное слияние.