Git
Git
in Programming on September 13, 2015
git
Setup
sudo apt-get install git bash-completion
Config
git config --global user.name "Themewerk"
git config --global user.email "[email protected]" git config --global credential.helper "cache --timeout=3600" git config --global color.branch auto git config --global color.diff auto git config --global color.interactive auto git config --global color.status auto git config --global core.safecrlf true git config --global core.autocrlf input # on unix like os git config --global core.autocrlf true # on windows (not needed with new client) git config --global core.excludesfile ~/Dropbox/Public/gitignore_global.txt
Stage deleted files
git add -u
Remove submodule
Delete submodule from .gitmodules
, .git/config
, .git/modules/[path to module]
Logs
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short
Git aliases
In ~/.gitconfig
[alias]
co = checkout
ci = commit
st = status
br = branch
hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
In ~/.bash_aliases
alias gs='git status '
alias ga='git add '
alias gb='git branch '
alias gc='git commit'
alias gd='git diff'
alias go='git checkout '
alias gk='gitk --all&'
alias gx='gitx --all'
alias got='git '
alias get='git '
Revert local unstaged changes
git checkout hello.html
Unstage staged changes
git reset HEAD hello.html
Changes will be still here, to revert them use
git checkout hello.html
Revert last commit
git revert HEAD --no-edit
This will revert last commit, but commit will still be in history
Revert and remove commits
git reset --hard v1 #or hash
Change previous commit
git add hello.html
git commit --amend -m 'msg'
Create branch and switch to it
git checkout -b style
Merge brachens
git checkout [branch to update]
git merge [branch to update from]
If there is conflicts while mergin – just fix and commit them
To list available local branches use:
git branch
And to list available remote branches use:
git branch -a
Add remote branch
git branch --track [local branch name] origin/[remote branch name]
Delete branch
git branch -D gh-pages # deletes local branch
git push origin --delete gh-pages # deletes remote branch
Remotes
git remote
git remote show origin
Submodules
To ignore dirty
changes add ignore = dirty
to problematic submodule in youd .gitmodules
file