Προβολή ένα διαγραμμένο αρχείο στο Git

ψήφοι
98

Έχω διαγραφεί ένα αρχείο με Git και στη συνέχεια να δεσμευτεί, έτσι ώστε το αρχείο δεν είναι πλέον σε αντίγραφο εργασίας μου. Θέλω να δούμε τα περιεχόμενα αυτού του αρχείου, αλλά όχι να τα επαναφέρετε στην πραγματικότητα. Πως μπορώ να το κάνω?

Δημοσιεύθηκε 08/09/2009 στις 17:11
χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
112

git show HEAD^:path/to/file

Μπορείτε να χρησιμοποιήσετε μια ρητή δεσμευτούν αναγνωριστικό ή HEAD~nνα δείτε παλιότερες εκδόσεις ή εάν υπήρξε περισσότερες από μία δεσμευτούν από τη στιγμή που θα διαγραφεί.

Απαντήθηκε 08/09/2009 στις 17:15
πηγή χρήστη

ψήφοι
6

Από τη στιγμή που δεν μπορούσε να θυμηθούμε την ακριβή διαδρομή, μπορείτε αντ 'αυτού να πάρει το SHA1 από το git ημερολόγιο τότε μπορείτε απλά να εκδώσει

 git cat-file -p <sha1>
Απαντήθηκε 02/05/2012 στις 00:55
πηγή χρήστη

ψήφοι
34

Εάν αυτό είναι ένα αρχείο που έχετε διαγράψει από λίγο καιρό και δεν θέλουν να κυνηγούν για την αναθεώρηση , μπορείτε να χρησιμοποιήσετε (το αρχείο είναι το όνομά του fooσε αυτό το παράδειγμα? Μπορείτε να χρησιμοποιήσετε μια πλήρη διαδρομή):

git show $(git rev-list --max-count=1 --all -- foo)^:foo

Η rev-listεπίκληση αναζητά όλες τις αναθεωρήσεις του foo, αλλά εμφανίζει μόνο μία. Από rev-listτις λίστες με αντίστροφη χρονολογική σειρά, τότε αυτό που αναφέρει είναι η τελευταία αναθεώρηση που άλλαξε foo, η οποία θα είναι η δεσμευτούν ότι διαγράφεται foo. (Αυτό βασίζεται στην υπόθεση ότι git δεν επιτρέπει σε ένα διαγραμμένο αρχείο πρέπει να αλλάξει και όμως εξακολουθούν να διαγραφεί.) Δεν μπορείτε να χρησιμοποιήσετε μόνο την αναθεώρηση που rev-listεπιστρέφει ως έχει , διότι fooδεν υπάρχει πλέον εκεί. Θα πρέπει να ρωτήσετε για το ένα λίγο πριν από το οποίο περιέχει την τελευταία αναθεώρηση του αρχείου, εξ ου και η ^σε git show.

Απαντήθηκε 01/11/2013 στις 11:31
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more