2017-02-06 18 views
0

так, я могу легко получить диф между двумя фиксаций с помощьюмерзавец различий между последней фиксации и последнее, что я сделал

GIT диф hash_old hash_new файл

, который работает, но в мой текущий рабочий процесс мои различия неизменно между последним фиксацией и моим фиксацией. есть ли способ автоматизировать это с помощью псевдонима оболочки, так что мне не нужно вручную копировать два хэша, но вместо этого всегда выбирайте последние с моим именем или адресом электронной почты и сравнивайте его с последним в строке?

Я попытался сделать это, подмножество вывода 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.