Una domanda correlata How do you stash an untracked file? ha risposto con "traccia il file". Questo non funziona per i miei bisogni particolari, comunque.git: Posso nascondere un file non tracciato senza aggiungerlo all'indice?
Sto cercando di nascondere tutto ciò che non è nell'indice con git stash save --keep-index
in modo da poter convalidare l'indice nel mio hook pre-commit. L'idea è dall'esempio "Testing partial commits" della pagina man di git-stash. Voglio assicurarmi che ciò che sto effettivamente commettendo superi i test e non solo quello che è nella directory di lavoro. Ecco quello che ho finora:
echo "Running tests on the staging area."
git stash save --keep-index
# configure, build, run tests, clean
git stash pop; true
Questo sembra funzionare fino a quando non ho i file non ancora nella mia directory di lavoro che non vengono nascosto. Alcune ricerche hanno portato a una richiesta di funzionalità di due anni fa: Option to save untracked and/or ignored files in stash, ma nient'altro.
Devo usare la scorta? Forse c'è un modo migliore che coinvolge i rami temporanei o qualcosa del genere.
Suppongo che la mia definizione di "directory di lavoro" differisca da quella degli sviluppatori di git. Ho risolto il mio problema utilizzando git-checkout-index in una directory temporanea e costruendo lì. Preferirei comunque usare git-stash se possibile, comunque. –
Questa è sicuramente una strana definizione di "directory di lavoro". Vorrei anche considerare i nuovi file come parte della mia directory di lavoro. – allyourcode