English ▾
Localized versions of api-merge manual
Topics ▾
Email
Latest version
▾
api-merge last updated in 2.42.0
Changes in the api-merge manual
Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.42.1 → 2.46.2 no changes
- 2.42.0 08/21/23
- 2.25.1 → 2.41.2 no changes
- 2.25.0 no changes
- 2.1.4 → 2.24.4 no changes
- 2.0.5 12/17/14
The merge API helps a program to reconcile two competing sets of improvements to some files (e.g., unregistered changes from the work tree versus changes involved in switching to a new branch), reporting conflicts if found. The library called through this API is responsible for a few things.
-
determining which trees to merge (recursive ancestor consolidation);
-
lining up corresponding files in the trees to be merged (rename detection, subtree shifting), reporting edge cases like add/add and rename/rename conflicts to the user;
-
performing a three-way merge of corresponding files, taking path-specific merge drivers (specified in
.gitattributes
) into account.