Git merge branch into master

GitGit BranchGit Merge

Git Problem Overview


I have a master branch and a working branch_1. I want to 'move' branch_1 exactly as it is to master. So I want something like this:

git checkout master
git merge branch_1 # I don't know what is correct...

Things which I did but I got loads of files messed up with annoying conflicts. So now master contains exactly the same files of branch_1 avoiding any conflicts, just overwriting files. Any help?

Git Solutions


Solution 1 - Git

Conflicts are going to happen if both branches have changes to the files. This is a good thing. Keeping your branches up-to-date with each other will prevent some of them . However over all, conflicts are not bad. The rebase option can also prevent many of them from happening.

git merge branch_1

If you are on master, merging will bring the changes as you expect.

http://www.kernel.org/pub/software/scm/git/docs/git-merge.html

You could also

git rebase branch_1

This will take the changes from branch_1 and append them to master without a merge commit.

http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html

Solution 2 - Git

Maybe you should not merge?

  1. Checkout branch_1
  2. Rebase master changes into branch_1
  3. Fix any errors that might have occured after testing your code
  4. Checkout master
  5. Rebase branch_1 changes into master

or in code:

git checkout branch_1
git rebase master
(...)
git checkout master
git rebase branch_1

This also gives you the opportunity to squash several commits into one, if you want to make your changesets more dense, and prevents these annoying merge-commits in your history.

Solution 3 - Git

I took this code from thenetninja youtube channel and it works for me.

on non master branch

  git add .
  git commit -m "msg"
  git checkout master

on master branch

  git merge <non master branch name>
  # fix any conflicts and try to run the software to test any error
  git add .
  # commit w/o any msg, as follows
  git commit
  git push -u origin master

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTrt TrtView Question on Stackoverflow
Solution 1 - GitSchleisView Answer on Stackoverflow
Solution 2 - GitsjasView Answer on Stackoverflow
Solution 3 - Gitshahul01View Answer on Stackoverflow