#Git note
Tags
git tag -a <tag name> -m <comment>
git tag -d <tag name>
Push tags to remote
git push origin --tags
Delete remote tag
git tag -d 1.0
git push origin :refs/tags/1.0
Syncing a fork
# Add the remote, call it "upstream":
git remote add upstream git://github.com/whoever/whatever.git
# Fetch all the branches of that remote into remote-tracking branches,
# such as upstream/master:
git fetch upstream
# Make sure that you're on your master branch:
git checkout master
# Rewrite your master branch so that any commits of yours that
# aren't already in upstream/master are replayed on top of that
# other branch:
git rebase upstream/master
https://help.github.com/articles/syncing-a-fork
pull submodules
git submodule foreach git pull origin master
git submodule foreach --recursive 'git fetch --tags'
remove a commit on github
git push -f origin HEAD^:master
git branch
git branch new-branch