Branching and merging

I touched on just a few things about git. Get yourself going with git and github and then start looking at some of the many resources.

In particular, pay attention to: Branching: Create a separate branch to develop a feature (or work on a bug) without disturbing the master branch. If it works out, you can merge it back into the master; if it doesn’t, you can trash it. Branching is super easy, so for big projects, you should probably do it more often than not.

To create a branch called new_feature:

$ git branch new_feature

Then “check it out”:

$ git checkout new_feature

Make various modifications, and then add and commit.

To go back to the master branch, check it out:

$ git checkout master

To push the branch to github, use this:

$ git push origin new_feature

If you make changes to the master branch, you’ll want to merge them into your exploratory one:

$ git checkout new_feature
$ git merge master

If you’re satisfied with your changes in the exploratory branch, merge them into the master:

$ git checkout master
$ git merge new_feature

If you’re done with the branch and want to delete it:

$ git branch -d new_feature

But if you pushed it to github, it will still exist there. This is how to delete the branch from github:

$ git push origin --delete new_feature

After pulling from github, use the following to get access to a branch that is only on github:

$ git checkout -b new_feature origin/new_feature

If you want to pull a particular branch from a collaborator’s repository, do this:

$ git checkout new_feature
$ git pull myfriend new_feature

One final point: note that git pull is really doing a git fetch followed by a git merge.

Delete a repository

To delete your repository on Github:

  • View it in a web browser (say

  • Click on “Settings” (below the Unwatch/Star/Fork buttons on the right)

  • Scroll down to “Danger Zone” and click “Delete this Repository”

  • Confirm the name of the repository

On your local machine, the .git directory/folder within your repository’s directory contains the full git history. If you delete that directory, it will no longer be a git repository but will go back to being a regular project directory. (You could start over by typing git init, adding files with git add, and then git commit.)

Licenses and Attributions

Speak Your Mind