Προβολή του ιστορικού αλλαγών ενός αρχείου χρησιμοποιώντας την έκδοση του Git

Πώς μπορώ να δω το ιστορικό αλλαγών ενός μεμονωμένου αρχείου στο Git, με πλήρεις λεπτομέρειες σχετικά με το τι έχει αλλάξει;

Έχω φτάσει μέχρι:

git log -- [filename]

το οποίο μου δείχνει το ιστορικό των δεσμεύσεων του αρχείου, αλλά πώς μπορώ να δω το περιεχόμενο κάθε μίας από τις αλλαγές στο αρχείο;

Προσπαθώ να κάνω τη μετάβαση από το MS SourceSafe και αυτό συνήθιζε να είναι ένα απλό δεξί κλικshow history.

Μπορείτε να χρησιμοποιήσετε

git log -p filename

για να αφήσετε το git να δημιουργήσει τα μπαλώματα για κάθε καταγραφή.

Βλέπε

git help log

για περισσότερες επιλογές - μπορεί πραγματικά να κάνει πολλά ωραία πράγματα :) Για να λάβετε μόνο το diff για μια συγκεκριμένη δέσμευση μπορείτε να

git show HEAD 

ή οποιαδήποτε άλλη αναθεώρηση με αναγνωριστικό. Ή χρησιμοποιήστε

gitk

για να περιηγηθείτε οπτικά στις αλλαγές.

Σχόλια (10)

Το git whatchanged -p filename είναι επίσης ισοδύναμο με το git log -p filename σε αυτή την περίπτωση.

Μπορείτε επίσης να δείτε πότε μια συγκεκριμένη γραμμή κώδικα μέσα σε ένα αρχείο άλλαξε με το git blame filename. Αυτό θα εκτυπώσει ένα σύντομο αναγνωριστικό δέσμευσης, τον συγγραφέα, τη χρονοσφραγίδα και την πλήρη γραμμή κώδικα για κάθε γραμμή στο αρχείο. Αυτό είναι πολύ χρήσιμο αφού έχετε βρει ένα σφάλμα και θέλετε να μάθετε πότε εισήχθη (ή ποιος έφταιγε).

Σχόλια (2)

Αν χρησιμοποιείτε το GUI του git (στα Windows) στο μενού Αποθετήριο μπορείτε να χρησιμοποιήσετε το "Visualize master's History". Επισημάνετε ένα commit στο επάνω παράθυρο και ένα αρχείο στο κάτω δεξιά και θα δείτε το diff για το συγκεκριμένο commit στο κάτω αριστερά.

Σχόλια (2)