Wiki Mint SystemWiki Mint System
Home
Glossary
Mint System
Chat
GitHub
Home
Glossary
Mint System
Chat
GitHub
  • Git - Rebase

    • Resolve rebase conflicts

Git - Rebase

Resolve rebase conflicts

Here is a common scenario when rebasing a branch from the main branch causes a conflict:

➜  sozialinfo git:(DEV-466-advert) ✗ git rebase 16.0
Auto-merging job_portal_exporter/static/description/index.html
CONFLICT (content): Merge conflict in job_portal_exporter/static/description/index.html
error: could not apply 6af8cb6... feat: init advert base module
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 6af8cb6... feat: init advert base module

In this case the commit 6af8cb6 could not be applied to the branch, because the file index.html has been update in both branches.

Running git diff gives us more details about the conflict. Git tries to combine the conflicted files and separates the conflicting lines with markers. A merge editor can help resolving the conflict:

After resolving the conflict you run git rebase --continue. You are prompted to confirm the commit. Git will update the commit with resolved file.

Next is a more complex conlfict.

➜  sozialinfo git:(77a2e96) ✗ git rebase --continue
[detached HEAD 5b5ed65] feat: init advert base module
 99 files changed, 1230 insertions(+), 1964 deletions(-)
 create mode 100644 advert_base/LICENSE
 create mode 100644 advert_base/README.rst
 create mode 100644 advert_base/__init__.py
 create mode 100644 advert_base/__manifest__.py
 create mode 100644 advert_base/demo/demo.xml
 create mode 100644 advert_base/images/screen.png
 create mode 100644 advert_base/models/__init__.py
 create mode 100644 advert_base/models/advert_order.py
 create mode 100644 advert_base/models/crm_lead.py
 create mode 100644 advert_base/models/product_template.py
 create mode 100644 advert_base/security/ir.model.access.csv
 create mode 100644 advert_base/security/security.xml
 create mode 100644 advert_base/static/description/icon.png
 create mode 100644 advert_base/static/description/index.html
 create mode 100644 advert_base/views/advert_order_views.xml
 create mode 100644 advert_base/views/crm_lead_views.xml
 rewrite fastapi_legal_advice/static/description/index.html (99%)
 rewrite job_portal_base/static/description/index.html (99%)
 rewrite legal_advice_sale/static/description/index.html (99%)
Auto-merging education_meilisearch/models/education_advanced_training.py
Auto-merging education_meilisearch/models/education_professional_event.py
CONFLICT (content): Merge conflict in education_meilisearch/models/education_professional_event.py
Auto-merging job_portal_meilisearch/models/job_portal_joboffer.py
Auto-merging legal_advice_meilisearch/models/request.py
error: could not apply 65775af... feat: use convert datetime from mixin
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 65775af... feat: use convert datetime from mixin

Two conflicts could be resolved automatically. The file education_professional_event.py has a conflict that needs to be resolved.

We selected Accept Incoming Change which is the change you made in the branch. When trying to continue the rebase the following message might show up:

➜  sozialinfo git:(03c8a41) ✗ git rebase --continue
education_meilisearch/models/education_professional_event.py: needs merge
You must edit all merge conflicts and then
mark them as resolved using git add

When resolving conflicts you have to add the files git add .. You should be greeted by this message once the rebase has finished:

➜  sozialinfo git:(03c8a41) ✗ git rebase --continue
[detached HEAD 7ab738a] feat: use convert datetime from mixin
 4 files changed, 13 insertions(+), 62 deletions(-)
Successfully rebased and updated refs/heads/DEV-466-advert.

Make sure to push the changes with git push -f. After a rebase the local git history is different from the remote history.

Backlinks:

🔗 Git

📝 Edit on GitHub

This page is maintained by Mint System GmbH