Git - Merge vs rebase

I have had a look at git rebase vs git merge But I'd like to be sure about which solution to choose in this case : I want to implement a new feature on Master so i branch it to a new Feature branch. I do 10 commits on Feature while someone else does other commits on Master.

My question is, if I want to keep my branch apart from Master for testing purposes, but I need to test it with the new Master commits integrated. So, should I merge Master into Feature (and not Feature into Master which would apply my modifications on master before my testing) or do a rebase ?


Why not create a new branch to test the merged version? For example:

git checkout -b test-merged-feature master
git merge my-feature
[... do your testing ..]

There's no particularly reason to do a rebase here, but if you haven't already pushed your feature branch, that'd be fine as well. These questions are partly about how you would want your history to look - some people don't like seeing lots of merges; some prefer it as a way of keeping track of which commits contributed to a particular feature.

Unless you have already pushed your branch (and you know others have cloned your repo), I would still do a rebase, as I mentioned in my own answer of "git rebase vs git merge".

Test or not, I usually do a rebase each time I update my local repo (git fetch), in order to ensure the final merge (Feature to master) will be a fast-forward one.

So it isn't just about how your history look, but it is mainly about making sure what you are developing isn't based on an old version of master, and keep working against the latest evolutions done in master over time.

In workflows I'm familiar with, there is a trunk, and integration branch(s), and feature branches

I have been rebaseing towards the 'derivative' branches. (by derivative branches, I mean the direction AWAY from the trunk), and merging towards the integration branches.

I like that I'm always working in a branch that has the same history as the branch I'll be integrating with. I like that the merge becomes a fast-forward, so, I know that what I just merged is exactly the same as what I just tested in my branch.

Need Your Help

How to login with Google OAuth2 using Angularjs inside Phonegap using ClientID and ClientSecret

android angularjs cordova google-oauth

I am trying to login from my Phonegap App using Angularjs (using the Ionic Framework) through Google OAuth2. Currently I am using the

Parsing FORTRAN output files using Java

java fortran

Are there any Open Source Java tools for parsing FORTRAN output? I'd like to be able to write something like

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.