Github and Website Workshop/git summary

From OpenHatch wiki

This is a summary of the git commands and concepts discussed at the Github and Website Workshop


  • git init: tell git you want to use it in this folder (creates a repository)
  • git status: see what the current state of our project is
    • Tip: It's healthy to run git status often. Sometimes things change and you don't notice it.
  • git add filename: Tell git to stage this file
  • git add -­A .: add all ­- where the dot stands for the current directory, so everything in and beneath it is added. The ­-a stands for all and ensures even file deletions are included
  • git reset filename: removes a file from the staging area
  • git commit -m "commit message": commit the staged files (saves a snapshot)
  • git log: Git's journal­ - remembers the changes we've committed in the order we committed them
    • Tip: use git log ­­--summary to see more information for each commit. You can see where new files were added for the first time or where files were deleted. It's a good overview of the project.
  • git remote add alias url: add a new remote repository of your project to your local computer files
  • git push to from: tells Git where to put our commits
    • If you put -­u before to, it tells Git to remember the parameters, so that next time we can simply run git push and Git will know what to do.
  • git pull from to: check for changes on our GitHub repository and pull down new changes
  • git diff change: shows the difference between the current state of the files and previous commit
    • if you don't specify a change, the default is HEAD which by default holds most recent commit, so git diff shows difference from last commit
    • git diff ­­staged lets you see the changes you just staged
  • git reset file: unstages the file
  • git checkout ­file: get rid of all the changes since the last commit for the file
  • git clone url: copy a git repository so you can add to it


  • Directory: A folder used for storing multiple files.
  • Repository: A directory where git has been initialized to start version controlling your files.
  • Staging Area: A place where we can group files together before we "commit" them to Git.
  • Commit: A "commit" is a snapshot of our repository. This way if we ever need to look back at the changes we've made (or if someone else does), we will see a nice timeline of all changes.
  • Staged: Files are ready to be committed
  • Unstaged: Files with changes that have not been prepared to be committed
  • Untracked: Files aren't tracked by git yet. This usually indicates a newly created file
  • Deleted: File has been deleted and is waiting to be removed from git
  • Remote repositories: versions of your project that are hosted on the Internet or network somewhere