Nano Hash - криптовалюты, майнинг, программирование

github слить ветку rebase без конфликтов

У меня есть две родственные ветки (из главной ветки), в которых я сталкиваюсь с конфликтами при объединении обеих ветвей с главной веткой. Я должен объединить их с разрешением конфликтов (или коммитом исправления конфликта слияния).

главная фиксация 1. коммиты init ветки 1: 1. init (унаследованы от мастера) 2. коммиты commit1 ветки 2: 1. init (унаследованы от мастера) 2. commit2

когда я использую git merge branch1 в главной ветке. он работает нормально, но потом, когда я запускаю git merge branch2, у меня возникают конфликты. Мне нужна помощь в использовании git rebase для объединения branch2 с мастером без добавления дополнительных коммитов.


  • Вы должны исправить конфликт во время слияния, а затем зафиксировать слияние, будет только одна фиксация слияния. Почему вы хотите перебазировать? Кстати у вас будет такой же конфликт исправлять 01.09.2020
  • @Ôrel, это сложная задача, поэтому мне нужно сделать это, не добавляя фиксацию слияния. 01.09.2020

Ответы:


1
                   o---o---o  branch1   
                  /
 o---o---o---o---o---o---o  master
                  \
                   o---o---o---o---o  branch2

Из главной ветки сначала слейте ветку 1:

git merge branch1
                   o---o---o  branch1   
                  /         \
 o---o---o---o---o---o---o---o  master
                  \
                   o---o---o---o---o  branch2

Затем перебазируйте ветку2 на мастере:

git rebase master branch2

У вас возникнет конфликт:

First, rewinding head to replay your work on top of it...
Applying: branch2
Using index info to reconstruct a base tree...
M   fileXXX
Falling back to patching base and 3-way merge...
CONFLICT (content): Merge conflict in fileXXX

Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".

Отредактируйте каждый файл конфликта, чтобы исправить конфликт, а затем

git add fileXXX

А также

git rebase --continue

Теперь у вас есть перебазирование ветки 2 на мастер

                   o---o---o  branch1   
                  /         \
 o---o---o---o---o---o---o---o  master
                              \
                               o'--o'--o'--o'--o'  branch2

Теперь объедините ветку 2 с мастером.

git checkout master
git merge branch2
                   o---o---o  branch1   
                  /         \
 o---o---o---o---o---o---o---o---o'--o'--o'--o'--o'  master                               
01.09.2020
  • Большое спасибо. это сделано! Я даже не знаю, как упомянуть вас в комментарии. в любом случае спасибо. 02.09.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..