Git is a free version control system designed for both small and large projects.
Whenever I am working on a project with other developers I find that I need to rebase
my feature branch with the common branch the rest of the team is using. This branch
is usually called
$ git fetch
To make sure I have the latest branches I run a
fetch to update all my local branches.
$ git rebase -i origin/dev my_branch
Rebase can work on
local branches as well as
remote branches. In the above example
I rebased my branch on the
remote version of
-i flag stands for interactive. This allows me to check the commits that I
am rebasing onto the dev branch.
$ git reset HEAD
This command will reset my current branch to whatever the latest commit is. This is a great way to clean up a branch and start from where you last committed.
$ git reset HEAD~
~ (tilde) character next to
HEAD tells git to go back 1 commit. I use this
command to remove bad commits. Resetting the commit will unstage the files from
the previous commit.
git branch -d my_branch
This will delete the branch named
my_branch, only if the branch has been merged.
git branch -D my_branch
This will delete the branch even if the branch has not been merged.
git branch --list
Lists out all the branches that are local to your machine.
git branch -D $(git branch --list hot*)
This deletes all branches prefixed with hot