git pull and git merge will stop without doing anything when local uncommitted changes overlap with files that git pull/_git merge_may need to update.
To avoid recording unrelated changes in the merge commit, git pull and git merge will also abort if there are any changes registered in the index relative to the HEAD commit.
(Special narrow exceptions to this rule may exist depending on which merge strategy is in use, but generally, the index must match HEAD.)
If all named commits are already ancestors of HEAD, git merge will exit early with the message “Already up to date.”
Fast-forward merge:
Often the current branch head is an ancestor of the named commit.
This is the most common case especially when invoked from git pull: you are tracking an upstream repository, you have committed no local changes, and now you want to update to a newer upstream revision.
In this case, a new commit is not needed to store the combined history;
instead, the HEAD (along with the index) is updated to point at the named commit, without creating an extra merge commit.
This behavior can be suppressed with the --no-ff option.
True merge
Merging tags
How conflicts are represented:
How to resolve conflicts:
Merge strategies:
Configuration
Synaptic Bot
Q&A with Synaptic Vault Documents
Hello, this is Synaptic Bot here. How can I help you?