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

透過git指令顯示自己的版控,例如7天內?

如何透過git指令顯示自己的版控?這些指令僅供參考,至少應該改一下作者名稱哦。--author的參數,也可以是信箱

git

透過Git屬性,在diff時,同時正常顯示big5及gb2312等不同編碼

不同中文編碼時的亂碼問題,這裡舉例,例如同時有三個不同編碼的php檔,會顯示成怎樣。 我們直接透過 git log -p 來看一下結果,會發覺到有看不懂的亂碼....

git,Synology

關於gitlab的docker設定分享

我朋友想研究gitlab的操作,我說用docker image不用十分鐘就裝起來了, 我家的Synology Nas上也有gitlab套件可以直接安裝。 結果,不是安裝失敗,就是修復中,或是已啟動了不能用。@@ 還被朋友嗆...