

If you're collaborating with others in the same branch, you might see merge conflicts when you push your changes. Rebased branches will merge into your main branch without conflicts. If your branch is far behind your main branch, consider rebasing your branches before you open a pull request. Git is good at automatically merging file changes in most circumstances, as long as the file contents don't change dramatically between commits. You can resolve these conflicts in the same way: create a commit on your local branch to reconcile the changes, and then complete the merge. The most common merge conflict scenario occurs when you pull updates from a remote branch to your local branch (for example, from origin/bugfix into your local bugfix branch). Resolve this conflict with a merge commit in the main branch that reconciles the conflicting changes between the two branches. You might want to keep the changes in the main branch, the bugfix branch, or some combination of the two.

If you try to merge the bugfix branch into main, Git can't determine which changes to use in the merged version. In this example, the main branch and the bugfix branch make updates to the same lines of source code. The following image shows a basic example of how changes conflict in Git.

When it isn't clear how to merge changes, Git halts the merge and tells you which files conflict. Git attempts to resolve these changes by using the history in your repo to determine what the merged files should look like. When you merge one branch into another, file changes from commits in one branch can conflict with the changes in the other.

Applies to: Visual Studio Visual Studio for Mac Visual Studio Code
