Ar git yra būdas parodyti laisvas paslėptas rinkmenas nenaudojant piniginės?

Jei git stash -u , galiu archyvuoti nereikalingus failus. Tačiau šie nepanaudoti failai visai nerodomi naudojant git stash show stash@{0} . Ar yra būdas parodyti nepateiktus paslėptus failus nenaudojant piniginės?

53
02 окт. nustatė Max Nanasy 02 okt. 2012-10-02 00:40 '12 0:40 2012-10-02 00:40
@ 5 atsakymai

Nekontroliuojami failai yra saugomi trečiame tėvų, esančių žymeklio fiksavime. (Tai iš tikrųjų nėra dokumentuota, bet gana akivaizdi iš „ End“, kuri pristatė funkciją -u, 787513 ... ir tai, kaip kiti dokumentai, susiję su git-stash frazėmis, yra ... ar tiesiog atlikdami git log --graph stash@{0}

Galite peržiūrėti tik „nepažymėtą“ talpyklos dalį su:

 git show stash@{0}^3 

arba, tiesiog „nepatvirtintas“ medis:

 git show stash@{0}^3: 

arba, visų pirma, „nepažymėtas“ failas medyje:

 git show stash@{0}^3:<path/to/file> 

Deja, nėra gero būdo gauti visų nustatytų + išjungtų + neapdorotų ir „dabartinių“ būsenų skirtumų santrauką. ty: git show stash@{0} negali būti įjungtas, kad būtų įtraukti failai be pėdsakų. Taip yra dėl to, kad piniginės medžio objektas, vadinamas stash@{0}: neturi jokių pakeitimų iš trečiojo „neidentifikuoto“ tėvų.

Taip yra dėl pakartotinio atsišakojimo: stebėti failai gali būti lengvai naudojami kaip pleistrai, o išbandyti failai teoriškai gali būti naudojami kaip „visai failai“.

69
02 окт. atsakymas, kurį pateikė Will Palmer 02 oct. 2012-10-02 01:12 '12 ne 1:12 2012-10-02 01:12

Visus košmarus galite išvardyti naudodami šią komandą:

 git rev-list -g stash 

Kadangi brūkšneliai yra pavaizduoti kaip 3-pusių sujungimas su HEAD, indeksas ir be šakninio šaknies fiksuojamų nepavykusių failų, gali būti išvardytos nesusijusios rinkmenos, pateikiant aukščiau pateiktą išvestį taip:

 git rev-list -g stash | git rev-list --stdin --max-parents=0 

Naudingos programos:

Rodyti tik nepažymėtus, paslėptus failus

 git rev-list -g stash | git rev-list --stdin --max-parents=0 | xargs git show --stat 
border=0

Žinoma, pašalinkite --stat kad pamatytumėte failų turinį.

Rasti konkretų failą

 git rev-list -g stash | xargs -n1 git ls-tree -r | sort -u | grep <pattern> 

Negrąžinti grep failai

 git rev-list -g stash | git rev-list --stdin --max-parents=0 | xargs git grep <pattern> 

Išvardykite visą visų žymių turinį.

 git rev-list -g stash | git rev-list --stdin | xargs git show --stat 
14
17 мая '14 в 16:55 2014-05-17 16:55 Atsakymą davė Steve gegužės 17 d. 14, 16:55 2014-05-17 16:55

Jei norite matyti visus piniginėje esančius failus (stebimus ir nepažymėtus), pridėjau šį slapyvardį prie mano konfigūracijos:

showstash = "!if test -z $1; then set -- 0; fi; git show --stat stash@{$1} git show --stat stash@{$1}^3 2>/dev/null || echo No untracked files -"

Reikalingas vienas argumentas , iš kurio norite peržiūrėti. Atkreipkite dėmesį, kad jis vis tiek rodys jį dviejuose „back-to-back“ sąrašuose.

if...fi skiltis pakeičia bash argumentą nuo $ 1 iki 0, jei nė vienas nepavyko.

4
09 июня '16 в 1:50 2016-06-09 01:50 Atsakymą pateikė Randall birželio 09 '16 at 1:50 2016-06-09 01:50

Jei norite išvardyti nepanaudotus failus brūkšnys:

git ls-tree -r stash@{0}^3 --name-only

Jei norite rodyti visą failų sklaidą be takelių (su turiniu):

git show stash@{0}^3


Šios komandos skaito paskutinę (paskutinę) talpyklą. Dėl ankstesnių vėlavimų padidinkite „stash @“ numerį, pvz., „ stash@{2} antrą iš paskutinės talpyklos.

Taip yra todėl, kad git stash sukuria kiekvienos talpyklos sujungimo pataisą, kuri gali būti nurodoma kaip stash@{0} , stash@{1} ir kt. Pirmasis šio įsipareigojimo tėvas yra HEAD per laiką, antrasis tėvas turi stebimų failų pakeitimus, o trečiasis (kuris gali nebūti) failų pakeitimų be pėdsakų.

Tai iš dalies paaiškinta skyriuje „Diskusijos“ .

3
04 авг. atsakymas duotas wisbucky 04 rug . 2015-08-04 04:04 '15, 04:04 2015-08-04 04:04

Sprendimas: failų kopijavimas prieš juos nukopijuojant padarys „ git stash show -p darbą kaip tikėtasi.

git add .
git stash save

Pastaba: šis metodas leidžia pridėti papildomų dalių, kaip tai padaryti .
Atsargiai: įsitikinkite, kad neturite anksčiau pristatyto darbo, arba negalite jį atskirti.
Tai gali būti naudinga.

0
07 окт. Atsakymas suteiktas naujojo_lido spalis 07 2016-10-07 13:11 '16 at 11:11 pm 2016-10-07 13:11

Kiti klausimai apie žymes arba Ask a question