Come posso creare un archivio del repository corrente includendo le modifiche locali non salvate utilizzando git archive
?Archivio Git dell'archivio con modifiche non modificate
risposta
So che questo è vecchio, ma penso di aver trovato una soluzione.
Run:
stashName=`git stash create`;
git archive <options> $stashName
Dal git vuole una solida impegnano a fare un archivio, possiamo fare un 'una tantum' commettere utilizzando git stash
. Il comando create
crea semplicemente il commit di stash (non ripristina la directory di lavoro o lo inserisce nello stack di riserva) e restituisce l'hash per esso.
Se si è preoccupati per lo spazio dal commit pendenti, è possibile pulirlo con un git gc --prune=now
. Altrimenti, aspetta solo 2 settimane e scomparirà.
Se non si sono impegnati i cambiamenti, allora git archive
non sarà di aiuto. Se vuoi solo un'istantanea della tua area di lavoro, la tua scommessa migliore è probabilmente la tar
.
Migliorare la risposta di nevsan per il mio scopo - per archiviare ultimo codice in ogni caso (commesso o no):
uploadStash=`git stash create`; git archive -o code_outgoing.zip ${uploadStash:-HEAD}
Risolto un errore: git stash create [now] restituisce sempre correttamente e non stampa nulla quando non ci sono file da riporre. Usa la sintassi di $ {var: -default} bash invece di fare affidamento sul codice di uscita. –
IIRC c'è un problema con questo, non elimina i file git-removed dall'archivio. –
Un'altra soluzione con git ls-files
:
git ls-files -z | xargs -0 tar -czvf archive.tar.gz
Questa è, a mio avviso, la migliore risposta. Tuttavia, consiglierei di usare l'opzione -z di ls-files e l'opzione -0 (zero) di xargs in modo tale che i nomi file con spazi siano gestiti correttamente: git ls-files -z | xargs -0 tar -czvf archive.tar.gz . – S2108887
Hai assolutamente ragione! Grazie. Ho aggiunto queste opzioni alla riga di comando. –
'git ls-files | tar Tczf - archive.tar.gz' non ha limiti imposti dal sistema sulla dimensione degli argomenti di un singolo comando. xargs non va bene per qualsiasi comando che devi veramente eseguire solo una volta per tutto. – jthill
- 1. Git pull cancellato modifiche non modificate
- 2. modifiche github non modificate per il commit
- 3. Git: controlla un ramo mantenendo le modifiche non modificate
- 4. Annullare la parte delle modifiche non modificate in git
- 5. Errore Git: modifiche non modificate per il commit
- 6. Ho perso le modifiche non modificate dopo aver effettuato un'unione
- 7. Gemfile.lock ha sempre modifiche non modificate per il commit
- 8. Git recuperare modifiche non
- 9. Come rimuovere le modifiche non modificate [differenza caratteri newline] in git?
- 10. Quali sono le modifiche non modificate in github?
- 11. Come annullare rapidamente le modifiche a fasi e non modificate in git?
- 12. Come ripristinare le modifiche non modificate in un file di un certo tipo in git
- 13. ripristina rispetto all'aggiornamento per le modifiche non modificate
- 14. git-archivio una sottodirectory -
- 15. Esportazione archivio git con sottomoduli (git archive all/recursive)
- 16. Eclipse Git Synchronize non visualizza le modifiche
- 17. Git: Lista modifiche non unite tutte in git
- 18. Git: commit modifiche parziali
- 19. Smart Git non mostra le modifiche locali
- 20. git colpa - ignorare le modifiche non
- 21. Creazione ramo Git con modifiche correnti
- 22. Qual è il modo più breve per scambiare le modifiche a fasi e non modificate in git?
- 23. Git Empty Commit senza modifiche
- 24. Git: Annulla le modifiche locali; aggiungi git. + git rm?
- 25. modifiche di git stash perse
- 26. non può commettere modifiche con gitextensions
- 27. Mostra numero di righe modificate per autore in git
- 28. Gestione di modifiche temporanee (da non commettere) in Git
- 29. git svn dcommit non trova modifiche e ripristinare la testa
- 30. svn diff: confronta le mie modifiche locali non modificate con una versione arbitraria del file dal repository
funziona bene, grazie! –