git 命令提升
git
  log
    git log ：全部提交日志
        预览
    git log -2 查看最近2次的提交日志
    git log -p 查看历史纪录以来哪几行被修改
    git log --stat --summary 查看每个版本变动的档案和行数
    git log --since=2014-11-14 时间段以后的日志
    gitk 图形化显示日志，效果还不错
      预览
    git log 终端中太难看，修改提示样子
      git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
      别名支持alias lg ：git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
        预览
    详细查看 pro git上的具体说明
  repository
    检出仓库：$ git clone git://github.com/jquery/jquery.git
clone并且本地文件夹名不同：$ git clone <版本库的网址> <本地目录名>
查看远程仓库：$ git remote -v
添加远程仓库：$ git remote add [name] [url]
删除远程仓库：$ git remote rm [name]
修改远程仓库地址：$ git remote set-url origin 新地址
拉取远程仓库：$ git pull [remoteName] [localBranchName]
推送远程仓库：$ git push [remoteName] [localBranchName]
    * 如果想把本地的某个分支test提交到远程仓库，并作为远程仓库的master分支，或者作为另外一个名叫test的分支，如下：
$ git push origin test:master // 提交本地test分支作为远程的master分支
$ git push origin test:test // 提交本地test分支作为远程的test分支
  branch
    查看本地分支：$ git branch
查看远程分支：$ git branch -r
创建本地分支：$ git branch [name] ----注意新分支创建后不会自动切换为当前分支
切换分支：$ git checkout [name]
创建新分支并立即切换到新分支：$ git checkout -b [name]
推送本地新分支到远程(不存在）: git push 远程名 本地名
拉取远程分支到本地并且切换到上面：$git checkout -b local-branch origin/remote-branch
删除分支：$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支，对于未有合并的分支是无法删除的。如果想强制删除一个分支，可以使用-D选项
合并分支：$ git merge [name] ----将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程)：$ git push origin [name]
删除远程分支:$ git push origin :[name] 或者 git push origin --delete <branchName>
    * 创建空的分支：(执行命令之前记得先提交你当前分支的修改，否则会被强制删干净没得后悔)
$ git symbolic-ref HEAD refs/heads/[name]
$ rm .git/index
$ git clean -fdx
    在某个commit上开分支：git branch branchname <sha1-of-commit>
  tag
    查看版本：$ git tag
创建带注释的tag：$ git tag -a [name] -m 'yourMessage'
删除版本：$ git tag -d [name]
查看远程版本：$ git tag -r
创建远程版本(本地版本push到远程)：$ git push origin [name]
删除远程版本：$ git push origin :refs/tags/[name] 推送空tag到远端
合并远程仓库的tag到本地：$ git pull origin --tags
上传本地tag到远程仓库：$ git push origin --tags
  submodule
    添加子模块：$ git submodule add [url] [path]
如：$ git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs
初始化子模块：$ git submodule init ----只在首次检出仓库时运行一次就行
更新子模块：$ git submodule update ----每次更新或切换分支后都需要运行一下
删除子模块：（分4步走哦）
1) $ git rm --cached [path]
2) 编辑“.gitmodules”文件，将子模块的相关配置节点删除掉
3) 编辑“ .git/config”文件，将子模块的相关配置节点删除掉
4) 手动删除子模块残留的目录
  alias
    git config --global alias.st status //status 缩写成 st
git config --global alias.co checkout //checkout 缩写成 co
git config --global alias.br branch //branch 缩写成 br
git config --global alias.ci commit //commit 缩写成 ci
内容由xirong整理收集，并不断更新，最新版请查看
https://github.com/xirong/my-git/command-handbook