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
Open-source cross-platform Git GUI
https://gitahead.github.io/gitahead.com/
Tools > Config
You can disable fetch every 10 min for instance.
Use same config file as GitBash.
Use in gitbash : git config --global core.excludesfile '~/.gitignore'
Do not forget to copy your .gitignore
at the right place.