Posted By: Anonymous
I have two branches namely
development in a GitHub Repository. I am doing all my development in development branch as shown.
git branch development git add * git commit -m "My initial commit message" git push -u origin development
Now I want to merge all the changes on the
development branch into the
master. My current approach is:
git checkout master git merge development git push -u origin master
Please let me know if the procedure I am following is correct.
I generally like to merge
master into the
development first so that if there are any conflicts, I can resolve in the
development branch itself and my
master remains clean.
(on branch development)$ git merge master (resolve any merge conflicts if there are any) git checkout master git merge development (there won't be any conflicts now)
There isn’t much of a difference in the two approaches, but I have noticed sometimes that I don’t want to merge the branch into
master yet, after merging them, or that there is still more work to be done before these can be merged, so I tend to leave
master untouched until final stuff.
EDIT: From comments
If you want to keep track of who did the merge and when, you can use
--no-ff flag while merging to do so. This is generally useful only when merging
development into the
master (last step), because you might need to merge
development (first step) multiple times in your workflow, and creating a commit node for these might not be very useful.
git merge --no-ff development