• Get a clean local copy of my GitHub repository with read & write access:

    $ git clone git@github.com:kdeldycke/scripts.git
    
  • Switch to another branch:

    $ git checkout another_branch
    
  • Set the current repository in the state it was at commit 1234567:

    $ git checkout 1234567
    
  • Get the current commit number:

    $ git rev-parse HEAD
    
  • Get a sorted list of all commit IDs:

    $ git rev-list --all --pretty=oneline | cut -d ' ' -f 1 | sort
    
  • Print a nice graph of your commits sorted by date:

    $ git log --graph --all --pretty=oneline --abbrev-commit --date-order
    
  • Revert a particular commit:

    $ git revert 119ff8
    
  • Destroy all your local changes and get back a sane repository:

    $ git reset --hard
    
  • Send local repository modifications to remote one:

    $ git push origin
    
  • Attach a tag to a given commit:

    $ git tag "1.2.3" 8fe2934d1552c97246836987f0ea08e10ba749ae
    
  • Publish all tags to the remote repository:

    $ git push --tags
    
  • Add a remote repository located on GitHub as a submodule in the ./folder/project-copy folder:

    $ git submodule add https://github.com/my-id/project.git ./folder/project-copy
    
  • While playing with backups of a local repository, you may encounter this error:

    Cannot rewrite branch(es) with a dirty working directory.
    

    In this case, you can get back a clean repository by removing all the unstaged changes:

    $ git stash
    

Other resources:

Related content