by Devin Yang

建立于: 6年前 ( 更新: 6年前 )

前言

我们可以透过 git config --global alias.[别名] "将常常要运行的长长git子命令" 缩减成简化的别名。
所以您也可以透过git别名设置,将自己常用的git命令添加到全局的git别名中。

让我们来看看我的实际范例,如何将长长的子命令简化成简单易用的别名。

范例:

MacOS 上,由於 date 的命令与 Linux 不同,所以提供两种版本的设置方式。
下方的命令,拷贝贴到终端机上就可完成设置。
然我们就能到git的REPO中测试结果罗。
输入: git t (今天的纪录)
输入: git y (昨天的纪录)
MacOS:
git config --global alias.y "log --pretty=format:'%h - %an, %ar : %s' --since \"$(date -v -1d +'%Y-%m-%d 00:00:00')\" --until \"$(date -v -1d +'%Y-%m-%d 23:59:59')\" --stat"
git config --global alias.t "log --pretty=format:'%h - %an, %ar : %s' --since \"$(date +'%Y-%m-%d 00:00:00')\" --until \"$(date +'Y-%m-%d 23:59:59')\" --stat"

Linux:
git config --global alias.y "log --pretty=format:'%h - %an, %ar : %s' --since \"$(date -d "yesterday" +'%Y-%m-%d 00:00:00')\" --until \"$(date -d "yesterday" +'%Y-%m-%d 23:59:59')\" --stat"
git config --global alias.t "log --pretty=format:'%h - %an, %ar : %s' --since \"$(date +'%Y-%m-%d 00:00:00')\" --until \"$(date +'Y-%m-%d 23:59:59')\" --stat"

运行结果

我只要在git的repo输入 git t ,即可取代长长的git子命令罗。
git log
如果,我们要看,这些文件的差异怎么做呢,多个-p的参数即可。
例如: git t -p

自动化

如果您想要自动生成这样的Git报表,每日将昨天的结果,发信到邮件中,
可以看看我Github上的Python进程,帮您搞定这件事情。
https://github.com/DevinY/git-yesterday-report

这是我花了两天学习Python后,第一只Python进程。
对於学习Python的心得感想是,他真是一门学习曲线温和的语言呀。
就算您不懂Python,我想看了我github中的main.py也能猜到我在做什么了。

Tags: git

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


git

我如何删除,我GitHub上的远程分支

我如何删除,我GitHub上的远程分支。 首先,可先用命令查看origin git remote -v 这时可能显示如下: origin https://github.com/DevinY/dlaravel.git (fetch) origin https://github.com/DevinY/dlaravel.git (push)

git

强制清空远程repo所有数据

强制清空远程repo所有数据

git

透过Git属性,在diff时,同时正常显示big5及gb2312等不同编码

不同中文编码时的乱码问题,这里举例,例如同时有三个不同编码的php档,会显示成怎样。 我们直接透过 git log -p 来看一下结果,会发觉到有看不懂的乱码....