git . 查看某个文件的提交历史

git . 查看某个文件的提交历史 git log 命令及其使用技巧.

可以定义slog (short log) 宏定义简化操作, 见后边实例.
常用命令及意义
-----------------------------------------------------------
1.  git log filename
显示一个文件的修改历史
还可以用 git log --stat filename 看出每次提交变化的大小

2.  git log -p filename, 相当于 git log --full-diff filename
显示每次提交的差异

3. git show commitID filename
显示某一次提交中的文件变化
-----------------------------------------------------------
令用difftool 进行比较, 我用的是vimdiff
1. git difftool [filename]
比较的是当前版本差异

2. git difftool [filename]
比较版本间差异

甲: 补充git log常用的参数.

a. git 查看文件提交历史:  git log

b. git 查看前3次的提交历史: git log -3

c. git 查看提交时都改了哪些文件: git log --stat

d. git 查看某文件与旧版本文件之间的差异: git log -p   给出的是历史差异,每一次提交的所有变化.

乙:补充git diff 常用的参数:

a. git diff ,    什么参数都不加,比较工作区暂存区的差异

b. git diff --cached ,比较暂存区与最近提交的差异, 等同于git diff --cached HEAD

c. git diff [commit-id] , 工作区与commit-id 的差异

d git diff [id1] [id2] , 比较两次提交的具体差异

e. git diff  [id1] [ id2] --stat , 比较两次提交的文件名及个数统计.

f. git diff [id] [filename], 查看工作区与id 之间的文件差异.

如果你觉得diff 显示的不够直观, 可以换vimdiff 来比较. 方法是要设置difftool.

以我的git 配置为例: 主要是看清 vd 是什么意思, 如下,

$ git config --list
alias.st=status
alias.vd=difftool
alias.ci=commit
alias.co=checkout
alias.slog=log --abbrev-commit --oneline
diff.tool=vimdiff
difftool.prompt=false
core.editor=vim

则: 比较现在文件 dialog/getTypeDialog.cpp 与某个版本(首4个数字是79e4) 之间的差异.

$  git vd 79e4 dialog/getTypeDlg.cpp

会打开vimdiff 窗口进行两个文件的比较, 左边是历史文件,右边是当前文件.

当然, 比较两个历史版本也行, 把2个版本都写上,中间用空格分开,则窗口左边为第一个版本文件,右边是第二个版本文件.

这两个文件都会被拉到/tmp/下并命名了一个临时文件. 挺好!

 

 

你可能感兴趣的:(#,svn和git)