git的基本语法也说完了,具体实践也演示了,甚至连错误汇总都整理了,你以为完了?图样图森破!技巧我都留在后面了,当然,本着geek的精神,我还是要分享出来。

一、查看git全局配置

1
git config -l

二、如何忽略文件文件?

vim 直接创建 .gitignore文件,然后写入规则,!wq保存并退出。

三、关于Mac环境中的.DS_Store文件

有两种方法:

  • 直接删除系统中的.DS_Store文件,且不允许再生成;
  • 使用忽略文件,如问题二;

此处扩展一下:

在 Mac OS X 系统下,几乎绝大部分文件夹中都包含 .DS_Store 隐藏文件,这里保存着针对这个目录的特殊信息和设置配置,例如查看方式、图标大小以及这个目录的一些附属元数据。

执行如下命令,删除文件.DS_Store:

1
sudo find / -name ".DS_Store" -depth -exec rm {} \;

然后,不再生成.DS_Store:

1
defaults write com.apple.desktopservices DSDontWriteNetworkStores true

原谅.DS_Store的乱入,欲知详情,请移步博文:《Mac下如何删除.DS_Store文件》

四、对比文件更改

1
git diff <file name>

git

对比a版本和b版本的差别,语法不是很复杂,了解一下基本都能看懂了。

“—”未修改版本,“+++”修改版本,显示1-4行,“-”被移除行,“+”添加行

五、查看文件更改纪录

1
git blame [file name]

git
当程序出现问题时,先去指责别人是人们的基本天性。如果你的程序崩溃了,使用git blame可以很容易找出罪魁祸首。这个命令可以将文件中的每一行的作者、最新的变更提交和提交时间展示出来。

六、查看仓库历史纪录

1
git log --oneline

压缩模式,在每个提交的旁边显示经过精简的提交哈希码和提交信息,以一行显示。
git

七、图形模式

1
git log --graph

图形模式,使用该选项会在输出的左边绘制一张基于文本格式的历史信息表示图。如果你查看的是单个分支的历史记录的话,该选项无效。
git

八、显示所有分支的历史记录

1
git log --all

git

九、列出commit

git reflog则列出了head曾经指向过的一系列commit。要明白它们只存在于你本机中;而不是你的版本仓库的一部分,也不包含在push和merge操作中。

1
git reflog

git

十、回退到上一版本

1
2
#回退所有内容到上一个版本
git reset HEAD^

举例来说明:

1
2
#回退README.md这个文件的版本到上一个版本
git reset HEAD^ README.md

git

1
git reset --filename

仅将文件filename 的改动撤出暂存区,暂存区中其他文件不改变。此操作相当于命令git add filename 的反向操作。

十一、创建git全局忽略文件

1
2
git config --global core.excludesfile ~/.gitignore_global
vim ~/.gitignore_global

首先打开git全局忽略文件,然后通过vim编辑器添加配置项,!wq保存搞定收工。