Git log diff config高级进阶
来源:互联网 发布:ubuntu高级选项怎么用 编辑:程序博客网 时间:2024/05/22 10:49
前一段时间分享了一篇《更好的 git log》简要介绍怎么美化 git log 命令,其中提到了 alias
命令,今天再继续谈谈 git相关, 看看如何通过配置自己的 git config 让自己的 git 用起来更顺手。
git log 进阶
在一行显示 git log
git log --pretty =oneline在一行显示 git log.git log --oneline --stat ,显示每个文件的变化行数,其中后面跟的--start参数是用来统计哪些文件被改动,有多少行被改动。git log --oneline --graph,则可以图形化地显示 branch 的变化(方便查看 merge 变化)。
查看不同时间段的 git log
git log --until=1.minute.ago // 一分钟之前的所有 loggit log --since=1.day.ago //一天之内的loggit log --since=1.hour.ago //一个小时之内的 loggit log --since=`.month.ago --until=2.weeks.ago //一个月之前到半个月之前的loggit log --since ==2013-08.01 --until=2013-09-07 //某个时间段的 log
如果你想更加个性化地设置 git log 输出的不同参数的颜色,可以使用如下命令
git log --pretty=format:"%h %ad- %s [%an]"
其中的参数对应的是
%ad author date // 日期%an author name // 作者名%cn committer name //提交者姓名%h SHA hash // hash值%s subject //commit的描述%d ref names //对应的 branch 分支名
更多的选项可以使用git help log
来看看,如我在《更好的 git log》中提到的,你可以通过alias
来创建一个简洁的git lg
命令来定制自己喜欢的输出方案。
git diff 进阶
git diff
是用来比较版本之间的差异变化 balbalbala 之类的,哪里修改了,哪里添加了 balbalbala
git diff HEAD //与上次 commit 之间的差别(爸爸)git diff HEAD^ //与上上次(爷爷)git diff HEAD^^ //与上上上次(曾祖父)git diff HEAD~5 //与前面第5次commit(好吧…祖先吧)git diff HEAD^..HEAD //中间是两个点比较(爸爸)和(爷爷)的差别git diff f5fdjsalfjdskaf..4fdklsajfdksaf //比较 两个不同 hash 值记录之间的不同git diff master bird //比较 branch 之间的不同git diff --since=1.week.ago --until=1.minute.ago //还可以根据时间来比较哦
git blame
如果你想要看看某一个文件的相关历史记录,可以使用git blame
命令。如
git blame index.html --date short
git config进阶
config 就是配置的意思,git config 字如其意,就是 git 的配置文件,git config 文件有三层。
第一层config是在系统层etc/gitconfig
, 可以通过使用 git config --system
来进行配置,此层gitcofnig 配置针对系统所有用户的分支都有效。
第二层是~/.gitconfig
,针对某个用户有效,针对此层设置使用的是git config --global
命令。
第三层是项目文件夹中的配置文件,比如说我有一个 project1的文件夹,project1/.git/config
就是在这个 repo 中使用的 gitconfig 配置。直接使用git config
就能进行配置。
基础配置
git config --help,使用这个命令可以列出 git config 的帮助列表。git config --list,则可以显示你目前的 git config 配置。
用户信息配置
git config --global user.name "will luo" //git config --global user.emal "i@luolei.org" //
颜色设置
git config --global color.ui true //
git 在终端显示会有颜色
color.*
如果你想针对不同的 git 命令输出不同的配色,你可以使用 color.[command-type]
命令。
color.branch color.diffcolor.interactivecolor.status
以上参数都能设置true
,false
,always
。
git config --global color.diff.meta "blue black bold"
这段代码的意思就是git diff 输出的「git 改变的信息(diff)」 以粗体、蓝色前景、黑色背景的形式展现。
能设置的颜色值包括
normal, black, red, green, yellow, blue, magenta, cyan, white.,字体属性则有bold, dim, ul, blink, reverse.
ALIASES
git config --global alias.mylog "log --pretty=format:'%h %ad- %s [%an]' --graph "git config --global --add alias.lol "log --graph --decorate --pretty=oneline --abbrev-commit --all"这样就自定义
git mylog
,和git lol
两个命令,至于是什么样的效果,大家就根据代码的意思领悟和学习一下吧。对于我们日常常用的 git 命令,我们可以通过
git config --global alias.st status //status 缩写成 stgit config --global alias.co checkout //checkout 缩写成 cogit config --global alias.br branch //branch 缩写成 brgit config --global alias.ci commit //commit 缩写成 ci
大家可以根据自己的喜好来缩写,当然,到时候别忘了备份自己的 config 文件(可参考我的博文dotfiles新手教程)。
文章转自:http://luolei.org/2013/09/git-config-advanced/
- Git log diff config高级进阶
- Git log diff config高级进阶
- git diff和git log中文乱码
- Git log 高级用法
- Git中log、diff命令介绍
- Git(III)add,commit,diff,log命令
- Git高级进阶
- git学习—git log 和git diff
- Git diff代码比较的高级技巧
- Git diff 代码比较的高级技巧
- git log的高级使用
- GIT 01 -log diff checkout 远程仓库与分支学习
- git——status log reflog diff show
- Git diff
- git diff
- git diff
- git diff
- git diff
- Web服务器 Apache 和 Tomcat区别[转]
- 亲密数 c语言
- 工作
- 向Android系统自带的联系人界面添加数据
- 网络编程--python 实现简单的UDP客户端和服务端
- Git log diff config高级进阶
- 过滤链FilterChain,请求与响应--chain.doFilter()代码前后
- web 400 bad request原因及解决办法
- php 制作二维码
- iphone系统架构以及各层提供的主要服务
- ImageSwitcher 使用方法
- Android客户端抓包笔记
- 计算机视觉领域重要资源
- 做大的艺术 - 大型网站的架构设计