历史
显示全部历史记录
显示版本历史,以及版本间的内容差异
只显示最近一个提交
显示最近的20个提交,以及版本间的内容差异
显示最近6个小时的提交
1
| $ git log --since="6 hours"
|
显示两天前的提交
1
| $ git log --before="2 days"
|
显示比HEAD(当前检出分支的末稍)早三个提交的那个提交
1
2
3
| $ git log -1 HEAD~3
$ git log -1 HEAD^^^
$ git log -1 HEAD~1^^
|
显示两个版本直接的提交
1
| $ git log <start point>...<end point>
|
显示历史,每一个提交显示一行,包括提交注释的第一行
1
| $ git log --pretty=oneline
|
显示改动行数统计
显示改动文件的名称和状态
1
| $ git log --name-status
|
显示当前工作目录树和暂存区间的差别
显示暂存区和版本库之间的差别
显示工作目录树和版本库间的差别
显示工作目录树和版本库中某次提交版本之间的差别
1
| $ git diff <start point>
|
显示版本库中两个版本之间的差别
1
| $ git diff <start point> <end point>
|
显示差别的相关统计
1
| $ git diff --stat <start point> [<end point>]
|
显示文件中各个部分的修改者及相关提交信息
1
| $ git blame <some file>
|
显示文件中各部分的修改者及相关提交信息,包括在文件移动内容方面的情况
1
2
| $ git blame <some file>
$ git blame -M <some file>
|
显示历史时,显示复制和粘贴信息
1
| $ git log -C -C -p -1 <some point>
|
远程版本库
克隆远程版本库
1
| $ git clone <some repository>
|
克隆版本库,但只下载其中最近200个提交的历史记录
1
| $ git clone --depth 200 <some repository>
|
在本地版本库中设置远程版本库的别名
1
| $ git remote add <remote repository> <repository url>
|
显示远程分支
基于远程分支创建本地分支
1
| $ git branch <new branch> <remote branch>
|
基于远程标签创建本地分支
1
| $ git branch <new branch> <remote tag>
|
从别名为orgin
的远程版本库中取来修改变化,但不合并到本地分支
从任意的远程版本库中取来修改变化,但不合并到本地分支
1
| $ git fetch <remote repository>
|
从任意的远程版本库中取来修改变化,并合并到当前检出的本地分支
1
| $ git pull <remote repository>
|
从别名orgin
的远程版本库中取来修改变化,并合并到当前检出的本地分支
把修改变化从本地分支推入远程版本库
1
| $ git push <remote repository> <local branch>:<remote branch>
|
把修改变化从本地分支推入远程版本库中同名分支
1
| $ git push <remote repository> <local branch>
|
把修改变化从本地新建分支推入远程版本库
1
| $ git push <remote repository> <local branch>
|
把修改变化推入别名为orgin
的远程版本库
在远程版本库中删除分支
1
| $ git push <remote repository> :<remote branch>
|
在本地版本库中删除所有远程版本库中已不存在的分支
1
| $ git remote prune <remote repository>
|
在本地版本库中删除某个远程版本库的简称,以及该远程版本库相关的分支
1
| $ git remote rm <remote repository>
|
操作示例
查看git日志
1
2
3
4
5
6
7
8
| $ git log
$ git log 7b1558c
$ git log -10
$ git log --since="5 hours"
$ git log --since="5 hours" -1
$ git log 18f822e..0bb3dfb
$ git log 18f822e..HEAD
$ git log --pretty=format:"%h %s" 1.0..HEAD
|
查看版本之间的差异
1
2
| $ git diff 18f822e
$ git diff --stat 1.0
|
查明该向谁问责
1
2
3
4
5
| $ git blame hello.html
$ git blame -L 12,13 hello.html
$ git blame -L 12,+2 hello.html
$ git blame -L 12,-2 hello.html
$ git blame -: "/<\/body>/",+2 hello.html
|
复位操作,将版本库复位到HEAD
之前的那个版本了
1
| $ git reset --hard HEAD^
|
显示远程分支
1
2
3
4
5
6
7
8
9
| $ git branch
* master
$ git branch -r
origin/HEAD -> origin/master
origin/about
origin/alternate
origin/contacts
origin/master
origin/new
|
更新远程分支,但不会把远程分支上的修改合并到本地分支上。
取来远程分支并且合并,需要两个参数,一个是远程版本库名称,另一个需要拖入的远程分支名称
推入改动,调用不带参数的git push
命令时,git会推入到默认版本库origin中,并把本地版本库中当前所在分支的
变更推入到远程版本库对应的分支上。
将本地分支上mybranch
上的提交推入远程版本库的主分支上
1
| $ git push origin mybranch:master
|
添加新的远程版本库,必须有相应的权限