based on gist: https://gist.github.com/juristr/5280366
$ git init
$ git clone <repo address> <target folder>
Boilerplates: https://github.com/github/gitignore
$ git fetch
this will fetch then merge the branch in question
$ git pull origin <branch name>
Docs: http://gitref.org/branching/
$ git status
$ git log
$ git branch
$ git checkout <branch name>
$ git checkout -b <new branch name>
$ git branch -D bugfix
$ git push origin <branch name>
This will overwrite the branch's history. USE WITH EXTREME CAUTION!
$ git push origin <branch name>
$ git add -A
$ git commit -am "My comment"
Reverts all changes to the last commit
$ git reset --hard
# reset the index to the desired tree
$ git reset 56e05fced
# move the branch pointer back to the previous HEAD
$ git reset --soft HEAD@{1}
$ git commit -m "Revert to 56e05fced"
# Update working copy to reflect the new commit
$ git reset --hard
To remove a tracked file from git but not from the local file system use
$ git rm --cached <filename>
$ git merge <branch name>
$ git checkout <local-branch-name> <file-path>
$ git reset --hard commit_sha
or simply
$ git reset --hard origin/HEAD
to reset to the last remote commit. Attention, undo obviously only local merges.
$ git remote add upstream <org_git_url>
Then you can fetch it normally through
$ git pull upstream <branch>
Add an alias to your ~/.gitconfig
like
[alias]
lg = log --graph --full-history --all --color --pretty=tformat:"%x1b[31m%h%x09%x1b[32m%d%x1b[0m%x20%s%x20%x1b[33m(%an)%x1b[0m"
Alternatively (as described here )
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
http://adit.io/posts/2013-08-16-five-useful-git-tips.html
Download this file to ~/
and rename it to .git-completion.bash
. Then open .bash_profile
and add
source ~/.git-completion.bash
Check out this blog post.