Git merge branch into master
GitGit BranchGit MergeGit 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?
- Checkout branch_1
- Rebase master changes into branch_1
- Fix any errors that might have occured after testing your code
- Checkout master
- 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