We decided to use GIT in our company but now got a problem.. We have several branches with different features. Now what we need is to merge that branches and push it to Mast
One way to do this would be to checkout the master branch. In separate repositories, checkout the minor and major branch files. Copy in the minor files and then the major files, so that the major files overwrite the minor files. Then commit the result.
The file copy will even simply allow you to decide on a case by case basis (if necessary) whether you really want the major file to overwrite the minor file or not, and a good file copy program will give you dates and filesizes of the files and possibly previews too, to help you make an informed decision.
This might not be the best way of doing things for your particular case. Just treat it as an extra tool in your toolbox. Of course, if merging is what you want to do, rather than just overwriting, then git is still the tool to use, helped along with a mergetool such as kdiff3.