Git: getting changes from another branch

I have a project which uses git and I'd like to start a new branch to add a major new feature.

Under the main branch, I'll continue to add bug fixes and minor features. At regular intervals I'd like to pull the changes from the main branch into my "major new feature" branch. What's the best way to do this?

Eventually, I'll merge the "major new feature" branch into the main branch.


Solution 1:

git checkout featurebranch && git rebase master

As long as you haven't pushed yet, it is better to replay your changes on top of master.

See:

  • git rebase vs. merge
  • git workflow and rebase vs merge questions

Solution 2:

git checkout featurebranch && git merge master

You can do this as many times as you like; it won't affect master and you will be able to easily do it the other way around whenever you find out you are done with the feature branch.