As you probably are already aware, Magit for Emacs is Git magic. Magit works inside of your Emacs buffer to bring all of the power of Git to you without ever having to leave Emacs. In this article, you will learn how to do a Git branch and merge your branches in Magit.
If you are not familiar with the Git branching process in standard operation, you should check out our full guide on the basics of Git branches.
- Using Git Commands In Magit
- Creating a New Branch
- Checkout to the New Branch
- Merge The New Branch With Master
Branching in Git is incredibly powerful and flexible. You can create as many branches as you want. You can iterate on your files, completely change anything you want in the project without affecting any other branches or the project itself. You can leave your changes in your separate branch forever, or you can “merge” or “rebase” your changes onto the master branch.
Using Git Commands In Magit
Many of the commands you would run in Git, whether on command line or in a Git GUI application, are available at the click of a key command in Magit.
In this case, we will be using the branching actions, which are bound to the
Creating a New Git Branch
A branch is basically a divergent path from another reference point in your Git project history. This means you are not always required to branch from wherever the branch is pointing. You can branch from wherever the
HEAD reference marker is pointing, which is most often aimed at master — but not necessarily so. You can also branch from other branches.
But for the sake of simplicity, in this tutorial we will create a new branch from the master branch.
First, create your new branch. From with the project working directory, launch Magit with
C-x g. Press the
b key to open the branch options. Press
c to create a new branch.
Checkout to the New Branch
Now that you have created and named your new branch, you will notice that you are still on the master branch. To checkout your new branch, you will use the
b key to open branching options and press
b again to select the branch you want to checkout.
Merge The New Branch With Master
You have a few different options when it comes to merging the divergent branch into master. But before merging, remember to checkout the branch you want to merge your divergent branch into. For example, if you want to merge the divergent branch into master then first checkout master before attempting a merge.
m key to open your merging options. Here are the merging options:
mA basic merge will bring all changes and commits on the divergent branch into master.
eCreates a commit for the merge but allows you to edit the message.
nMerge content but don’t create a commit.
aAbsorb the branch, brings in all changes and commits and deletes the divergent branch. A nice way to keep everything clean.
In most cases, the
m option for a basic merge that brings in all the commits and history of the other branch is probably what you want, but you should test out all of them and see which one works best for your workflow.
If you don’t need cPanel, don't pay for it. Only pay for what you need with our Cloud VPS solutions.
CentOS, Debian, or Ubuntu No bloatware SSH Key management made easy