2017-02-06 85 views
0

這樣,我可以用git的差異承諾,最後一個我做

git的差異很容易得到兩次提交之間的差異hash_old hash_new文件

這樣的作品,但在我目前的工作流程我的差異總是在最新的提交和我的提交之間。有沒有辦法使用shell別名自動化,以便我不必手動複製這兩個哈希值,而是總是選擇最新的名稱或電子郵件,並將它與最新的一行進行比較?

我試圖通過一個shell函數對git diff的輸出進行子集化,然後創建一個別名,但不確定輸出是否存儲爲一個數組。有什麼建議麼?

回答

1

這可能是最短的解決方案,也是一個是最穩定的,因爲它使用了低級別的幫手命令歷史遍歷):

git diff $(git rev-list --author="Your Name" -1 HEAD) HEAD 
+0

出色,正是我一直在尋找。謝謝 –

+0

小故障,'git rev-list'也需要'HEAD':'git diff-$(git rev-list --author = ... -1 HEAD)HEAD'。 – torek

0

試試這個:

$ git log -1 --pretty=format:"%h" --author=<name> | xargs git diff 

替換<name>git user-name