- 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
- 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-copyfolder: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

Pingback: Useful Commands: a Synthesis | Kevin Deldycke
Pingback: All my command lines | Kevin Deldycke