2015-09-27 18 views
7

Przy użyciu narzędzia wiersza poleceń git-stash, w jaki sposób mogę wyświetlić zarówno wiadomość ze skrytką, jak i różnicę dla danego skrytka?Pokaż komunikat, jak również porównanie z plikiem git skrytki show

Dokumentacja dla git stash wspomina o tym, że można skonfigurować sposób wyświetlania diff, ale nie wspomina o wiadomościach w żadnym miejscu poza tym, jak utworzyć skrytkę.

+0

Czy chodzi ci o komunikat, który pojawia się po uruchomieniu 'git stash list'? – Chris

+0

@Chris tak, właśnie o to mi chodzi. –

+1

@Downvoter I RTFMd. Czego więcej ode mnie oczekujesz? –

Odpowiedz

6

zapas jest przechowywany jako normalny popełnienia, stąd można użyć zwykle poleceń Git, aby go wyświetlić, jak:

git show [email protected]{1} 

pokazać wiadomość i diff dla [email protected]{1}. Ponieważ skrytki są przechowywane jako zatwierdzenia z dwoma rodzicami (jeden dla indeksu, a drugi dla HEAD w momencie utworzenia skrytki), powyższe polecenie pokaże połączoną różnicę.

Oczywiście, jak inni już wspomniano, git stash list -p lub git list z stash.showPatch=true (nowość w 2.7.0) pokazują również diff + wiadomość dla wszystkich stashes.

+0

Dostaję '++' i '--' w różnicach zamiast' + 'i' -'. Czy to normalne? –

+1

Zatwierdzenia Stash są przechowywane z dwoma rodzicami, przebiegi programu git diff przedstawiają porównanie między stanem ukrytych stanowisk i stanem ukrytych indeksów, a także zatwierdzeniem, które zostało wyewidencjonowane w tym czasie. – jthill

7

Szukasz polecenia jak

git stash list -p 

To pokazuje diff każdego zapasach wraz z komunikatami, który podałeś.

Edit: W przypadku wiesz, która ukryta liczba chcesz pokazać (czyli nie pokazują całą listę, ale jeden konkretny zapas), można zrobić

git stash list -p -n 1 --skip i 

gdzie i jest liczba schowek, który chcesz pokazać. (to pokaże [email protected]{i}).

Jak wspomniano w the manual, komenda git stash list trwa opcje formatowania podobny do git log, patrz Opcja git log man page

-p zapewnia, że ​​wszystkie informacje, które chcesz jest drukowana (można poeksperymentować z formatowania jak wyjaśniono na git log man page)

opcja -n 1 zapewnia, że ​​tylko jedna ukryta jest drukowany, a także zobaczyć git log man page

opcja --skip i mówi git, aby nie drukował pierwszych skórek i, a więc w połączeniu z opcją n 1, zostanie wyświetlone tylko [email protected]{i}. Ponownie, zobacz git log man page

+0

Problem polega na tym, że pokazuje wszystkie skrytki, a nie tylko pojedyncze skrytki. –

+0

Rzeczywiście, dodam, jak to zrobić dla danego skrytki. – BartBog

+0

To nie pokazuje wiadomości o skrytce. –