git.md 1.7 KB

Git

Useful git commands and workflow.

Workflow

For a good workflow with branches, see this article.

Configuration

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.

Useful commands

Staging

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

Stashing

git stash -u -m 'Experiment optimized code

-u is used to stash untracked files

Diff tool

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.

Powerful history

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

Remote

git remote show <remote_name> show useful information about remote

git push --delete <remote_name> <branch_name> delete a remote branch

GitAhead

Open-source cross-platform Git GUI

https://gitahead.github.io/gitahead.com/

Global config

Tools > Config

You can disable fetch every 10 min for instance.

Global gitignore in Windows

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.