Git Cheat Sheet

This is probably the most important page of this course, as it contains a summary of all the commands you should know to use git and github.

  1. git init : Tell git to start version controlling the files in a directory (initialises git in a directory)
  2. git status : Tell git to print the status of the files in the version controlled directory.
  3. git add : Tell git to start monitoring (tracking) the versions of a new file, e.g. git add README.md will tell git to track README.md
  4. git commit -a : Tell git to save a new snapshot version of all of the tracked files in the directory. The -a means “all files”. You can commit new versions of individual files if you want, but this is not recommended.
  5. git diff : Tell git to show the differences between the files in the working directory and the last saved version in the git repository. This will show the differences for all tracked files. Use git diff FILENAME to limit to only the file FILENAME
  6. git checkout VERSION FILENAME : Tell git to bring VERSION version of FILENAME into the current working directory. If VERSION is main then restore the last version of FILENAME that was saved to the repository.
    git checkout VERSION : Tell git to change the working directory back to a specific VERSION number. If VERSION is main, then return the working directory to the last saved version in the repository.
  7. git log : Print a log of the versions in the repository. Use git log -n N to limit to the last N versions. You may need to use q to exit from the text viewer if there are a lot of versions to print.
  8. git mv OLD NEW : Rename a file from name OLD to name NEW.
  9. git rm FILENAME : Remove the file FILENAME from the working directory (it still exists in the repository). Will only work if the file is tracked by git and doesn’t have any changes. Use -f to force removal of files.
  10. git clone LINK : Clone a repository from a remote repository to your local computer.
  11. git push : Push versions that are saved in the local repository (.git folder) so they are backed up to a remote repository (.git folder)