Useful git commands and workflow.
For a good workflow with branches, see this article.
git config --global user.email "contact@jovian-hersemeule.eu"
git config --global user.name "DricomDragon"
git config --global core.editor "vim"
git config --global push.followTags true
git config --global diff.tool vimdiff
You can replace --global by --local to configure a specific project.
git status -s
git diff for difference against unstaged files
git diff --staged or git diff --cached for difference against staged files
git rm --cached <file> remove a file from git but keep this file on drive
git stash -u -m 'Experiment optimized code
-u is used to stash untracked files
git difftool use a tool like vimdiff
git difftool --tool-help see availble git diff tools
See config for setting his own git tool for diff.
git commit -v see diff while committing
git log -p see diff for every commit
git log --graph see branches history
git log --stat see numbers of modifs on each file for every commit
git remote show <remote_name> show useful information about remote
git push --delete <remote_name> <branch_name> delete a remote branch