Git Ignore

1 λεπτά

Πίνακας περιεχομένων

  1. Γιατί .gitignore;
  2. Γρήγορη δημιουργία
  3. Κοινοί κανόνες
  4. Δοκιμή και επαλήθευση

1. Γιατί .gitignore;

Πρόβλημα: Το Git θέλει να παρακολουθεί ΟΛΑ τα αρχεία σας, ακόμα και τα άχρηστα:

  • Προσωρινά αρχεία (.tmp)
  • Φάκελοι build (node_modules/)
  • Ευαίσθητα αρχεία (.env)
  • Cache συστήματος (.DS_Store)

Λύση: .gitignore

  • Λίστα αρχείων/φακέλων προς αγνόηση
  • Το Git κάνει σαν να μην υπάρχουν

Επιστροφή στον πίνακα περιεχομένων

2. Γρήγορη δημιουργία

bash
mkdir demo-gitignore && cd demo-gitignore
git init

# Δημιουργία αρχείων δοκιμής
echo "print('app')" > app.py
echo "SECRET_KEY=123456" > .env
mkdir temp && echo "cache" > temp/cache.tmp
mkdir logs && echo "error logs" > logs/app.log

# Χωρίς .gitignore, το Git θέλει να παρακολουθεί τα πάντα
git status      # Προβολή όλων των αρχείων

# Δημιουργία .gitignore
cat > .gitignore << EOF
# Ευαίσθητα αρχεία
.env
*.secret

# Προσωρινοί φάκελοι  
temp/
logs/
build/

# Αρχεία συστήματος
.DS_Store
*.tmp
EOF

# Τώρα το Git αγνοεί αυτά τα αρχεία
git status      # Πιο καθαρό!

Επιστροφή στον πίνακα περιεχομένων

3. Κοινοί κανόνες

Χρήσιμα μοτίβα:

ΜοτίβοΑγνοεί
*.logΌλα τα αρχεία .log
temp/Ολόκληρο τον φάκελο temp
.env*Όλα τα αρχεία που αρχίζουν με .env
!important.logΕξαίρεση: κράτημα αυτού του αρχείου
build/**Όλα μέσα στο build αναδρομικά

Έτοιμα πρότυπα:

  • Python: __pycache__/, *.pyc, .env
  • Node.js: node_modules/, npm-debug.log
  • Java: *.class, target/

Επιστροφή στον πίνακα περιεχομένων

4. Δοκιμή και επαλήθευση

bash
# Επαλήθευση αν ένα αρχείο αγνοείται
git check-ignore -v .env            # Αν αγνοείται: εμφανίζει τον κανόνα
git check-ignore logs/app.log       # Αν αγνοείται: τίποτα δεν εμφανίζεται

# Επιβολή προσθήκης αγνοημένου αρχείου (αν είναι πραγματικά απαραίτητο)
git add -f fichier-ignore.tmp

# Προβολή όλων των μη αγνοημένων αρχείων
git ls-files

Χρυσός κανόνας: Δημιουργήστε το .gitignore στην ΑΡΧΗ του έργου!

Επιστροφή στον πίνακα περιεχομένων