git объединяет последние коммиты с мастера обратно в ветку

В моем репозитории у меня есть ветка с именем «UI-Enhancements». Эта ветвь началась с основной ветки после проверки 25/02/2015. См. схему проверки ниже.

введите здесь описание изображения

С момента ветвления кода 25/02/2015 я сделал несколько проверок и пушей в своей главной ветке. См. проверки в моей основной ветке ниже и обратите внимание на время.

введите здесь описание изображения

Прежде чем продолжить работу в моей ветке UI-Enhancements, я хотел бы объединить все мои последние коммиты в моей основной ветке с моей веткой UI-Enhancements.

Я использую черепаховый git в качестве своего клиента. Я не уверен, как это сделать. Я попытался перейти в свою ветку UI-Enhancements и выбрал синхронизацию git с моей локальной веткой в ​​качестве UI-Enhancements и моей удаленной веткой в ​​качестве главной, но я не думаю, что это правильный способ сделать это, потому что я получаю следующую ошибку ...

введите здесь описание изображения

Я попытался перейти в свою ветку UI-Enhancements и извлечь из основной ветки, но там просто написано, что все обновлено.

Может кто-нибудь помочь мне с тем, что мне нужно сделать, пожалуйста? Пожалуйста, попробуйте сделать ответы специфичными для TortoiseGit, так как это клиент, который я использую. К вашему сведению, я использую версию TortoiseGit 1.8.11.0.


person Richie    schedule 19.03.2015    source источник


Ответы (2)


Не знаю, как это сделать в TortoiseGit, но командная строка очень проста:

git checkout 1.0.0-UI-ENHANCEMENTS
git rebase master

Это позволит проверить текущую ветку master и воспроизвести все ваши коммиты, сделанные в 1.0.0-UI-ENHANCEMENTS, поверх текущего состояния ветки master.

Обратите внимание, что после rebase вам нужно git push -f origin 1.0.0-UI-ENHANCEMENTS из-за процесса перебазирования.

Подробнее о перебазировании читайте в книге по git и в документы.

person eckes    schedule 19.03.2015
comment
Я бы также рекомендовал перебазировать, если только другие люди не работают с 1.0.0-UI-ENHANCEMENTS. - person jcm; 19.03.2015
comment
@jcm: Да, абсолютно. Я уверен, что читал аргументацию десятки раз (и я это знаю и понимаю), но не могу найти ссылку, которая подробно объясняет, почему. Было бы неплохо иметь где-нибудь ресурс, который можно было бы связать как отказ от ответственности при принудительном нажатии на общие репозитории... - person eckes; 19.03.2015
comment
Спасибо, парни. У меня есть git bash, поэтому я могу попробовать это. К счастью, коммиты, которые я буду объединять из master обратно в ветку UI-Enhancements, не конфликтуют, но что, если бы они были? Как эта команда решит разрешить конфликты? - person Richie; 19.03.2015
comment
@Richie: Если есть какие-либо конфликты, которые не могут быть разрешены автоматически, перебазирование остановится на этом коммите, и вам придется разрешать конфликты вручную, как вы обычно это делаете. - person eckes; 19.03.2015

Предыдущий ответ на этот вопрос был принят как ответ на этот вопрос, и это был правильный ответ. Для черепахового перевода git вот как вы можете сделать то, что было описано в принятом ответе.

Вот как проверить...

введите здесь описание изображения

Вот как выполнить перебазирование из удаленной основной ветки. введите здесь описание изображения

person Richie    schedule 20.03.2015