Sto lavorando a un progetto in git, e so che in passato (molto prima che avessi il codice) esisteva un file chiamato exec.js
. Voglio vedere il contenuto di questo file. Conosco quale repository utilizzato per contenere questo file, ma non conosco il percorso esatto.Cerca e visualizza un file cancellato dal repository
risposta
È possibile utilizzare caratteri jolly in git log
:
git log -- *exec.js
vi darà tutti i messaggi di log quando un file chiamato exec.js
è stato modificato.
Una volta trovata la cancellazione commit (diciamo A
), si potrebbe
git checkout A -- *exec.js
Questo vi porterà l'ultima versione di exec.js
.
Se si desidera visualizzare la storia completa di exec.js
, è possibile utilizzare gitk
:
gitk -- *exec.js
Questo vi mostrerà tutte le modifiche di nuovo. Se sei particolarmente interessato a un commit, puoi fare clic con il pulsante destro del mouse sul file nella finestra di dialogo gitk
e selezionare lo strumento di diffusione esterna . Questo aprirà lo strumento di diffusione esterna con i file completi, non solo le patch.
È possibile cercare quel particolare file dentro la storia di registro utilizzando -
Se non si dispone di percorsofile poi
git log --diff-filter=D --summary | grep filename
Se avete percorsofile allora si può usare -
git log -- filepath
git log -n 1 -- filepath
e una volta ottenuta la revisione è possibile effettuare il checkout di quella particolare revisione per ottenere quel file
non avete letto la domanda, vero? Hanno detto che ** non conoscono ** il percorso. Questo è il filtro del percorso. Richiede il percorso. È quindi inutile. –
Non conosco il percorso e non avevo il codice quando il file è stato cancellato. – user429400
@JanHudec si .. ma naturalmente deve avere il percorso del repository git.user429400 no? –
Non c'è un modo semplice per elencare il nome completo di un file cancellato e il suo contenuto in uno o due comandi. Tuttavia, qui è un alias per iniziare:
$ git config --global alias.find-deleted-file '!f() { for c in `git rev-list HEAD`; do for fnm in `git diff-tree -r --diff-filter=D --name-only $c | grep -P ".*/$1"` ; do echo "$c $fnm" ; git show $c^:$fnm ; echo "" ; done ; done ; } ; f'
Questo renderà disponibile un Git find-deleted-file
alias che cercare un file cancellato (usando diff-tree
) con il nome del modello fornito di file (pattern matching fornito da grep -P
), visualizzando il commit il file è stato cancellato, il nome completo del file e il suo contenuto prima che fosse cancellato.
Utilizzando il seguente esempio cronologia del repository:
$ git log --all --graph --decorate --oneline --name-only
* 3f3cba1 (HEAD, master) I
I
* 4c8b369 H
E/H
* a008343 rm F
E/F
* 525a127 FG
E/F
E/G
* 3a10f93 initial
A
B
C
D
E/F
Si potrebbe cercare il eliminati F
file usando:
$ git find-deleted-file F
a008343eec91fe917078209d44ae93ee72fc5acb E/F
F
- 1. Ripristina il file cancellato dal repository
- 2. Come vedi quale commit ha cancellato un file dal repository?
- 3. Visualizza output console cancellato
- 4. Android: Ruota e visualizza l'immagine dal file
- 5. come recuperare un repository git remote accidentalmente cancellato dal repository locale
- 6. Richiamando un file cancellato localmente da Mercurial
- 7. Cerca nel repository SVN per un nome file
- 8. Come individuare e recuperare un file cancellato
- 9. Come rimuovere un repository git dal Browser Repository su Netbeans?
- 10. SVN recupera file cancellato
- 11. UIDocument cancellato spesso dal cloud
- 12. stato git per repository clonato mostra file cancellato
- 13. Cerca un repository biforcuto in GitHub
- 14. Cerca il file di testo e visualizza i risultati in un JPanel
- 15. Cerca XML con JavaScript e visualizza i risultati nella tabella
- 16. Git: Come salvare un file cancellato manualmente?
- 17. Recupera file cancellato da PhpStorm e SourceTree
- 18. Eliminazione di eventi dal calendario non cancellato
- 19. Come rimuovere i file dal repository GitHub?
- 20. Elimina tutti i file dal repository svn
- 21. Ottieni un file JSON dall'URL e visualizza
- 22. Recupera file mancanti dal repository remoto?
- 23. Scrittura Java in un file cancellato
- 24. Sfoglia e visualizza i file in un repository git senza clonazione
- 25. eliminazione di un file dal repository git utilizzando libgit2
- 26. Cerca file in Xcode
- 27. Ripristino cancellato di file Linux
- 28. Come eliminare un BLOB dal repository git
- 29. Git ignora il file cancellato sulla fusione
- 30. Cerca e sostituisci stringa in un file molto grande
Puoi anche fare un ** git diff * revision-before-delete * - * filepath *** per vedere il contenuto completo del file. (Avrà il "-" davanti a ogni riga, poiché ogni riga è stata cancellata dal file.) –