Obter a data de criação de um stash

227

Existe uma maneira de saber quando um stash foi criado?

git stash listlista apenas os stashes e git stash show XXXXXXmostra todos os arquivos e alterações, mas não a data da criação do stash.

Jason
fonte

Respostas:

362

Experimentar:

git stash list --date=local

Deve imprimir algo como:

stash@{Thu Mar 21 10:30:17 2013}: WIP on master: 2ffc05b Adding resource
Igor
fonte
7
Posso adicionar uma opção em algum lugar do meu .gitconfig para tornar isso a exibição padrão?
Trevoke 31/10
2
@Trevoke Hm, não que eu esteja ciente. O melhor que pude encontrar foi esta tagarelice: git.661346.n2.nabble.com/…
Igor
9
Eu prefiro git stash list --date=relative. Digno de nota é que o --dateestá vindo do git logcomando, não stashem si, veja aqui algumas das possíveis --datevalores: stackoverflow.com/questions/7853332/git-log-date-formats
thnee
7
@Trevoke eu adicionei um alias [alias] stashlist = "stash list --date=local" ao meu arquivo ~ / .gitconfig
user848337
5
git stash list --date=shortfornecer apenas a data, no formato AAAA-MM-DD de largura fixa, fácil de digitalizar visualmente.
Tor Klingberg
39

Você pode usar --pretty=formatpara conseguir isso. Por exemplo, isso produz uma lista stash que inclui um tempo relativo:

git stash list --pretty=format:"%C(red)%h%C(reset) - %C(dim yellow)(%C(bold magenta)%gd%C(dim yellow))%C(reset) %<(70,trunc)%s %C(green)(%cr) %C(bold blue)<%an>%C(reset)"

Eu tenho esse conjunto na [alias]seção do meu ~/.gitconfigarquivo, para que eu possa vinculá-lo a um slcomando simples :

[alias]
        co = checkout
        lg = log --graph --pretty=format:\"%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset\" --abbrev-commit
        rl = reflog --pretty=format:\"%Cred%h%Creset %C(auto)%gd%Creset %C(auto)%gs%C(reset) %C(green)(%cr)%C(reset) %C(bold blue)<%an>%Creset\" --abbrev-commit
        sl = stash list --pretty=format:\"%C(red)%h%C(reset) - %C(dim yellow)(%C(bold magenta)%gd%C(dim yellow))%C(reset) %<(70,trunc)%s %C(green)(%cr) %C(bold blue)<%an>%C(reset)\"

(Você pode ver que eu também tenho marcações semelhantes para loge reflog)

Aqui está o que parece: lista de stash git

Se você quiser mostrar a data real, em vez de um tempo relativo, substitua %(cr)por %(ci).

Lee Netherton
fonte
17

git show stash@{0} também imprime a data, juntamente com as outras informações.

bcmcfc
fonte
1
Ah, eu estava usando a abreviação de 6 caracteres, talvez esse fosse o problema. Eu acho que também gerou um erro quando tentei esse comando, mas estou no Windows, então esse é outro problema :).
21313 Jason
3
Ah, Windows. Tentando usar git no Windows normalmente me leva para querer defenestrate meu laptop;)
bcmcfc
Não parece imprimir a data com o Git 2.8.3.
Elias Lynn
@ElijahLynn Não tenho um 2.8.3. para teste em mas imprime uma completa comprometer em 2,9
bcmcfc