Git
Git is a free version control system designed for both small and large projects.
Tips
Rebase
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 dev
or ci
.
$ 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 dev
.
The -i
flag stands for interactive. This allows me to check the commits that I
am rebasing onto the dev branch.
Reset
HEAD
$ 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~
The ~
(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.
Delete Branches
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