Δευτέρα, 25 Μαΐου 2009

Git: αναίρεση add πριν το αρχικό commit

Μόλις
  • έχω δημιουργήσει ένα git repository στο root κατάλογο ενός Eclipse (multi)project,
  • έχω φτιάξει τη λίστα στο αρχείο .gitignore με τους καταλόγους/αρχεία που δε θέλω να κάνει track το git
  • κι εκτελώ add στο repository.
Ωραία, τα αρχεία κώδικα προστέθηκαν στο index του repository tree. Πριν κάνω το αρχικό commit, ελέγχω ξανά το status του repository οπότε και βλέπω ότι ξέχασα να εξαιρέσω τον κρυφό κατάλογο .metadata που χρησιμοποιεί το Εclipse για το workspace του. >:| δεν το θέλω εκεί πέρα.

Ψάχνω πώς μπορώ ν'αναιρέσω tracking αρχείων στο git και πέφτω πάνω σ'ένα μήνυμα του Linus, όπου εξηγεί για ποιο λόγο είναι ασύμφορη & βλακώδης η τακτική tracking σε επίπεδο αρχείου από ένα versioning control system, καταλήγοντας:

In other words, I'm right. I'm always right, but sometimes I'm more right than other times. And dammit, when I say "files don't matter", I'm really really Right(tm)
:)

ΥΓ: Τελικά, λύση στο πρόβλημά μου βρήκα σε αυτό το thread. Σ'εμένα δούλεψε το εξής:
$ git rm -rf --cached .metadata/

Δεν υπάρχουν σχόλια: