我希望在git log
输出中看到所有的藏匿处。有谁知道是否有办法做到这一点?
编辑:我想记录所有提交。我使用命令
git log --date-order --all
但它只返回最顶层的藏匿处。我希望看到代表其他stashes的提交。
答案 0 :(得分:36)
您可以使用git stash list
显示所有藏匿处。也许您可以编写一个脚本来显示git stash list
和git log
,并将其与别名一起使用。
答案 1 :(得分:26)
我来到这里寻找和@jbialobr一样的事情,在阅读了之前的答案后我做了一些挖掘,并提出了以下建议。
@msmt的答案为您提供了一个存储日志,您可以使用它来获取要在git日志中使用的哈希值。
git reflog show --format="%h" stash
为您提供所有存储的哈希值,然后可以将其传递给git log命令,例如
git log --date-order --all $(git reflog show --format="%h" stash)
我个人现在使用的完整命令是
git log --oneline --graph --decorate --all $(git reflog show --format="%h" stash)
在centos上的git版本2.5.1上测试
答案 2 :(得分:9)
不确定你的意思。 stash是一个分支,您可以使用git log -g stash
列出所有存储答案 3 :(得分:4)
另一种简单的方法是git reflog show stash
答案 4 :(得分:1)
完整命令:
git log --oneline --graph --all $(git stash list --format="%H")
藏匿处首长名单:
git stash list --format="%H"
答案 5 :(得分:0)
如果您负担得起图形化GUI,请查看gitk
。
它向您显示分支,标签,远程分支存储等。它在外观上不吸引人,但非常紧凑和有用。它通常与软件包管理器中的“ git”软件包一起提供,并且如果您还具有“ tk”(它使用的GUI工具包),则可以使用。
答案 6 :(得分:0)
要获取包含所有内容的树图:所有分支,所有隐藏物都在您的指尖...
在super-useful answer from SicoAnimal上进行扩展,因此您不必键入所有这些内容(对于没有任何Git UI的远程SSH会话尤其有用) ...
1。设置git别名:
# Short and sweet: hashes and graph with all branches and stashes
git config --global alias.l \
'!sh -c '"'"' git log --oneline --graph --all --decorate $(git reflog show --format="%h" stash --) '"'"' '
# Same as above + dates and emails
git config --global alias.ll \
'!sh -c '"'"' git log --graph --all --date=format:"'"%Y-%m-%d %H:%M"'" --pretty=format:"'"%C(yellow)%h%Creset%C(auto)%d%Creset %C(cyan)%cd%Creset %s %C(green)(%ce)%Creset"'" $(git reflog show --format="%h" stash --) '"'"' '
2。使用别名:
# Short and sweet: hashes and graph with all branches and stashes
git l
# Same as above + dates and emails
git ll
3。效果不错:
请注意,您可以看到所有存储,不仅是给定提交中的最新存储(以箭头显示)。
需要改进的空间:
# In case there are no stashes you get one-liner error message.
# The rest works as expected. Not sure how to fix it.
me@mymachine:~/projects/experiment/latest-angular-ten$ git l
fatal: bad revision 'stash'
* 00a696b (HEAD -> master) initial commit
参考:
How to create a Git alias with nested commands with parameters?