Skip to content

Instantly share code, notes, and snippets.

@rabellamy
Last active April 9, 2016 00:45
Show Gist options
  • Save rabellamy/9b0c0bc18aabec869ec57ba54a0557ec to your computer and use it in GitHub Desktop.
Save rabellamy/9b0c0bc18aabec869ec57ba54a0557ec to your computer and use it in GitHub Desktop.

Intro to Git

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.

These are common Git commands used in various situations:

start a working area (see also: git help tutorial)

  • clone  Clone a repository into a new directory
  • init  Create an empty Git repository or reinitialize an existing one

work on the current change (see also: git help everyday)

  • add  Add file contents to the index
  • mv  Move or rename a file, a directory, or a symlink
  • reset  Reset current HEAD to the specified state
  • rm  Remove files from the working tree and from the index

examine the history and state (see also: git help revisions)

  • bisect  Use binary search to find the commit that introduced a bug
  • grep  Print lines matching a pattern
  • log  Show commit logs
  • show  Show various types of objects
  • status  Show the working tree status

grow, mark and tweak your common history

  • branch  List, create, or delete branches
  • checkout  Switch branches or restore working tree files
  • commit  Record changes to the repository
  • diff  Show changes between commits, commit and working tree, etc
  • merge  Join two or more development histories together
  • rebase  Forward-port local commits to the updated upstream head
  • tag  Create, list, delete or verify a tag object signed with GPG

collaborate (see also: git help workflows)

  • fetch  Download objects and refs from another repository
  • pull  Fetch from and integrate with another repository or a local branch
  • push  Update remote refs along with associated objects
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment